def test_2ndOrderID(inventory_fixture, ingredient_cost_fixture): system1 = System(inventory_fixture, ingredient_cost_fixture) assert (isinstance(system1, System)) order1 = system1.Create_Order() burg1 = order1.Create_Item("Burger") burg1.Bun_Type = "white" burg1.Add_Bun() burg1.Add_Bun() burg1.Patty_Type = "beef" burg1.Add_Patty() burg1.Add_Other("cheese") order1.Add_To_Order(burg1) assert (burg1 in order1.Items) system1.Submit_Order(order1) assert (order1.ID == 0) order2 = system1.Create_Order() burg2 = order2.Create_Item("Burger") burg2.Bun_Type = "white" burg2.Add_Bun() burg2.Add_Bun() burg2.Patty_Type = "beef" burg2.Add_Patty() burg2.Add_Other("cheese") order2.Add_To_Order(burg1) system1.Submit_Order(order2) assert (order2.ID == 1)
def test_chocolate_sizes(inventory_fixture, ingredient_cost_fixture): system1 = System(inventory_fixture, ingredient_cost_fixture) assert (isinstance(system1, System)) inventory_fixture["chocolate sundae"] = 10000 orig = inventory_fixture["chocolate sundae"] order1 = system1.Create_Order() sun = order1.Create_Item("chocolate sundae") sun.Size = "small" order1.Add_To_Order(sun) assert (inventory_fixture["chocolate sundae"] == orig - 200) assert (order1.Calculate_Cost() == 4) inventory_fixture["chocolate sundae"] = 10000 orig = inventory_fixture["chocolate sundae"] sun2 = order1.Create_Item("chocolate sundae") sun2.Size = "medium" order1.Add_To_Order(sun2) assert (inventory_fixture["chocolate sundae"] == orig - 400) assert (order1.Calculate_Cost() == 10) inventory_fixture["chocolate sundae"] = 10000 orig = inventory_fixture["chocolate sundae"] sun3 = order1.Create_Item("chocolate sundae") sun3.Size = "large" order1.Add_To_Order(sun3) assert (inventory_fixture["chocolate sundae"] == orig - 600) assert (order1.Calculate_Cost() == 21)
def test_view_order(inventory_fixture, ingredient_cost_fixture): system1 = System(inventory_fixture, ingredient_cost_fixture) assert (isinstance(system1, System)) order1 = system1.Create_Order() assert (isinstance(order1, Order)) burg1 = order1.Create_Item("Burger") burg1.Bun_Type = "white" burg1.Add_Bun() burg1.Add_Bun() burg1.Patty_Type = "beef" burg1.Add_Patty() burg1.Add_Other("cheese") order1.Add_To_Order(burg1) try: system1.View_Order(order1.ID) except SystemError as err: assert (err.message == "Order not found.") else: assert (False) system1.Submit_Order(order1) assert (system1.View_Order(order1.ID) == order1) system1.Preparing_Order(order1) assert (system1.View_Order(order1.ID) == order1) system1.Complete_Order(order1) assert (system1.View_Order(order1.ID) == order1)
def test_complete_order_list(inventory_fixture, ingredient_cost_fixture): system1 = System(inventory_fixture, ingredient_cost_fixture) assert (isinstance(system1, System)) order1 = system1.Create_Order() assert (isinstance(order1, Order)) burg1 = order1.Create_Item("Burger") burg1.Bun_Type = "white" burg1.Add_Bun() burg1.Add_Bun() burg1.Patty_Type = "beef" burg1.Add_Patty() burg1.Add_Other("cheese") order1.Add_To_Order(burg1) assert (burg1 in order1.Items) assert (order1.Calculate_Cost() == 9) system1.Submit_Order(order1) assert (order1 in system1.View_Incomplete_Orders()) assert (order1 not in system1.View_Complete_Orders()) system1.Preparing_Order(order1) assert (order1 not in system1.View_Complete_Orders()) assert (order1 in system1.View_Incomplete_Orders()) system1.Complete_Order(order1) assert (order1 not in system1.View_Incomplete_Orders()) assert (order1 in system1.View_Complete_Orders())
def test_add_to_many_ingredients(inventory_fixture, ingredient_cost_fixture): system1 = System(inventory_fixture, ingredient_cost_fixture) assert(isinstance(system1, System)) order1 = system1.Create_Order() assert(isinstance(order1, Order)) with pytest.raises(Exception) as err: burg1 = order1.Create_Item("Burger") burg1.Bun_Type = "white" burg1.Add_Bun() burg1.Add_Bun() burg1.Patty_Type = "beef" burg1.Add_Patty() burg1.Add_Other("cheese") burg1.Add_Other("cheese") burg1.Add_Other("cheese") burg1.Add_Other("cheese") burg1.Add_Other("cheese") burg1.Add_Other("cheese") burg1.Add_Other("cheese") burg1.Add_Other("cheese") burg1.Add_Other("cheese") burg1.Add_Other("cheese") burg1.Add_Other("cheese") order1.Add_To_Order(burg1) assert( err != [] ) assert(burg1 in order1.Items) assert(order1.Calculate_Cost() == 27)
def test_default_no_stock(inventory_fixture, ingredient_cost_fixture): system1 = System(inventory_fixture, ingredient_cost_fixture) assert (isinstance(system1, System)) system1.Inventory["lettuce"] = 0 order1 = system1.Create_Order() with pytest.raises(ItemError) as err: burg1 = order1.Create_Item("Default Burger") assert (err)
def test_default_cost(inventory_fixture, ingredient_cost_fixture): system1 = System(inventory_fixture, ingredient_cost_fixture) assert (isinstance(system1, System)) order1 = system1.Create_Order() burg1 = order1.Create_Item("Default Burger") order1.Add_To_Order(burg1) assert (order1.Calculate_Cost() == 8)
def test_stock_decrease(inventory_fixture, ingredient_cost_fixture): system1 = System(inventory_fixture, ingredient_cost_fixture) assert(isinstance(system1, System)) origJ = inventory_fixture["apple juice"] order1 = system1.Create_Order() juice1 = order1.Create_Item("apple juice") juice1.Size = "small" order1.Add_To_Order(juice1) assert(inventory_fixture["apple juice"] == origJ-250)
def test_chocolate(inventory_fixture, ingredient_cost_fixture): system1 = System(inventory_fixture, ingredient_cost_fixture) assert (isinstance(system1, System)) orig = inventory_fixture["chocolate sundae"] order1 = system1.Create_Order() sun = order1.Create_Item("chocolate sundae") sun.Size = "small" order1.Add_To_Order(sun) assert (inventory_fixture["chocolate sundae"] == orig - 200)
def test_default(inventory_fixture, ingredient_cost_fixture): system1 = System(inventory_fixture, ingredient_cost_fixture) assert (isinstance(system1, System)) order1 = system1.Create_Order() burg1 = order1.Create_Item("Default Burger") assert (burg1.Bun_Type == "white") assert (burg1.Num_Buns == 2) assert (burg1.Num_Patties == 1) assert (burg1.Patty_Type == "beef") assert ("lettuce" in burg1.Other) assert ("tomato" not in burg1.Other)
def test_View_current_order(inventory_fixture, ingredient_cost_fixture): system1 = System(inventory_fixture, ingredient_cost_fixture) assert(isinstance(system1, System)) order1 = system1.Create_Order() burg1 = order1.Create_Item("Burger") burg1.Bun_Type = "white" burg1.Add_Bun() burg1.Add_Bun() burg1.Patty_Type = "beef" burg1.Add_Patty() burg1.Add_Other("cheese") order1.Add_To_Order(burg1) assert(order1 == order1)
def test_stock_decrease(inventory_fixture, ingredient_cost_fixture): system1 = System(inventory_fixture, ingredient_cost_fixture) assert(isinstance(system1, System)) order1 = system1.Create_Order() assert(isinstance(order1, Order)) orig_white_bun = system1._Inventory["white"] orig_beef = system1._Inventory["beef"] orig_cheese = system1._Inventory["cheese"] orig_tortilla = system1._Inventory["tortilla"] orig_tuna = system1._Inventory["tuna"] orig_lettuce = system1._Inventory["lettuce"] orig_onion = system1._Inventory["onion"] orig_tomato = system1._Inventory["tomato"] orig_avocado = system1._Inventory["avocado"] orig_pita= system1.Inventory["pita"] burg1 = order1.Create_Item("Burger") burg1.Bun_Type = "white" burg1.Add_Bun() burg1.Add_Bun() burg1.Patty_Type = "beef" burg1.Add_Patty() burg1.Add_Other("cheese") order1.Add_To_Order(burg1) assert(burg1 in order1.Items) assert(order1.Calculate_Cost() == 9) wrap1 = order1.Create_Item("Wrap") wrap1.Wrap_Type = "tortilla" wrap1.Filling_Type = "tuna" wrap1.Add_Other("cheese") wrap1.Add_Other("lettuce") wrap1.Add_Other("onion") wrap1.Add_Other("tomato") wrap1.Add_Other("avocado") order1.Add_To_Order(wrap1) assert(order1.Calculate_Cost() == 38.5) assert(system1.Inventory["white"] == (orig_white_bun - 2)) assert(system1.Inventory["beef"] == (orig_beef - 1)) assert(system1.Inventory["cheese"] == (orig_cheese - 2)) assert(system1.Inventory["tortilla"] == (orig_tortilla - 1)) assert(system1.Inventory["tuna"] == (orig_tuna - 1)) assert(system1.Inventory["lettuce"] == (orig_lettuce - 1)) assert(system1.Inventory["onion"] == (orig_onion - 1)) assert(system1.Inventory["tomato"] == (orig_tomato - 1)) assert(system1.Inventory["avocado"] == (orig_avocado - 1)) assert(orig_pita==system1.Inventory["pita"])
def test_Remove_from_order(inventory_fixture, ingredient_cost_fixture): system1 = System(inventory_fixture, ingredient_cost_fixture) assert (isinstance(system1, System)) order1 = system1.Create_Order() burg1 = order1.Create_Item("Burger") burg1.Bun_Type = "white" burg1.Add_Bun() burg1.Add_Bun() burg1.Patty_Type = "beef" burg1.Add_Patty() burg1.Add_Other("cheese") order1.Add_To_Order(burg1) assert (burg1 in order1.Items) order1.Remove_From_Order(burg1) assert (burg1 not in order1.Items)
def test_submit_order_status(inventory_fixture, ingredient_cost_fixture): system1 = System(inventory_fixture, ingredient_cost_fixture) assert (isinstance(system1, System)) order1 = system1.Create_Order() assert (isinstance(order1, Order)) burg1 = order1.Create_Item("Burger") burg1.Bun_Type = "white" burg1.Add_Bun() burg1.Add_Bun() burg1.Patty_Type = "beef" burg1.Add_Patty() burg1.Add_Other("cheese") order1.Add_To_Order(burg1) assert (burg1 in order1.Items) assert (order1.Calculate_Cost() == 9) system1.Submit_Order(order1) assert (order1.Status == "Submitted")
def test_take_away_ingrediets(inventory_fixture, ingredient_cost_fixture): system1 = System(inventory_fixture, ingredient_cost_fixture) assert(isinstance(system1, System)) order1 = system1.Create_Order() assert(isinstance(order1, Order)) burg1 = order1.Create_Item("Burger") burg1.Bun_Type = "white" burg1.Add_Bun() burg1.Add_Bun() burg1.Patty_Type = "beef" burg1.Add_Patty() burg1.Add_Other("cheese") burg1.Remove_Other("cheese") order1.Add_To_Order(burg1) assert(burg1 in order1.Items) assert(order1.Calculate_Cost() == 7)
def test_Multiple_drinks(inventory_fixture, ingredient_cost_fixture): system1 = System(inventory_fixture, ingredient_cost_fixture) assert (isinstance(system1, System)) order1 = system1.Create_Order() assert (isinstance(order1, Order)) juice1 = Fountain_Drinks_and_Sides(inventory_fixture, ingredient_cost_fixture, "apple juice") juice1.Size = "small" inventory_fixture["apple juice"] = 10000 juice2 = Fountain_Drinks_and_Sides(inventory_fixture, ingredient_cost_fixture, "apple juice") juice2.Size = "medium" juice3 = Fountain_Drinks_and_Sides(inventory_fixture, ingredient_cost_fixture, "apple juice") juice3.Size = "large" order1.Add_To_Order(juice1) order1.Add_To_Order(juice2) order1.Add_To_Order(juice3) assert (juice1 in order1.Items) assert (juice2 in order1.Items) assert (juice3 in order1.Items)
"tortilla": 4, "pork": 3, "tuna": 3.5, "cheese": 2, "lettuce": 1, "onion": 3, "tomato": 2, "avocado": 10, "pepsi": 2.5, "coke": 3.5, } system1 = System(Inventory, Ingredient_costs) print(system1) order1 = system1.Create_Order() burg1 = order1.Create_Item("Burger") burg1.Bun_Type = "white" burg1.Add_Bun() burg1.Add_Bun() burg1.Patty_Type = "beef" burg1.Add_Patty() burg1.Add_Other("cheese") print(f"burg1 costs {burg1.Calculate_Cost()}") order1.Add_To_Order(burg1) print(f"order1 costs {order1.Calculate_Cost()}\n") system1.Submit_Order(order1) # UC13 - Acceptance Criteria: 1 # UC16 - Acceptance Criteria: 1
def test_valid_order(inventory_fixture, ingredient_cost_fixture): system1 = System(inventory_fixture, ingredient_cost_fixture) assert (isinstance(system1, System)) order1 = system1.Create_Order() assert (isinstance(order1, Order)) orig_white_bun = system1._Inventory["white"] orig_beef = system1._Inventory["beef"] orig_cheese = system1._Inventory["cheese"] orig_tortilla = system1._Inventory["tortilla"] orig_tuna = system1._Inventory["tuna"] orig_lettuce = system1._Inventory["lettuce"] orig_onion = system1._Inventory["onion"] orig_tomato = system1._Inventory["tomato"] orig_avocado = system1._Inventory["avocado"] burg1 = order1.Create_Item("Burger") burg1.Bun_Type = "white" burg1.Add_Bun() burg1.Add_Bun() burg1.Patty_Type = "beef" burg1.Add_Patty() burg1.Add_Other("cheese") order1.Add_To_Order(burg1) assert (burg1 in order1.Items) assert (order1.Calculate_Cost() == 9) wrap1 = order1.Create_Item("Wrap") wrap1.Wrap_Type = "tortilla" wrap1.Filling_Type = "tuna" wrap1.Add_Other("cheese") wrap1.Add_Other("lettuce") wrap1.Add_Other("onion") wrap1.Add_Other("tomato") wrap1.Add_Other("avocado") order1.Add_To_Order(wrap1) assert (order1.Calculate_Cost() == 38.5) assert (system1.Inventory["white"] == (orig_white_bun - 2)) assert (system1.Inventory["beef"] == (orig_beef - 1)) assert (system1.Inventory["cheese"] == (orig_cheese - 2)) assert (system1.Inventory["tortilla"] == (orig_tortilla - 1)) assert (system1.Inventory["tuna"] == (orig_tuna - 1)) assert (system1.Inventory["lettuce"] == (orig_lettuce - 1)) assert (system1.Inventory["onion"] == (orig_onion - 1)) assert (system1.Inventory["tomato"] == (orig_tomato - 1)) assert (system1.Inventory["avocado"] == (orig_avocado - 1)) assert (order1.ID == None) assert (order1.Status == None) try: system1.Check_Status(0) except SystemError as err: assert (err.message == "Order not found.") else: assert (False) system1.Submit_Order(order1) assert (order1.ID == 0) assert (order1 in system1.View_Incomplete_Orders()) assert (system1.Check_Status(0) == "Submitted") system1.Preparing_Order(order1) assert (order1.ID == 0) assert (system1.Check_Status(0) == "Preparing order") assert (order1 in system1.View_Incomplete_Orders()) system1.Complete_Order(order1) assert (order1.ID == 0) assert (system1.Check_Status(0) == "Completed") assert (order1 in system1.View_Complete_Orders())