Implement Unit 1

Implement test_mul unit test for the multiply method in logic.Calculator, then flesh out logic.Calculator.mul until test passes.
Implement Unit 2

test_mul as a test is rather coarse. A better test would be in the form
test_function_satisfies_condition_after_pre-condition. Implement the
tests test_mul_with_two_positive_numbers,
test_mul_with_two_negative_numbers,
test_mul_with_one_negative_one_positive_number.
Implement Unit 3

The constructor of logic.Calculator takes two arguments min_value and
max_value. Change the class so that it's methods throw the exceptions in
logic.py when confronted with numbers that are too high or too low.
Implement Unit 4

Make sure to add tests to check the boundary of min_value and max_value.
Implement Unit 5

logic.Calculator contains another method stub: div. This method should
divide a by b, but it is just a stub now. Write corresponding tests for
the method, as you've written for logic.Calculator.mul, then implement
the method to pass your tests.
Implement Unit 6

Division has more caveats than multiplication. Python will raise an
exception of type ZeroDivisionError when you attempt to divide by zero,
write a test asserts that your Calculator class does not suppress them.
pep8
Implement Integration 1 and 2

If by now the multiplication logic has been correctly implemented,
the test_multiply integration test should be passing. Implement
integration tests which verify the responses for valid and invalid
inputs (think about the boundaries of max and min values).
Implemented Integration 3

Make sure that for requests that attempt to divide by zero that the
calculator app returns an appropriate 403 response.