Exemple #1
0
def setup_order():
    order = Order(1)
    order.add_side(Side("Fries", 1, 10), 1)
    order.add_side(Side("Cake", 3, 10), 2)
    order.add_drink(Drink("Juice", 3, 10), 2)
    order.add_drink(Drink("Soda", 3, 10), 1)
    burger = Burger()
    burger.add_ingredient(Ingredient("Patty", 1, 10), 1)
    burger.add_ingredient(Ingredient("Cheese", 1, 10), 2)
    order.add_creation(burger)
    return order
Exemple #2
0
class TestAddToOrder():
    def setup_method(self):
        self.order = Order(1)

    def test_add_creation(self):
        new_creation = Burger()
        self.order.add_creation(new_creation)
        assert len(self.order.creations) == 1
        assert self.order.creations[0] == new_creation

    def test_add_multiple_creations(self):
        creation1 = Burger()
        creation2 = Wrap()
        self.order.add_creation(creation1)
        self.order.add_creation(creation2)
        assert len(self.order.creations) == 2
        assert creation1 in self.order.creations
        assert creation2 in self.order.creations

    def test_add_side_successful(self):
        new_side = Side("Fries", 1, 10)
        self.order.add_side(new_side, 2)
        assert len(self.order.sides) == 1
        assert self.order.sides[new_side] == 2

    def test_add_drink_successful(self):
        new_drink = Drink("Juice", 1, 10)
        self.order.add_drink(new_drink, 2)
        assert len(self.order.drinks) == 1
        assert self.order.drinks[new_drink] == 2

    def test_add_side_over_limit(self):
        new_side = Side("Fries", 1, 10, 2)
        with pytest.raises(LimitError):
            self.order.add_side(new_side, 3)

    def test_add_drink_over_limit(self):
        new_drink = Drink("Juice", 1, 10, 2)
        with pytest.raises(LimitError):
            self.order.add_drink(new_drink, 3)

    def test_add_side_over_quantity(self):
        new_side = Side("Fries", 1, 10)
        with pytest.raises(QuantityError):
            self.order.add_side(new_side, 20)

    def test_add_drink_over_quantity(self):
        new_drink = Drink("Juice", 1, 10)
        with pytest.raises(QuantityError):
            self.order.add_drink(new_drink, 20)
Exemple #3
0
class TestShowOrderStatus():  #US5
    def setup_method(self):
        self.order = Order(1)
        self.order.add_side(Side("Fries", 1, 10), 1)
        self.order.add_side(Side("Cake", 3, 10), 2)
        self.order.add_drink(Drink("Juice", 3, 10), 2)
        self.order.add_drink(Drink("Soda", 3, 10), 1)
        burger = Burger()
        burger.add_ingredient(Ingredient("Patty", 1, 10), 1)
        burger.add_ingredient(Ingredient("Cheese", 1, 10), 2)
        self.order.add_creation(burger)

    def test_status_str(self):
        assert self.order.status_str(
        ) == "Order ID 1 is currently being prepared."
        self.order.set_status(True)
        assert self.order.status_str(
        ) == "Order ID 1 is ready to be picked up."