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_update_beer_not_exist_ingredients(self, client): populate_beers(2) response = client.put(f'{API_URL}/1', json=UPDATE_BEER_NOT_EXIST_INGREDIENT) assert response.status_code == 404 response_json = response.get_json() assert response_json == EXPECTED_BEER_NOT_EXIST_INGREDIENT
def test_update_beer(self): populate_beers(2) query_beer = Beer.get_beer_id(1) Beer.update(query_beer, NEW_BEER_DATA) get_beer = Beer.get_beer_id(1) assert get_beer.id == 1 assert get_beer.beer_name == NEW_BEER_DATA['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_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_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 str(serialized[0]['alcohol']) == str( float(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 str(serialized[0]['temperature']) == str( float(BEERS_DATA[0]['temperature'])) assert serialized[0]['beer_name'] == BEERS_DATA[0]['beer_name']
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_filter_beer_by_ingredient_not_exist(self, client): populate_beers(3) response = client.get(f'{API_URL}?ingredient=uva') assert response.status_code == 404 response_json = response.get_json() assert response_json == EXPECTED_INGREDIENT_NOT_EXIST
def test_delete_ingredient_not_exist(self, client): populate_beers(3) response = client.delete(f'{API_URL}/30') assert response.status_code == 404 response_json = response.get_json() assert response_json == EXPECTED_INGREDIENT_NOT_EXIST
def test_filter_beer_by_alcohol_not_exist(self, client): populate_beers(3) response = client.get('/api/v1/beers?alcohol=10') assert response.status_code == 404 response_json = response.get_json() assert response_json == EXPECTED_ALCOHOL_NOT_EXIST
def test_filter_beer_by_name_not_exist(self, client): populate_beers(3) response = client.get(f'{API_URL}?beer_name=kaiser') assert response.status_code == 404 response_json = response.get_json() assert response_json == EXPECTED_KAISER_NOT_EXIST
def test_get_beer(self, client): populate_beers(3) response = client.get(f'{API_URL}/1') assert response.status_code == 200 response_json = response.get_json() assert response_json['id'] == 1
def test_filter_beer_by_temperature(self, client): populate_beers(3) response = client.get(f'{API_URL}?temperature=4') assert response.status_code == 200
def test_filter_beer_by_color(self, client): populate_beers(3) response = client.get(f'{API_URL}?color=clara') assert response.status_code == 200 resp_json = response.get_json() assert len(resp_json) == 2
def test_get_beers(self, client): populate_beers(3) response = client.get(f'{API_URL}') assert response.status_code == 200 response_json = response.get_json() assert len(response_json) == 3
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_filter_beer_by_name(self, client): populate_beers(3) response = client.get(f'{API_URL}?beer_name=Skoll') assert response.status_code == 200
def test_create_new_ingredient(self, client): populate_beers(3) response = client.post(API_URL, json=NEW_INGREDIENT) assert response.status_code == 201 response_json = response.get_json() assert response_json == EXPECTED_INGREDIENT_CREATED_SUCCESSFULLY
def test_filter_beer_by_alcohol(self, client): populate_beers(3) response = client.get(f'{API_URL}?alcohol=3') assert response.status_code == 200
def test_update_ingredient(self, client): populate_beers(3) response = client.put(f'{API_URL}/1', json=UPDATE_INGREDIENT_DATA) assert response.status_code == 201 response_json = response.get_json() assert response_json == EXPECTED_INGREDIENT_UPDATED_SUCCESSFULLY
def test_filter_beer_by_ingredient(self, client): populate_beers(3) response = client.get(f'{API_URL}?ingredient=cevada') assert response.status_code == 200 response_json = response.get_json() assert len(response_json) == 3
def test_delete_ingredient(self, client): populate_beers(3) response = client.delete(f'{API_URL}/1') assert response.status_code == 202 response_json = response.get_json() assert response_json == EXPECTED_INGREDIENT_DELETED_SUCCESSFULLY
def test_get_beer_not_exist(self, client): populate_beers(3) response = client.get(f'{API_URL}/4') assert response.status_code == 404 response_json = response.get_json() assert response_json == EXPECTED_BEER_NOT_EXIST
def test_create_new_ingredient_not_exist_beer_id(self, client): populate_beers(3) response = client.post(API_URL, json=NEW_INGREDIENT_NOT_EXIST_DATA) assert response.status_code == 404 response_json = response.get_json() assert response_json == EXPECTED_BEER_NOT_EXIST
def test_filter_beer_by_color_not_exist(self, client): populate_beers(3) response = client.get('/api/v1/beers?color=blue') assert response.status_code == 404 response_json = response.get_json() assert response_json == EXPECTED_COLOR_NOT_EXIST
def test_create_new_ingredient_already_exists(self, client): populate_beers(3) response = client.post(API_URL, json=INGREDIENT_ALREADY_EXISTS) assert response.status_code == 400 response_json = response.get_json() assert response_json == EXPECTED_INGREDIENT_ALREADY_EXISTS
def test_filter_beer_by_temperature_not_exist(self, client): populate_beers(3) response = client.get(f'{API_URL}?temperature=55') assert response.status_code == 404 response_json = response.get_json() assert response_json == EXPECTED_TEMPERATURE_NOT_EXIST
def test_update_ingredient_already_exist(self, client): populate_beers(3) response = client.put(f'{API_URL}/1', json=INGREDIENT_ALREADY_EXISTS) assert response.status_code == 400 response_json = response.get_json() assert response_json == EXPECTED_INGREDIENT_ALREADY_EXISTS