public static OrderBuilderTestContext CreateDefault() { var result = new OrderBuilderTestContext(); result.Hamburger = new MenuItem { Name = "Hamburger", Id = 5 }; result.HamburgerPortion = new MenuItemPortion { MenuItemId = 5, Id = 2, Name = "Standard", Price = 5 }; result.Hamburger.Portions.Add(result.HamburgerPortion); result.BigHamburger = new MenuItemPortion { MenuItemId = 5, Id = 4, Name = "Big", Price = 8 }; result.Hamburger.Portions.Add(result.BigHamburger); result.HappyHourPriceTag = "HH"; result.HamburgerHappyHourPrice = 5; result.Department = new Department { Id = 5, TicketTypeId = 3, WarehouseId = 8 }; result.AccountTransactionType = new AccountTransactionType { Id = 15 }; return(result); }
public void OrderBuilder_CreateOrder_DefaultPortionAssigned() { var testContext = OrderBuilderTestContext.CreateDefault(); var order = OrderBuilder.Create() .WithDepartment(testContext.Department) .ForMenuItem(testContext.Hamburger) .WithAccountTransactionType(testContext.AccountTransactionType) .Build(); Assert.AreEqual(testContext.HamburgerPortion.Name, order.PortionName); }
public void OrderBuilder_CreateMenuItem_UpdatesOrderPrice() { var testContext = OrderBuilderTestContext.CreateDefault(); var order = OrderBuilder.Create() .CreateMenuItem("Tost").AddPortion("Küçük", 4.5m).Do() .WithDepartment(testContext.Department) .WithAccountTransactionType(testContext.AccountTransactionType) .Build(); Assert.AreEqual(4.5m, order.Price); }
public void OrderBuilder_UpdateAccountTransactionType_AccountTransactionTypeAssigned() { var testContext = OrderBuilderTestContext.CreateDefault(); var order = OrderBuilder.Create() .ForMenuItem(testContext.Hamburger) .WithDepartment(testContext.Department) .WithAccountTransactionType(testContext.AccountTransactionType) .Build(); Assert.AreEqual(testContext.AccountTransactionType.Id, order.AccountTransactionTypeId); }
public void OrderBuilder_CreateOrder_IsDefaultQuantity() { var testContext = OrderBuilderTestContext.CreateDefault(); var order = OrderBuilder.Create() .WithDepartment(testContext.Department) .ForMenuItem(testContext.Hamburger) .WithAccountTransactionType(testContext.AccountTransactionType) .Build(); Assert.AreEqual(1, order.Quantity); }
public void OrderBuilder_CreateOrder_UserNameAssigned() { var testContext = OrderBuilderTestContext.CreateDefault(); var order = OrderBuilder.Create() .WithDepartment(testContext.Department) .ForMenuItem(testContext.Hamburger) .WithUserName("Waiter") .WithAccountTransactionType(testContext.AccountTransactionType) .Build(); Assert.AreEqual("Waiter", order.CreatingUserName); }
public void OrderBuilder_AssignProductTimer_ProductTimerAssigned() { var testContext = OrderBuilderTestContext.CreateDefault().WithProductTimer(); var order = OrderBuilder.Create() .ForMenuItem(testContext.Hamburger) .WithDepartment(testContext.Department) .WithAccountTransactionType(testContext.AccountTransactionType) .WithProductTimer(testContext.ProductTimer) .Build(); Assert.AreEqual(testContext.ProductTimer.Id, order.ProductTimerValue.ProductTimerId); }
public void OrderBuilder_AddTaxTemplates_TaxTemplatesAdded() { var testContext = OrderBuilderTestContext.CreateDefault().With18PTaxTemplate(); var order = OrderBuilder.Create() .ForMenuItem(testContext.Hamburger) .WithDepartment(testContext.Department) .AddTaxTemplate(testContext.TaxTemplate) .WithAccountTransactionType(testContext.AccountTransactionType) .Build(); Assert.True(order.TaxValues.Any()); }
public void OrderBuilder_CreateOrderWithPriceTag_UpdatesPrice() { var testContext = OrderBuilderTestContext.CreateDefault().WithHappyHourPrice(); var order = OrderBuilder.Create() .WithDepartment(testContext.Department) .ForMenuItem(testContext.Hamburger) .WithPriceTag(testContext.HappyHourPriceTag) .WithAccountTransactionType(testContext.AccountTransactionType) .Build(); Assert.AreEqual(testContext.HappyHourPriceTag, order.PriceTag); Assert.AreEqual(testContext.HamburgerHappyHourPrice, order.Price); }
public void OrderBuilder_CreateOrderWithPriceTag_SkipsNonExistedPriceTag() { var testContext = OrderBuilderTestContext.CreateDefault(); var order = OrderBuilder.Create() .WithDepartment(testContext.Department) .ForMenuItem(testContext.Hamburger) .WithPriceTag("HH") .WithAccountTransactionType(testContext.AccountTransactionType) .Build(); Assert.AreEqual("", order.PriceTag); Assert.AreEqual(testContext.HamburgerPortion.Price, order.Price); }
public void OrderBuilder_CreateMenuItemWithDoublePortions_PriceCorrect() { var testContext = OrderBuilderTestContext.CreateDefault(); var tost = MenuItemBuilder.Create("Tost").AddPortion("Küçük", 4.5m).AddPortion("Büyük", 8).Build(); var order = OrderBuilder.Create() .ForMenuItem(tost) .WithPortion(tost.Portions[1]) .WithDepartment(testContext.Department) .WithAccountTransactionType(testContext.AccountTransactionType) .Build(); Assert.AreEqual(8m, order.Price); }
public static OrderBuilderTestContext CreateDefault() { var result = new OrderBuilderTestContext(); result.Hamburger = new MenuItem { Name = "Hamburger", Id = 5 }; result.HamburgerPortion = new MenuItemPortion { MenuItemId = 5, Id = 2, Name = "Standard", Price = 5 }; result.Hamburger.Portions.Add(result.HamburgerPortion); result.BigHamburger = new MenuItemPortion { MenuItemId = 5, Id = 4, Name = "Big", Price = 8 }; result.Hamburger.Portions.Add(result.BigHamburger); result.HappyHourPriceTag = "HH"; result.HamburgerHappyHourPrice = 5; result.Department = new Department { Id = 5, TicketTypeId = 3, WarehouseId = 8 }; result.AccountTransactionType = new AccountTransactionType { Id = 15 }; return result; }