示例#1
0
        public void AddProductToCategoryWhenStoreNotExists()
        {
            AddProductToCategorySlave slave = new AddProductToCategorySlave("noStore", userService.Object, handler.Object);

            slave.AddProductToCategory("WanderlandItems", "OnePunchManPoster");
            Assert.AreEqual((int)StoreEnum.StoreNotExists, slave.Answer.Status);
        }
示例#2
0
        public void AddProductToCategoryWhenCategoryNotExists()
        {
            AddProductToCategorySlave slave = new AddProductToCategorySlave("T", userService.Object, handler.Object);

            handler.Setup(x => x.IsStoreExistAndActive("T")).Returns(true);
            handler.Setup(x => x.GetStorebyName("T")).Returns(new Store("S7", "T", "bla"));
            slave.AddProductToCategory("BB", "OnePunchManPoster");
            Assert.AreEqual((int)StoreEnum.CategoryNotExistsInStore, slave.Answer.Status);
        }
示例#3
0
        public void AddProductToCategoryWhenHasNoPremmision()
        {
            AddProductToCategorySlave slave = new AddProductToCategorySlave("T", userService.Object, handler.Object);

            handler.Setup(x => x.IsStoreExistAndActive("T")).Returns(true);
            handler.Setup(x => x.GetStorebyName("T")).Returns(new Store("S7", "T", "bla"));
            userService.Setup(x => x.CanManageProducts()).Throws(new MarketException(9, "bla"));
            slave.AddProductToCategory("WanderlandItems", "OnePunchManPoster");
            Assert.AreEqual((int)StoreEnum.NoPermission, slave.Answer.Status);
        }
示例#4
0
        public void AddProductToCategorySuccess()
        {
            AddProductToCategorySlave slave = new AddProductToCategorySlave("T", userService.Object, handler.Object);

            handler.Setup(x => x.IsStoreExistAndActive("T")).Returns(true);
            handler.Setup(x => x.GetStorebyName("T")).Returns(new Store("S7", "T", "bla"));
            handler.Setup(x => x.GetCategoryByName("WanderlandItems"))
            .Returns(new Category("C1", "WanderlandItems"));
            handler.Setup(x => x.GetProductByNameFromStore("T", "OnePunchManPoster")).Returns(new Product("S22", "OnePunchManPoster", 10, "bla"));
            LinkedList <Product> expected = new LinkedList <Product>();

            handler.Setup(x => x.GetAllCategoryProducts("C1")).Returns(expected);
            slave.AddProductToCategory("WanderlandItems", "OnePunchManPoster");
            Assert.AreEqual((int)StoreEnum.Success, slave.Answer.Status);
        }
示例#5
0
        public void AddProductToCategoryWhenProductInCategory()
        {
            AddProductToCategorySlave slave = new AddProductToCategorySlave("T", userService.Object, handler.Object);

            handler.Setup(x => x.IsStoreExistAndActive("T")).Returns(true);
            handler.Setup(x => x.GetStorebyName("T")).Returns(new Store("S7", "T", "bla"));
            handler.Setup(x => x.GetCategoryByName("WanderlandItems"))
            .Returns(new Category("C1", "WanderlandItems"));
            handler.Setup(x => x.GetProductByNameFromStore("T", "Fraid Egg")).Returns(new Product("S21", "Fraid Egg", 10, "bla"));
            LinkedList <Product> expected = new LinkedList <Product>();

            expected.AddLast(new Product("S21", "Fraid Egg", 10, "bla"));
            handler.Setup(x => x.GetAllCategoryProducts("C1")).Returns(expected);
            slave.AddProductToCategory("WanderlandItems", "Fraid Egg");
            Assert.AreEqual((int)StoreEnum.ProductAlreadyInCategory, slave.Answer.Status);
        }