コード例 #1
0
    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
コード例 #2
0
    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))
コード例 #4
0
    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)
コード例 #5
0
    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
コード例 #6
0
 def test_update_prices(self):
     drink = Drink("drink", 0, "Diet Coke")
     drink.update_prices()
     assert drink.price == 1.0
コード例 #7
0
 def test_get_id(self):
     drink = Drink("drink", 0, "Diet Coke")
     drink.set_id(1)
     assert drink.get_id() == 1
コード例 #8
0
 def test_create_drink(self):
     drink = Drink("drink", 0, "Diet Coke")
     assert isinstance(drink, Drink)
コード例 #9
0
 def test_update_brand(self):
     drink = Drink("drink", 0, "Diet Coke")
     drink.update_brand("Coke Zero")
     assert drink.brand == "Coke Zero"