Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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());
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
        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());
        }
Ejemplo n.º 5
0
        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);
        }
Ejemplo n.º 6
0
        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);
        }