def test_get_beer(client, session): populate_beers(3) response = client.get('/api/v1/beers/1') assert response.status_code == 200 resp_json = response.get_json() assert resp_json['id'] == 1
def test_filter_beer_by_ingredient(client, session): populate_beers(3) response = client.get('/api/v1/beers?ingredient=cevada') assert response.status_code == 200 resp_json = response.get_json() assert len(resp_json) == 3
def test_filter_beer_by_color(self): populate_beers(2) beer_color = beers_data[0]['color'] query_filter_color = Beer.filter_beer_color(beer_color) serialized = beers_serializer(query_filter_color, True) assert serialized[0]['color'] == beers_data[0]['color'] assert serialized[0]['beer_name'] == beers_data[0]['beer_name']
def test_filter_beer_by_name(self): populate_beers(2) beer_name = beers_data[0]['beer_name'] query_filter_name = Beer.filter_beer_name(beer_name) serialized = beers_serializer(query_filter_name, True) assert serialized[0]['id'] == 1 assert serialized[0]['beer_name'] == beers_data[0]['beer_name']
def test_filter_beer_by_alcohol(self): populate_beers(2) beer_alcohol = beers_data[0]['alcohol'] query_filter_alcohol = Beer.filter_beer_alcohol(beer_alcohol) serialized = beers_serializer(query_filter_alcohol, True) assert serialized[0]['alcohol'] == beers_data[0]['alcohol'] assert serialized[0]['beer_name'] == beers_data[0]['beer_name']
def test_filter_beer_by_temperature(self): populate_beers(2) beer_temperature = beers_data[0]['temperature'] query_filter_temperature = Beer.filter_beer_temperature(beer_temperature) serialized = beers_serializer(query_filter_temperature, True) assert serialized[0]['temperature'] == beers_data[0]['temperature'] assert serialized[0]['beer_name'] == beers_data[0]['beer_name']
def test_update_beer_not_exist_ingredients(client, session): populate_beers(2) update_beer = { 'beer_name': 'Skoll', 'description': 'A Cerveja Adriática 600ml foi criada pelo alemão Henrique Thielen, um visionário cervejeiro do início do século XX, ela teve seu nome em homenagem a cervejaria que traduz toda uma era de tradição passada de pai para filho. Hoje, conhecida como a irmã mais velha da Original, ela é uma cerveja pedida certa para a mesa de bar. Reconhecidamente uma cerveja puro malte de alta qualidade, fácil de beber e com aromas especiais que dão um toque equilibrado!.', 'harmonization': 'Ela é leve e refrescante, por isso harmoniza muito bem com pratos leves! Assim, um sabor não vai sobrepor o outro!', 'color': 'clara', 'alcohol': '3', 'temperature': '4', 'ingredients': { 'list': [ { 'ingredient_name': 'cevada', 'id': 55 }, { 'ingredient_name': 'lupulo', 'id': 100 }, { 'ingredient_name': 'malte', 'id': 49 }, ] } } _id = 1 response = client.put(f'{api_url}/{_id}', json=update_beer) assert response.status_code == 404 expected = {'error': '55 does not exist.'} resp_json = response.get_json() assert resp_json == expected
def test_update_beer(self): populate_beers(2) new_data = update_beer query_beer = Beer.get_beer_id(1) Beer.update(query_beer, new_data) get_beer = Beer.get_beer_id(1) assert get_beer.id == 1 assert get_beer.beer_name == new_data['beer_name']
def test_get_beer_not_exist(client, session): populate_beers(3) response = client.get('/api/v1/beers/10') assert response.status_code == 404 expected = {'error': '10 does not exist.'} resp_json = response.get_json() assert resp_json['error'] == expected['error']
def test_filter_beer_by_name_not_exist(client, session): populate_beers(3) response = client.get('/api/v1/beers?beer_name=kaiser') assert response.status_code == 404 expected = {'error': 'kaiser does not exist.'} resp_json = response.get_json() assert resp_json['error'] == expected['error']
def test_delete_ingredients(self): populate_beers(3) query_ingredients = BeerIngredients.filter_beer_id(1) for query in query_ingredients: ingredient = BeerIngredients.get_ingredient_id(query.id) ingredient.delete() query_ingredients = BeerIngredients.filter_beer_id(1) assert len(query_ingredients) == 0
def test_delete_beer(client, session): populate_beers(3) _id = 1 response = client.delete(f'{api_url}/{_id}') assert response.status_code == 202 expected = {'message': 'Beer deleted successfully!'} resp_json = response.get_json() assert resp_json == expected
def test_delete_beer_not_exist(client, session): populate_beers(3) _id = 10 response = client.delete(f'{api_url}/{_id}') assert response.status_code == 404 expected = {'error': '10 does not exist.'} resp_json = response.get_json() assert resp_json == expected
def test_create_new_ingredient_not_exist_beer_id(client, session): populate_beers(3) new_ingredient = {'ingredient_name': 'aveia', 'beer_id': 10} response = client.post(api_url, json=new_ingredient) assert response.status_code == 404 expected = {'error': '10 does not exist.'} resp_json = response.get_json() assert resp_json == expected
def test_create_new_ingredient(client, session): populate_beers(3) new_ingredient = {'ingredient_name': 'mirtilo', 'beer_id': 1} response = client.post(api_url, json=new_ingredient) assert response.status_code == 201 expected = {'message': 'Ingredient created successfully!'} resp_json = response.get_json() assert resp_json == expected
def test_create_new_ingredient_already_exists(client, session): populate_beers(3) new_ingredient = {'ingredient_name': 'cevada', 'beer_id': 1} response = client.post(api_url, json=new_ingredient) assert response.status_code == 400 expected = {'error': 'An ingredient with this name already exists.'} resp_json = response.get_json() assert resp_json == expected
def test_update_ingredient(client, session): populate_beers(3) data = {'beer_id': 1, 'ingredient_name': 'abacate'} _id = 1 response = client.put(f'{api_url}/{_id}', json=data) assert response.status_code == 201 expected = {'message': 'Ingredient created successfully!'} resp_json = response.get_json() assert resp_json == expected
def test_update_ingredient_not_exist(client, session): populate_beers(3) data = {'beer_id': 1, 'ingredient_name': 'trigo'} _id = 50 response = client.put(f'{api_url}/{_id}', json=data) assert response.status_code == 404 expected = {'error': '50 does not exist.'} resp_json = response.get_json() assert resp_json == expected
def test_update_ingredient_already_exist(client, session): populate_beers(3) data = {'beer_id': 1, 'ingredient_name': 'cevada'} _id = 1 response = client.put(f'{api_url}/{_id}', json=data) assert response.status_code == 400 expected = {'error': 'An ingredient with this name already exists.'} resp_json = response.get_json() assert resp_json == expected
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 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_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'
def test_create_ingredients(self): populate_beers(3) get_ingredients = BeerIngredients.get_ingredient_id(1) assert get_ingredients.id == 1 assert get_ingredients.ingredient_name == 'cevada'
def test_filter_beer_by_temperature(client, session): populate_beers(3) response = client.get('/api/v1/beers?temperature=4') assert response.status_code == 200
def test_filter_beer_by_ingredient_not_exist(client, session): populate_beers(3) response = client.get('/api/v1/beers?ingredient=uva') assert response.status_code == 404
def test_list_all_beers(self): populate_beers(2) get_all_beers = Beer.get_beers() serialized = beers_serializer(get_all_beers, True) assert len(serialized) > 0 assert serialized[0]['beer_name'] == beers_data[0]['beer_name']
def test_delete_beer(self): populate_beers(2) query_beer = Beer.get_beer_id(1) query_beer.delete() get_beer = Beer.get_beer_id(1) assert get_beer is None
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_create_beer(self): populate_beers(2) get_beer = Beer.get_beer_id(1) assert get_beer.id == 1 assert get_beer.beer_name == beers_data[0]['beer_name']