Ejemplo n.º 1
0
        private void AssertActions(bool[] permissions)
        {
            if (permissions[0])
            {
                Assert.AreEqual((int)PromoteStoreStatus.Success, _storeManager2.PromoteToStoreManager("Loki", storeAction1).Status);
            }
            else
            {
                Assert.AreEqual((int)PromoteStoreStatus.NoAuthority, _storeManager2.PromoteToStoreManager("Loki", storeAction1).Status);
            }

            if (permissions[1])
            {
                Assert.AreEqual((int)StoreEnum.Success, _storeManager2.AddNewProduct(product, 50, "tool", 5).Status);
                Assert.AreEqual((int)StoreEnum.Success, _storeManager2.EditProduct(product, "NewProduct1", "3", "HAHAH").Status);
                Assert.AreEqual((int)StoreEnum.Success, _storeManager2.RemoveProduct(product).Status);
            }
            else
            {
                Assert.AreEqual((int)StoreEnum.NoPermission, _storeManager2.AddNewProduct(product, 50, "tool", 5).Status);
                Assert.AreEqual((int)StoreEnum.NoPermission, _storeManager2.EditProduct(product, "NewProduct1", "3", "HAHAH").Status);
                Assert.AreEqual((int)StoreEnum.NoPermission, _storeManager2.RemoveProduct(product).Status);
            }

            if (permissions[2])
            {
                Assert.AreEqual((int)DiscountStatus.ProductNotFound,
                                _storeManager2.AddDiscountToProduct("Product", DateTime.Today, DateTime.Today.AddDays(3), 50,
                                                                    "VISIBLE", true).Status);
                Assert.AreEqual((int)StoreEnum.ProductNotFound, _storeManager2.RemoveDiscountFromProduct(product).Status);
            }
            else
            {
                Assert.AreEqual((int)StoreEnum.NoPermission,
                                _storeManager2.AddDiscountToProduct("Product", DateTime.Today, DateTime.Today.AddDays(3), 50,
                                                                    "VISIBLE", true).Status);
                Assert.AreEqual((int)StoreEnum.NoPermission, _storeManager2.EditDiscount(product, null, false, null, null, "25", true).Status);
                Assert.AreEqual((int)StoreEnum.NoPermission, _storeManager2.RemoveDiscountFromProduct(product).Status);
            }

            if (permissions[3])
            {
                Assert.AreEqual((int)ManageStoreStatus.Success, _storeManager2.ViewStoreHistory().Status);
            }
            else
            {
                Assert.AreEqual((int)ManageStoreStatus.InvalidManager, _storeManager2.ViewStoreHistory().Status);
            }
        }
Ejemplo n.º 2
0
        public void AddDiscountFailedNoUserPermissions()
        {
            SignUp(ref _userBuyer, "Vika", "Arad", "5555", "55555555");
            _storeManagementBridge2 = StoreManagementDriver.getBridge();
            _storeManagementBridge2.GetStoreManagementService(_userBuyer.GetUserSession(), "Toy");
            MarketAnswer res = _storeManagementBridge2.AddDiscountToProduct("Ouch", Convert.ToDateTime("15/04/2018"), Convert.ToDateTime("20/04/2018"), 10, "VISIBLE", true);

            Assert.AreEqual((int)StoreEnum.NoPermission, res.Status);
        }
Ejemplo n.º 3
0
        public void AddDiscountAndReceiveItInOrderSuccessfully()
        {
            CheckNoDiscountAdded();

            MarketAnswer res = _storeManagementBridge.AddDiscountToProduct("Ouch", Convert.ToDateTime("14/04/2018"), Convert.ToDateTime("20/04/2018"), 10, "VISIBLE", false);

            Assert.AreEqual((int)DiscountStatus.Success, res.Status);

            //check the discount was added to the product in the stock
            MarketAnswer stock = _storeShoppingBridge.ViewStoreStock("Toy");

            string[] receivedStock = stock.ReportList;
            string[] expectedStock =
            {
                " name: Ouch base price: 30 description: Ouchouch Discount: {DiscountAmount: 10 Start Date: " + Convert.ToDateTime("14/04/2018").Date.ToString("d") + "" +
                " End Date: " + Convert.ToDateTime("20/04/2018").Date.ToString("d") + " type is: visible} Purchase Way: Immediate Quantity: 6"
            };
            Assert.AreEqual(expectedStock.Length, receivedStock.Length);
            for (int i = 0; i < receivedStock.Length; i++)
            {
                Assert.AreEqual(expectedStock[i], receivedStock[i]);
            }


            SignUp(ref _userBuyer, "Vika", "Arad", "5555", "55555555");

            _storeShoppingBridge2 = StoreShoppingDriver.getBridge();
            _storeShoppingBridge2.GetStoreShoppingService(_userBuyer.GetUserSession());
            _storeShoppingBridge2.AddProductToCart("Toy", "Ouch", 3);

            CreateOrder();

            SignInAdminSystem();
            MarketAnswer purchaseHistory = _userAdminBridge.ViewPurchaseHistoryByUser("Vika");

            //make sure the price presented is after the discount
            string[] purchaseReceived = purchaseHistory.ReportList;
            string[] purchaseExpected =
            {
                "User: Vika Product: Ouch Store: Toy Sale: Immediate Quantity: 3 Price: 90 Date: " +
                DateTime.Now.Date.ToString("dd/MM/yyyy"),
            };
            Assert.AreEqual(purchaseExpected.Length, purchaseReceived.Length);
            for (int i = 0; i < purchaseReceived.Length; i++)
            {
                Assert.AreEqual(purchaseExpected[i], purchaseReceived[i]);
            }
        }
Ejemplo n.º 4
0
        public MarketAnswer AddDiscountToProduct(string productName, DateTime startDate, DateTime endDate,
                                                 int discountAmount, string discountType, bool presenteges)
        {
            if (real != null)
            {
                return(real.AddDiscountToProduct(productName, startDate, endDate, discountAmount,
                                                 discountType, presenteges));
            }

            throw new NotImplementedException();
        }
Ejemplo n.º 5
0
        public void AddDiscountFailedNoStore()
        {
            CheckNoDiscountAdded();

            _storeManagementBridge2 = StoreManagementDriver.getBridge();
            _storeManagementBridge2.GetStoreManagementService(_storeOwnerUserBridge.GetUserSession(), "StoreNotExists");
            MarketAnswer res = _storeManagementBridge2.AddDiscountToProduct("Ouch", Convert.ToDateTime("15/04/2018"), Convert.ToDateTime("20/04/2018"), 10, "VISIBLE", false);

            Assert.AreEqual((int)DiscountStatus.NoStore, res.Status);

            CheckNoDiscountAdded();
        }
Ejemplo n.º 6
0
        public void DefineSuccessfullyVidibleDiscount()
        {
            CheckNoDiscountAdded();

            MarketAnswer res = _storeManagementBridge.AddDiscountToProduct("Ouch", Convert.ToDateTime("14/04/2018"), Convert.ToDateTime("20/04/2018"), 10, "VISIBLE", false);

            Assert.AreEqual((int)DiscountStatus.Success, res.Status);

            //check the discount was added to the product in the stock
            MarketAnswer stock = _storeShoppingBridge.ViewStoreStock("Toy");

            string[] receivedStock = stock.ReportList;
            string[] expectedStock =
            {
                " name: Ouch base price: 30 description: Ouchouch Discount: {DiscountAmount: 10 Start Date: " + Convert.ToDateTime("14/04/2018").Date.ToString("d") + "" +
                " End Date: " + Convert.ToDateTime("20/04/2018").Date.ToString("d") + " type is: visible} Purchase Way: Immediate Quantity: 6"
            };
            Assert.AreEqual(expectedStock.Length, receivedStock.Length);
            for (int i = 0; i < receivedStock.Length; i++)
            {
                Assert.AreEqual(expectedStock[i], receivedStock[i]);
            }
        }
Ejemplo n.º 7
0
        private void AssertActions(bool[] permissions)
        {
            if (permissions[0])
            {
                MarketAnswer res1 = _storeManager2.PromoteToStoreManager("Loki", storeAction1);
                Assert.AreEqual((int)PromoteStoreStatus.Success, res1.Status);
            }

            else
            {
                MarketAnswer res1 = _storeManager2.PromoteToStoreManager("Loki", storeAction1);
                Assert.AreEqual((int)PromoteStoreStatus.NoAuthority, res1.Status);
            }


            if (permissions[1])
            {
                Assert.AreEqual((int)StoreEnum.Success, _storeManager2.AddNewProduct(product, 50, "tool", 5).Status);
                CheckProductAddedToStock();

                Assert.AreEqual((int)StoreEnum.Success, _storeManager2.EditProduct(product, null, "3", null).Status);
                CheckProductEditedInStock();

                Assert.AreEqual((int)StoreEnum.Success, _storeManager2.RemoveProduct(product).Status);
                MarketAnswer stock2 = _storeBridge.ViewStoreStock("Volcano");
                Assert.AreEqual(0, stock2.ReportList.Length);
            }
            else
            {
                Assert.AreEqual((int)StoreEnum.NoPermission, _storeManager2.AddNewProduct(product, 50, "tool", 5).Status);
                Assert.AreEqual((int)StoreEnum.NoPermission, _storeManager2.EditProduct(product, "NewProduct1", "3", "HAHAH").Status);
                Assert.AreEqual((int)StoreEnum.NoPermission, _storeManager2.RemoveProduct(product).Status);
            }

            if (permissions[2])
            {
                _storeManager1.AddNewProduct("Lets", 10, "haha", 10);

                Assert.AreEqual((int)DiscountStatus.Success,
                                _storeManager2.AddDiscountToProduct("Lets", Convert.ToDateTime("14/04/2018"), Convert.ToDateTime("20/04/2018"), 5, "VISIBLE", false).Status);
                MarketAnswer stock         = _storeBridge.ViewStoreStock("Volcano");
                string[]     receivedStock = stock.ReportList;
                string[]     expectedStock =
                {
                    " name: Lets base price: 10 description: haha Discount: {DiscountAmount: 5 Start Date: " + Convert.ToDateTime("14/04/2018").Date.ToString("d") + "" +
                    " End Date: " + Convert.ToDateTime("20/04/2018").Date.ToString("d") + " type is: visible} Purchase Way: Immediate Quantity: 10"
                };
                Assert.AreEqual(expectedStock.Length, receivedStock.Length);
                for (int i = 0; i < receivedStock.Length; i++)
                {
                    Assert.AreEqual(expectedStock[i], receivedStock[i]);
                }
            }
            else
            {
                Assert.AreEqual((int)StoreEnum.NoPermission,
                                _storeManager2.AddDiscountToProduct("Lets", Convert.ToDateTime("14/04/2018"), Convert.ToDateTime("20/04/2018"), 5, "VISIBLE", false).Status);
            }

            if (permissions[3])
            {
                CreateOrder();

                MarketAnswer purchaseHistory = _storeManager2.ViewStoreHistory();
                string[]     received        = purchaseHistory.ReportList;
                string[]     expected        =
                {
                    "User: Odin Product: Yolo Store: Volcano Sale: Immediate Quantity: 2 Price: 10 Date: " +
                    DateTime.Now.Date.ToString("dd/MM/yyyy"),
                };

                Assert.AreEqual(expected.Length, received.Length);
                for (int i = 0; i < received.Length; i++)
                {
                    Assert.AreEqual(expected[i], received[i]);
                }
            }
            else
            {
                CreateOrder();
                Assert.AreEqual((int)ManageStoreStatus.InvalidManager, _storeManager2.ViewStoreHistory().Status);
            }
        }
Ejemplo n.º 8
0
        public void AddDiscountAndReceiveItInOrderSuccessfully()
        {
            //check there is no discount for ouch
            CheckNoDiscountAdded();

            MarketAnswer res = _storeManagementBridge.AddDiscountToProduct("Ouch", Convert.ToDateTime("14/04/2018"), Convert.ToDateTime("20/04/2018"), 10, "HIDDEN", false);

            Assert.AreEqual((int)DiscountStatus.Success, res.Status);
            string coupon = res.ReportList[0];

            //check the discount was added to the product in the stock
            MarketAnswer stock = _storeShoppingBridge.ViewStoreStock("Toy");

            string[] receivedStock = stock.ReportList;
            string[] expectedStock =
            {
                " name: Ouch base price: 30 description: Ouchouch Discount: {type is: hidden} Purchase Way: Immediate Quantity: 6"
            };
            Assert.AreEqual(expectedStock.Length, receivedStock.Length);
            for (int i = 0; i < receivedStock.Length; i++)
            {
                Assert.AreEqual(expectedStock[i], receivedStock[i]);
            }


            SignUp(ref _userBuyer, "Vika", "Arad", "5555", "55555555");

            _storeShoppingBridge2 = StoreShoppingDriver.getBridge();
            _storeShoppingBridge2.GetStoreShoppingService(_userBuyer.GetUserSession());
            _storeShoppingBridge2.AddProductToCart("Toy", "Ouch", 3);


            //make sure the price in the cart is the original price
            MarketAnswer cartDetails = _userBuyer.ViewCart();

            string[] receivedItems = cartDetails.ReportList;
            string[] expectedItems =
            {
                "Name : Ouch Store : Toy Quantity : 3 Unit Price : 30 Final Price : 90",
            };
            Assert.AreEqual(expectedItems.Length, receivedItems.Length);
            for (int i = 0; i < receivedItems.Length; i++)
            {
                Assert.AreEqual(expectedItems[i], receivedItems[i]);
            }


            CreateOrderWithCoupon(coupon);

            SignInAdminSystem();
            MarketAnswer purchaseHistory = _userAdminBridge.ViewPurchaseHistoryByUser("Vika");

            //make sure the price presented is after the discount
            string[] purchaseReceived = purchaseHistory.ReportList;
            string[] purchaseExpected =
            {
                "User: Vika Product: Ouch Store: Toy Sale: Immediate Quantity: 2 Price: 40 Date: " +
                DateTime.Now.Date.ToString("dd/MM/yyyy"),
            };
            Assert.AreEqual(purchaseExpected.Length, purchaseReceived.Length);
            for (int i = 0; i < purchaseReceived.Length; i++)
            {
                Assert.AreEqual(purchaseExpected[i], purchaseReceived[i]);
            }
        }