def test_filter_ingredients_by_name(self):
     populate_beers(3)
     query_ingredients = BeerIngredients.filter_ingredient_name('cevada')
     serialized = ingredients_serializer(query_ingredients, True)
     expected = [
         {'beer_id': 1, 'id': 1, 'ingredient_name': 'cevada'},
         {'beer_id': 2, 'id': 5, 'ingredient_name': 'cevada'},
         {'beer_id': 3, 'id': 8, 'ingredient_name': 'cevada'}
     ]
     assert len(serialized) == 3
     for i in range(0, 3):
         assert serialized[i] == expected[i]
Example #2
0
    def get(beer_id):
        query_beer = BeerModel.get_beer_id(beer_id)
        if not query_beer:
            error_does_not_exist(None, beer_id)

        serialized = beers_serializer(query_beer, False)
        query_filter = IngredientsModel.filter_beer_id(beer_id)

        count = 0
        ingredients_list = []
        for item in query_filter:
            ingredients_list.append(ingredients_serializer(item, False))
            serialized['ingredients'] = ingredients_list
            count += 1
        return resp_content_successfully(serialized)
Example #3
0
    def put(self, ingredient_id):
        ingredient_name = self.ingredients_args['ingredient_name']
        beer_id = self.ingredients_args['beer_id']

        query_ingredient = IngredientsModel.get_ingredient_id(ingredient_id)
        if not query_ingredient:
            return error_does_not_exist(None, ingredient_id)

        query_filter = IngredientsModel.filter_beer_id(beer_id)
        serialized = ingredients_serializer(query_filter, True)
        for item in serialized:
            if item['ingredient_name'] == ingredient_name:
                return error_already_exists()

        data = {'ingredient_name': ingredient_name, 'beer_id': beer_id}
        IngredientsModel.update(query_ingredient, data)
        return resp_successfully('Ingredient', 201)
Example #4
0
    def post(self):
        ingredient_name = self.ingredients_args['ingredient_name']
        beer_id = self.ingredients_args['beer_id']

        query_filter = IngredientsModel.filter_beer_id(beer_id)
        if not query_filter:
            error_does_not_exist(None, beer_id)

        serialized = ingredients_serializer(query_filter, True)
        for item in serialized:
            if item['ingredient_name'] == ingredient_name:
                return error_already_exists()

        ingredients = IngredientsModel(ingredient_name=ingredient_name,
                                       beer_id=beer_id)
        ingredients.save()
        return resp_successfully('Ingredient', 201)
    def test_update_ingredients(self):
        populate_beers(3)
        new_beers = beers_data[1]
        new_ingredients = ingredients_data[2]['ingredients'][0]['names']

        query_beer = Beer.get_beer_id(2)
        query_ingredients = BeerIngredients.filter_beer_id(query_beer.id)
        count = 0
        for ingredient in new_ingredients:
            data_ingredients = {
                'ingredient_name': ingredient,
                'beer_id': query_beer.id
            }
            query_ingredient = query_ingredients[count]
            BeerIngredients.update(query_ingredient, data_ingredients)
            count += 1

        Beer.update(query_beer, new_beers)

        query_update_ingredients = BeerIngredients.filter_beer_id(query_beer.id)
        serialized = ingredients_serializer(query_update_ingredients, True)
        for r in range(0, len(serialized)):
            assert serialized[r]['ingredient_name'] == new_ingredients[r]
 def test_filter_by_beer_id(self):
     populate_beers(3)
     query_beer_id = BeerIngredients.filter_beer_id(1)
     serialized = ingredients_serializer(query_beer_id, True)
     assert serialized[0]['beer_id'] == 1
 def test_get_ingredient_by_id(self):
     populate_beers(3)
     query_ingredient = BeerIngredients.get_ingredient_id(1)
     serialized = ingredients_serializer(query_ingredient, False)
     assert serialized['beer_id'] == 1
     assert serialized['ingredient_name'] == 'cevada'
 def test_get_ingredients(self):
     populate_beers(3)
     query_ingredients = BeerIngredients.get_ingredients()
     serialized = ingredients_serializer(query_ingredients, True)
     assert serialized[0]['beer_id'] == 1
     assert serialized[0]['ingredient_name'] == 'cevada'