public void BuyEmptyCartTest() { userBuyerMocker.Setup(x => x.CheckoutAll()).Returns(new OrderItem[] {}); orderDbMocker.Setup(x => x.RandomOrderID()).Returns(100010); slave = new PurchaseEverythingSlave(userBuyerMocker.Object, storeSyncherMock.Object, orderDbMocker.Object, publisherMock.Object, policyMock.Object); Order order = slave.BuyEverythingFromCart(null, "Big Smoke", "Grove Street", "12345678"); Assert.IsNull(order); Assert.AreEqual((int)SupplyStatus.InvalidOrder, slave.Answer.Status); }
public void BuySeveralItemTest() { userBuyerMocker.Setup(x => x.CheckoutAll()).Returns(new [] { item1, item2 }); orderDbMocker.Setup(x => x.RandomOrderID()).Returns(100010); slave = new PurchaseEverythingSlave(userBuyerMocker.Object, storeSyncherMock.Object, orderDbMocker.Object, publisherMock.Object, policyMock.Object); Order order = slave.BuyEverythingFromCart(null, "Big Smoke", "Grove Street", "12345678"); Assert.IsNotNull(order); Assert.AreEqual(2, order.GetItems().Count); Assert.IsNotNull(order.GetOrderItem("#9 Large", "Cluckin Bell")); Assert.IsNotNull(order.GetOrderItem("#9", "Cluckin Bell")); Assert.AreEqual(17.00, order.GetPrice()); }
public void BuyFailedDiscountTest() { userBuyerMocker.Setup(x => x.CheckoutAll()).Returns(new OrderItem[] { item1 }); storeSyncherMock.Setup(x => x.GetPriceFromCoupon (It.IsAny <string>(), It.IsAny <string>(), It.IsAny <int>(), It.IsAny <string>())) .Throws(new OrderException(OrderStatus.InvalidCoupon, "some message")); orderDbMocker.Setup(x => x.RandomOrderID()).Returns(100010); slave = new PurchaseEverythingSlave(userBuyerMocker.Object, storeSyncherMock.Object, orderDbMocker.Object, publisherMock.Object, policyMock.Object); Order order = slave.BuyEverythingFromCart(new string[] { "D1" }, "Big Smoke", "Grove Street", "12345678"); Assert.IsNull(order); Assert.AreEqual((int)OrderStatus.InvalidCoupon, slave.Answer.Status); }
public void BuyAllDiscountTest() { userBuyerMocker.Setup(x => x.CheckoutAll()).Returns(new OrderItem[] { item1, item2 }); storeSyncherMock.Setup(x => x.GetPriceFromCoupon (It.IsAny <string>(), It.IsAny <string>(), It.IsAny <int>(), It.IsAny <string>())).Returns(3.0); orderDbMocker.Setup(x => x.RandomOrderID()).Returns(100010); slave = new PurchaseEverythingSlave(userBuyerMocker.Object, storeSyncherMock.Object, orderDbMocker.Object, publisherMock.Object, policyMock.Object); Order order = slave.BuyEverythingFromCart(new string[] { "D1", "D2" }, "Big Smoke", "Grove Street", "12345678"); Assert.IsNotNull(order); Assert.AreEqual(2, order.GetItems().Count); Assert.IsNotNull(order.GetOrderItem("#9 Large", "Cluckin Bell")); Assert.IsNotNull(order.GetOrderItem("#9", "Cluckin Bell")); Assert.AreEqual(9.00, order.GetPrice()); }
public void BuildOrderPool() { MarketDB.Instance.InsertByForce(); market = MarketYard.Instance; userService = market.GetUserService(); orderService = (OrderService)market.GetOrderService(ref userService); IUserBuyer buyer = new UserBuyerHarmony(ref userService); slave1 = new PurchaseItemSlave(buyer, new StoresSyncherHarmony(), OrderDL.Instance, Publisher.Instance, market.GetPolicyChecker()); slave2 = new PurchaseEverythingSlave(buyer, new StoresSyncherHarmony(), OrderDL.Instance, Publisher.Instance, market.GetPolicyChecker()); orderService.GiveDetails("Big Smoke", "Grove Street", "54238521"); item1 = new OrderItem("Cluckin Bell", null, "#9", 5.00, 2); item2 = new OrderItem("Cluckin Bell", null, "#9 Large", 7.00, 1); item3 = new OrderItem("Cluckin Bell", null, "#6 Extra Dip", 8.50, 1); }
public void BuyOneItemTest() { userBuyerMocker.Setup(x => x.CheckoutAll()).Returns(new[] { item2 }); orderDbMocker.Setup(x => x.RandomOrderID()).Returns(100010); slave = new PurchaseEverythingSlave(userBuyerMocker.Object, storeSyncherMock.Object, orderDbMocker.Object, publisherMock.Object, policyMock.Object); Order order = slave.BuyEverythingFromCart(null, "Big Smoke", "Grove Street", "12345678"); Assert.IsNotNull(order); Assert.AreEqual(1, order.GetItems().Count); Assert.IsNotNull(order.GetOrderItem("#9 Large", "Cluckin Bell")); OrderItem actual = order.GetOrderItem("#9 Large", "Cluckin Bell"); Assert.AreEqual(item2.Name, actual.Name); Assert.AreEqual(item2.Price, actual.Price); Assert.AreEqual(item2.Quantity, actual.Quantity); Assert.AreEqual(item2.Store, actual.Store); }