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]
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)
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)
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'