def test_is_pizza(self): '''Tests if is_pizza gives meaningful info about the Product type ''' pizza1 = Pizza("pepperoni_pizza", 5.0, "medium") drink1 = Drink("drink", 0, "Coke") PP.order_fac.create_new_order() PP.order_fac.create_new_order() PP.order_fac.add_to_order(2, [pizza1]) PP.order_fac.create_new_order() PP.order_fac.add_to_order(3, [drink1]) # Tests if it returns True when it is a pizza response = self.client.get('/item_type/2/1') assert response.status_code == 200 assert ("True").encode('utf-8') in response.data # Tests if it returns False when it is a drink response = self.client.get('/item_type/3/1') assert response.status_code == 200 assert ("False").encode('utf-8') in response.data # Tests if it returns None when the order does not exist response = self.client.get('/item_type/4/1') assert response.status_code == 200 assert ("None").encode('utf-8') in response.data # Tests if it returns None when the product does not exist response = self.client.get('/item_type/1/1') assert response.status_code == 200 assert ("None").encode('utf-8') in response.data
def test_update_pizza(self): '''Tests if update_pizza does as its name implies ''' pizza1 = Pizza( "pepperoni_pizza", 5.0, "medium") #, toppings = ['pepperoni','tomatoes','mushroom']) pizza2 = Pizza("custom_pizza", 5.0, "medium", toppings=['olives', 'tomatoes', 'tomatoes']) drink1 = Drink("drink", 0, "Coke") PP.order_fac.create_new_order() PP.order_fac.add_to_order(1, [pizza1]) PP.order_fac.create_new_order() PP.order_fac.add_to_order(2, [pizza2]) PP.order_fac.create_new_order() PP.order_fac.add_to_order(3, [drink1, pizza2]) # Tests if it updates the type of an existing pizza data = { 'order_number': 1, 'item_number': 1, 'type': 'vegetarian_pizza' } response = self.client.post('/update_pizza/type', data=data) assert response.status_code == 200 assert 'vegetarian' in PP.order_fac.orders[0].get_item_by_id(1) # Tests if it updates the size of an existing pizza data = {'order_number': 1, 'item_number': 1, 'pizza_size': 'large'} response = self.client.post('/update_pizza/size', data=data) assert response.status_code == 200 assert 'large' in PP.order_fac.orders[0].get_item_by_id(1) # Tests if it updates the toppings of an existing pizza data = { 'order_number': 1, 'item_number': 1, 'toppings': ['jalapenos', 'tomatoes', 'mushroom'], 'add_or_remove': 'add' } response = self.client.post('/update_pizza/toppings', data=data) assert response.status_code == 200 assert 'jalapenos' in PP.order_fac.orders[0].get_item_by_id(1) data = { 'order_number': 1, 'item_number': 1, 'toppings': ['jalapenos', 'jalapenos', 'jalapenos', 'tomatoes'], 'add_or_remove': 'remove' } response = self.client.post('/update_pizza/toppings', data=data) assert response.status_code == 200 assert 'jalapenos' not in PP.order_fac.orders[0].get_item_by_id(1)
def create_drink(): ''' Edits the item indicated in the update_type way using the provided data. ''' if request.method == 'POST': order_number = request.form.get('order_number',type=int) quantity = request.form.get('quantity',type=int) drinks = request.form.getlist('drinks',type=str) items = [] for i in range(0, int(quantity)): items.append(Drink("drink", 0, drinks[i])) return(order_fac.add_to_order(order_number, items))
def test_update_drink(self): '''Tests if update_drink does as its name implies ''' drink1 = Drink("drink", 0, "Coke") PP.order_fac.create_new_order() PP.order_fac.add_to_order(1, [drink1]) # Tests if it updates the type of an existing drink data = {'order_number': 1, 'item_number': 1, 'drink_brand': 'Pepsi'} response = self.client.post('/update_drink/brand', data=data) assert response.status_code == 200 assert 'Pepsi' in PP.order_fac.orders[0].get_item_by_id(1)
def test_get_toppings(self): '''Tests if get_toppings gives the toppings of the given pizza ''' pizza1 = Pizza("pepperoni_pizza", 5.0, "medium", toppings=['pepperoni', 'tomatoes', 'mushroom']) pizza2 = Pizza("custom_pizza", 5.0, "medium", toppings=['olives', 'tomatoes', 'tomatoes']) drink1 = Drink("drink", 0, "Coke") PP.order_fac.create_new_order() PP.order_fac.create_new_order() PP.order_fac.add_to_order(2, [pizza1]) PP.order_fac.create_new_order() PP.order_fac.add_to_order(3, [drink1, pizza2]) # Tests if it returns the right dict for a pizza response = self.client.get('/get_toppings/2/1') assert response.status_code == 200 toppings = {'pepperoni': 1, 'tomatoes': 1, 'mushroom': 1} for key in toppings: assert key.encode('utf-8') in response.data assert str(toppings[key]).encode('utf-8') in response.data # Tests if it returns the right dict for a pizza with multiples response = self.client.get('/get_toppings/3/2') assert response.status_code == 200 toppings = {'olives': 1, 'tomatoes': 2} for key in toppings: assert key.encode('utf-8') in response.data assert str(toppings[key]).encode('utf-8') in response.data # Tests if it returns None when the item is a drink response = self.client.get('/get_toppings/3/1') assert response.status_code == 200 assert ("None").encode('utf-8') in response.data # Tests if it returns None when the order does not exist response = self.client.get('/get_toppings/4/1') assert response.status_code == 200 assert ("None").encode('utf-8') in response.data # Tests if it returns None when the product does not exist response = self.client.get('/item_type/1/1') assert response.status_code == 200 assert ("None").encode('utf-8') in response.data
def test_update_prices(self): drink = Drink("drink", 0, "Diet Coke") drink.update_prices() assert drink.price == 1.0
def test_get_id(self): drink = Drink("drink", 0, "Diet Coke") drink.set_id(1) assert drink.get_id() == 1
def test_create_drink(self): drink = Drink("drink", 0, "Diet Coke") assert isinstance(drink, Drink)
def test_update_brand(self): drink = Drink("drink", 0, "Diet Coke") drink.update_brand("Coke Zero") assert drink.brand == "Coke Zero"