def order_fixture(): o = Order() o.add_main(burger) o.add_others(side, 1) o.add_others(drink, 1) return o
def test_checkout_all(self, restaurant_fixture): order = Order() #adding a burger burger = Burger() bun = restaurant_fixture.menu.get_item("Bun") patty = restaurant_fixture.menu.get_item("Patty") cheese = restaurant_fixture.menu.get_item("Cheese") burger.add_item(bun, 2) burger.add_item(patty, 1) burger.add_item(cheese, 1) order.add_main(burger) #adding sides and drinks coke = restaurant_fixture.menu.get_item("Canned Coke") nugget = restaurant_fixture.menu.get_item("Small Chicken Nugget") order.add_others(coke, 1) order.add_others(nugget, 1) #placing the order and checking out restaurant_fixture.place_order(order) restaurant_fixture.checkout(1) assert restaurant_fixture.inventory.items[0].quantity == 98 assert restaurant_fixture.inventory.items[1].quantity == 99 assert restaurant_fixture.inventory.items[2].quantity == 99 assert restaurant_fixture.inventory.items[3].quantity == 99 assert restaurant_fixture.inventory.items[4].quantity == 94 assert len(restaurant_fixture.orders) == 1
def test_add_one_sides_one_drinks(): o = Order() o.add_others(side, 1) o.add_others(drink, 1) assert len(o) == 2 assert len(o.others) == 2 assert o.total_price == 20
def test_checkout_sides_and_drink(self, restaurant_fixture): order = Order() coke = restaurant_fixture.menu.get_item("Canned Coke") nugget = restaurant_fixture.menu.get_item("Small Chicken Nugget") order.add_others(coke, 1) order.add_others(nugget, 1) restaurant_fixture.place_order(order) restaurant_fixture.checkout(1) chick_inv = restaurant_fixture.inventory.get_item("Chicken Nugget") coke_inv = restaurant_fixture.inventory.get_item("Coke") assert chick_inv.quantity == 94 assert coke_inv.quantity == 99 assert len(restaurant_fixture.orders) == 1
def test_add_one_sides(): o = Order() o.add_others(side, 1) assert len(o) == 1 assert len(o.others) == 1 assert o.total_price == 10
def test_add_inventory_sides_limit(): o = Order() with pytest.raises(ValueError) as e: o.add_others(side, 101) assert len(o) == 0 assert len(o.others) == 0
def test_add_wrong_type(): o = Order() with pytest.raises(TypeError) as e: o.add_others(None, 0) assert len(o) == 0 assert len(o.others) == 0
def test_add_zero_sides(): o = Order() with pytest.raises(ValueError) as e: o.add_others(side, 0) assert len(o) == 0 assert len(o.others) == 0
def test_add_one_drink(): o = Order() o.add_others(drink, 1) assert len(o) == 1 assert len(o.others) == 1 assert o.total_price == 10