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