Exemple #1
0
 def test_return_number_if_decimal_number_scale(self):
     assert scaler.get_scale_factor(
         TestGetScaleFactor.make_param('0.5')) == 0.5
     assert scaler.get_scale_factor(
         TestGetScaleFactor.make_param('.5')) == 0.5
     assert scaler.get_scale_factor(
         TestGetScaleFactor.make_param('1.5')) == 1.5
Exemple #2
0
 def test_ignore_large_scales(self):
     assert scaler.get_scale_factor(
         TestGetScaleFactor.make_param('50')) == 50
     assert scaler.get_scale_factor(
         TestGetScaleFactor.make_param('51')) == None
     assert scaler.get_scale_factor(
         TestGetScaleFactor.make_param('1000')) == None
Exemple #3
0
 def test_ignore_silly_scale(self):
     assert scaler.get_scale_factor(
         TestGetScaleFactor.make_param('1')) == None
     assert scaler.get_scale_factor(
         TestGetScaleFactor.make_param('0')) == None
     assert scaler.get_scale_factor(
         TestGetScaleFactor.make_param('1.0')) == None
     assert scaler.get_scale_factor(
         TestGetScaleFactor.make_param('0.0')) == None
     assert scaler.get_scale_factor(
         TestGetScaleFactor.make_param('-1')) == None
     assert scaler.get_scale_factor(
         TestGetScaleFactor.make_param('-1.0')) == None
Exemple #4
0
    def GET(self, name):
        if name.lower() != name:
            return web.redirect(name.lower())

        response = requests.get(backendBaseUrl + 'recipes/' + name)

        if response.status_code == 200:
            recipe = response.json()

            scale_factor = scaler.get_scale_factor(web.input())
            if scale_factor:
                recipe['ingredients'] = list(
                    map(lambda i: scaler.scale_ingredient(i, scale_factor),
                        recipe['ingredients']))
            else:
                scale_factor = 1
            return templates.recipe(recipe, scale_factor)
        else:
            raise web.notfound()
Exemple #5
0
 def test_return_number_if_numeric_scale(self):
     assert scaler.get_scale_factor(TestGetScaleFactor.make_param('2')) == 2
     assert scaler.get_scale_factor(TestGetScaleFactor.make_param('5')) == 5
     assert scaler.get_scale_factor(
         TestGetScaleFactor.make_param('20')) == 20
Exemple #6
0
 def test_return_nothing_if_non_numeric(self):
     req_params = TestGetScaleFactor.make_param('lol')
     assert scaler.get_scale_factor(req_params) == None
Exemple #7
0
 def test_return_nothing_if_no_param(self):
     assert scaler.get_scale_factor({}) == None