示例#1
0
        public void CreateNewProductSomeDataIncorrect(string name, double price, string desc, string thumbURL)
        {
            var mock        = new MockRepository(MockBehavior.Default);
            var repo        = mock.Create <mix_coffeeshop_web.Repositories.IProductRepository>();
            var api         = new mix_coffeeshop_web.Controllers.ProductController(repo.Object);
            var allProducts = new List <Product>
            {
                new Product {
                    Id = 1, Name = "name01", Price = 50, Desc = "desc01", ThumbURL = "img01.png"
                },
                new Product {
                    Id = 2, Name = "name02", Price = 60, Desc = "desc02", ThumbURL = "img02.png"
                },
                new Product {
                    Id = 3, Name = "name03", Price = 70, Desc = "desc03", ThumbURL = "img03.png"
                },
            };

            repo.Setup(it => it.GetAllProducts()).Returns(() => allProducts);

            var product = api.CreateNewProduct(new Product {
                Name = name, Price = price, Desc = desc, ThumbURL = thumbURL
            });
            var expected = new Product {
                Id = 4, Name = name, Price = price, Desc = desc, ThumbURL = thumbURL
            };

            product.Should().BeNull();
        }
        public void GetAnExistingProductFromId(int id, int expectedProductId)
        {
            var mock        = new MockRepository(MockBehavior.Default);
            var repo        = mock.Create <mix_coffeeshop_web.Repositories.IProductRepository>();
            var api         = new mix_coffeeshop_web.Controllers.ProductController(repo.Object);
            var allProducts = new List <Product>
            {
                new Product {
                    Id = 1, Name = "name01", Price = 50, Desc = "desc01", ThumbURL = "img01.png"
                },
                new Product {
                    Id = 2, Name = "name02", Price = 60, Desc = "desc02", ThumbURL = "img02.png"
                },
                new Product {
                    Id = 3, Name = "name03", Price = 70, Desc = "desc03", ThumbURL = "img03.png"
                },
            };

            repo.Setup(it => it.GetAllProducts()).Returns(() => allProducts);
            var product = api.Get(id);

            var expect = allProducts.FirstOrDefault(it => it.Id == expectedProductId);

            product.Should().NotBeNull().And.BeSameAs(expect);
        }
        public void GetAllProductWhenNoDataInTheStorage()
        {
            var mock = new MockRepository(MockBehavior.Default);
            var repo = mock.Create <mix_coffeeshop_web.Repositories.IProductRepository>();
            var api  = new mix_coffeeshop_web.Controllers.ProductController(repo.Object);

            repo.Setup(it => it.GetAllProducts()).Returns(() => new List <Product>
            {
            });
            var products = api.Get();

            products.Should().HaveCount(0);
        }
        public void GetNotExistingProductFromId(int id)
        {
            var mock        = new MockRepository(MockBehavior.Default);
            var repo        = mock.Create <mix_coffeeshop_web.Repositories.IProductRepository>();
            var api         = new mix_coffeeshop_web.Controllers.ProductController(repo.Object);
            var allProducts = new List <Product>
            {
                new Product {
                    Id = 1, Name = "name01", Price = 50, Desc = "desc01", ThumbURL = "img01.png"
                },
            };

            repo.Setup(it => it.GetAllProducts()).Returns(() => allProducts);
            var product = api.Get(id);

            product.Should().BeNull();
        }
        public void GetAllProductSuccess()
        {
            var mock = new MockRepository(MockBehavior.Default);
            var repo = mock.Create <mix_coffeeshop_web.Models.IProductRepository>();
            var api  = new mix_coffeeshop_web.Controllers.ProductController(repo.Object);

            repo.Setup(it => it.GetAllProducts()).Returns(() => new List <Product>
            {
                new Product(),
                new Product(),
                new Product(),
                new Product(),
            });
            var products = api.Get();

            products.Should().HaveCount(4);
        }
        public void UpdateNotExistingProduct(int id, string name, double price, string desc, string thumbURL)
        {
            var mock        = new MockRepository(MockBehavior.Default);
            var repo        = mock.Create <mix_coffeeshop_web.Models.IProductRepository>();
            var api         = new mix_coffeeshop_web.Controllers.ProductController(repo.Object);
            var allProducts = new List <Product>
            {
                new Product {
                    Id = 1, Name = "name01", Price = 50, Desc = "desc01", ThumbURL = "img01.png"
                },
            };

            repo.Setup(it => it.GetAllProducts()).Returns(() => allProducts);

            var data = new Product {
                Id = id, Name = name, Price = price, Desc = desc, ThumbURL = thumbURL
            };
            var product = api.UpdateProduct(data);

            product.Should().BeNull();
        }