public void AddMenuItemToMenu_adds_menu_item_if_worker_is_not_waiter() { var numSaveChangesCalls = 0; var mockContext = new MockDBContextFactory().WithSaveChangesCallback(() => ++ numSaveChangesCalls).Create(); var repository = new RestourantRepository(mockContext); const string validItem1 = "valid item"; repository.AddMenuItemToMenu(validItem1, 10.00, MenuItemKind.DRINK, EmployeeRole.BARTENDER); Assert.AreEqual(1, mockContext.MenuItems.Count()); Assert.AreEqual(validItem1, mockContext.MenuItems.Last().DisplayName); Assert.IsTrue(0 < numSaveChangesCalls); numSaveChangesCalls = 0; const string validItem2 = "another valid item"; repository.AddMenuItemToMenu(validItem2, 97.99, MenuItemKind.MEAL, EmployeeRole.COOK); Assert.AreEqual(2, mockContext.MenuItems.Count()); Assert.AreEqual(validItem2, mockContext.MenuItems.Last().DisplayName); Assert.IsTrue(0 < numSaveChangesCalls); }
public void AddMenuItemToMenu_failes_if_worker_is_waiter() { var mockContext = new MockDBContextFactory().Create(); var repository = new RestourantRepository(mockContext); repository.AddMenuItemToMenu("invalid operation generating item", 5.00, MenuItemKind.DRINK, EmployeeRole.WAITER); }
public void AddMenuItem_adds_item_with_correct_contents() { var mockContext = new MockDBContextFactory().Create(); var repository = new RestourantRepository(mockContext); const string itemName = "item name"; const double itemPrice = 19.99; const MenuItemKind itemKind = MenuItemKind.DRINK; repository.AddMenuItemToMenu(itemName, itemPrice, itemKind, EmployeeRole.BARTENDER); var inserted = mockContext.MenuItems.Last(); Assert.AreEqual(itemName, inserted.DisplayName); Assert.AreEqual(itemPrice, inserted.Price); Assert.AreEqual(itemKind, inserted.Kind); }