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_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_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); }