public ProductApiControllerTest()
 {
     _helper = new Helper();
     _mock   = new Mock <IRepository <Product> >();
     _productApiController = new ProductsApiController(_mock.Object);
     products = new List <Product>()
     {
         new Product()
         {
             Color = "TestColor",
             Name  = "TestName",
             Price = 4,
             Stock = 6,
             Id    = 1
         },
         new Product()
         {
             Color = "TestColor1",
             Name  = "TestName1",
             Price = 5,
             Stock = 5,
             Id    = 2
         },
         new Product()
         {
             Color = "TestColor3",
             Name  = "TestName4",
             Price = 33,
             Stock = 2,
             Id    = 3
         }
     };
 }
 public ProductApiControllerTest()
 {
     _mockRepo      = new Mock <IRepository <Product> >();
     _apiController = new ProductsApiController(_mockRepo.Object);
     products       = new List <Product>()
     {
         new Product {
             ProductId = 3, Name = "Monitör", Price = 750, Stock = 15, Color = "Siyah"
         }
     };
     _helper = new Helper();
 }
        public void GetProductNotFound()
        {
            // Arrange
            const int testId = 10;
            var mockRepository = new Mock<IStoreAppRepository>();
            var mockSet = new Mock<DbSet<Product>>();
            mockRepository.Setup(x => x.Products).Returns(mockSet.Object);
            var controller = new ProductsApiController(mockRepository.Object);

            // Act
            IHttpActionResult actionResult = controller.GetProduct(testId).Result;

            // Assert
            Assert.IsInstanceOfType(actionResult, typeof (NotFoundResult));
        }
 public ProductApiControllerTest()
 {
     _mockRepo   = new Mock <IRepository <Product> >();
     _controller = new ProductsApiController(_mockRepo.Object);
     _helper     = new Helper();
     products    = new List <Product>()
     {
         new Product {
             Id = 1, Name = "Phone", Price = 100, Stock = 50, Color = "Black"
         },
         new Product {
             Id = 2, Name = "Computer", Price = 200, Stock = 500, Color = "White"
         }
     };
 }
 public ProductApiControllerTest()
 {
     _mockRepo   = new Mock <IRepository <Product> >();
     _controller = new ProductsApiController(_mockRepo.Object);
     _helper     = new Helper();
     products    = new List <Product>()
     {
         new Product {
             Id = 1, Name = "Kalem", Price = 100, Stock = 50, Color = "Kırmızı"
         },
         new Product {
             Id = 2, Name = "Defter", Price = 200, Stock = 500, Color = "Mavi"
         }
     };
 }
Beispiel #6
0
 public ProductApiControllerTest()
 {
     _mockRepo   = new Mock <IRepository <Table> >();
     _controller = new ProductsApiController(_mockRepo.Object);
     //_helper = new Helper();
     products = new List <Table>()
     {
         new Table {
             Id = 1, Name = "Kalem", Price = 100, Stock = 50
         },
         new Table {
             Id = 2, Name = "Defter", Price = 200, Stock = 500
         }
     };
 }
        public void SetUp()
        {
            repository.AddAndSave(anotherCustomer, customer);

            ownProduct1  = new Product(customer, "Own product 1");
            otherProduct = new Product(anotherCustomer, "Other product");

            repository.AddAndSave(
                ownProduct1,
                new Product(customer, "Own product 2"),
                otherProduct
                );

            controller = new ProductsApiController(new Repository.CustomerContextRepository(repository, customer.Id));
        }
Beispiel #8
0
 public ProductApiControllerTest()
 {
     _mockRepository = new Mock <IRepository <Product> >();
     _controller     = new ProductsApiController(_mockRepository.Object);
     _helper         = new Helper();
     _products       = new List <Product>()
     {
         new Product {
             Id = 1, Name = "Kalem", Color = "red", Stock = 50, Price = 15
         },
         new Product {
             Id = 2, Name = "Defter", Color = "blue", Stock = 20, Price = 5
         }
     };
 }
Beispiel #9
0
 public ProductApiControllerTests()
 {
     _mockRepo   = new Mock <IRepository <Product> >();
     _controller = new ProductsApiController(_mockRepo.Object);
     products    = new List <Product>()
     {
         new Product {
             Id = 1, Price = 500, Name = "Table", Color = "Red", Stock = 19
         },
         new Product {
             Id = 2, Price = 1130, Name = "Laptop", Color = "Black", Stock = 9
         },
         new Product {
             Id = 3, Price = 200, Name = "Mouse", Color = "Blue", Stock = 39
         }
     };
 }
Beispiel #10
0
        public void Get_ShouldReturnOkResult()
        {
            // Arrange
            var inMemoryRepoMock = new Mock <IProductRepository>();

            inMemoryRepoMock.Setup(x => x.GetAll()).Returns(Task.FromResult(_products as IList <Product>));

            var controller = new ProductsApiController(inMemoryRepoMock.Object);

            controller.Request       = new HttpRequestMessage();
            controller.Configuration = new HttpConfiguration();

            // Act
            var response = controller.Get();
            // Assert
            var res = response.Result.ExecuteAsync(CancellationToken.None).Result;

            Assert.AreEqual(HttpStatusCode.OK, res.StatusCode);
        }
Beispiel #11
0
        public void Get_ShouldResturnAllProductsButDiscontinued()
        {
            // Arrange
            var inMemoryRepoMock = new Mock <IProductRepository>();

            inMemoryRepoMock.Setup(x => x.GetAll()).Returns(Task.FromResult(_products as IList <Product>));

            var controller = new ProductsApiController(inMemoryRepoMock.Object);

            controller.Request       = new HttpRequestMessage();
            controller.Configuration = new HttpConfiguration();

            // Act
            var response = controller.Get();

            // Assert
            var res = response.Result as OkNegotiatedContentResult <List <Product> >;

            Assert.AreEqual(res.Content.Count, _products.Count(x => x.DateDiscontinued == null));
        }
Beispiel #12
0
        public void Delete_GivenProductId_ShouldReturnNotFound()
        {
            // Arrange
            var inMemoryRepoMock = new Mock <IProductRepository>();

            inMemoryRepoMock.Setup(x => x.Delete(It.IsAny <int>())).Returns(false);

            var controller = new ProductsApiController(inMemoryRepoMock.Object);

            controller.Request       = new HttpRequestMessage();
            controller.Configuration = new HttpConfiguration();

            // Act
            var response = controller.Delete(1);

            // Assert
            var res = response.ExecuteAsync(CancellationToken.None).Result;

            Assert.AreEqual(HttpStatusCode.NotFound, res.StatusCode);
        }
Beispiel #13
0
        public void GetById_GivenProductId_ShouldReturnGone()
        {
            // Arrange
            var inMemoryRepoMock = new Mock <IProductRepository>();

            inMemoryRepoMock.Setup(x => x.GetById(It.IsAny <int>())).Returns(_products.First(x => x.DateDiscontinued != null));

            var controller = new ProductsApiController(inMemoryRepoMock.Object);

            controller.Request       = new HttpRequestMessage();
            controller.Configuration = new HttpConfiguration();

            // Act
            var response = controller.Get(99);

            // Assert
            var res = response.ExecuteAsync(CancellationToken.None).Result;

            Assert.AreEqual(HttpStatusCode.Gone, res.StatusCode);
        }
        public void DeleteProductOkResult()
        {
            // Arrange
            const int testId = 10;
            var data = new List<Product> {new Product {ProductID = testId}, new Product {ProductID = testId + 1}}.AsQueryable();

            var mockSet = new Mock<DbSet<Product>>();
            mockSet.As<IQueryable<Product>>().Setup(m => m.Provider).Returns(data.Provider);
            mockSet.As<IQueryable<Product>>().Setup(m => m.Expression).Returns(data.Expression);
            mockSet.As<IQueryable<Product>>().Setup(m => m.ElementType).Returns(data.ElementType);
            mockSet.As<IQueryable<Product>>().Setup(m => m.GetEnumerator()).Returns(data.GetEnumerator());

            var mockRepository = new Mock<IStoreAppRepository>();
            mockRepository.Setup(x => x.Products).Returns(mockSet.Object);
            var controller = new ProductsApiController(mockRepository.Object);

            // Act
            IHttpActionResult actionResult = controller.DeleteProduct(testId).Result;

            // Assert
            Assert.IsInstanceOfType(actionResult, typeof (OkResult));
        }
Beispiel #15
0
        public void GetById_GivenProductId_ShouldReturnProductObject()
        {
            // Arrange
            var inMemoryRepoMock = new Mock <IProductRepository>();

            inMemoryRepoMock.Setup(x => x.GetById(It.IsAny <int>())).Returns(_products.First);

            var controller = new ProductsApiController(inMemoryRepoMock.Object);

            controller.Request       = new HttpRequestMessage();
            controller.Configuration = new HttpConfiguration();

            // Act
            var response = controller.Get(1);

            // Assert
            var res = response as OkNegotiatedContentResult <Product>;

            Assert.AreEqual(res.Content.Id, _products.First().Id);
            Assert.AreEqual(res.Content.Name, _products.First().Name);
            Assert.AreEqual(res.Content.DateCreated, _products.First().DateCreated);
            Assert.AreEqual(res.Content.InternalCode, _products.First().InternalCode);
            Assert.AreEqual(res.Content.DateDiscontinued, _products.First().DateDiscontinued);
        }
 public ProductApiControllerTest()
 {
     mockRepo      = new Mock <IRepository <Product> >();
     apiController = new ProductsApiController(mockRepo.Object);
     products      = MockModels.GetProducts();
 }
        public void PostProductCreatedAtRouteResult()
        {
            // Arrnage
            const int testId = 17;
            var mockSet = new Mock<DbSet<Product>>();
            var mockRepository = new Mock<IStoreAppRepository>();
            mockRepository.Setup(x => x.Products).Returns(mockSet.Object);
            var controller = new ProductsApiController(mockRepository.Object);

            // Act
            //IHttpActionResult actionResult = controller.PostProduct(new Product {ProductID = testId}).Result;
            //var contextResult = actionResult as CreatedAtRouteNegotiatedContentResult<Product>;

            //// Assert
            //Assert.IsNotNull(contextResult);
            //Assert.AreEqual("DefaultApi", contextResult.RouteName);
            //Assert.AreEqual(testId, contextResult.RouteValues["id"]);
        }
        public void GetProductOkResult()
        {
            // Arrange
            const int testId = 17;
            var mockRepository = new Mock<IStoreAppRepository>();
            mockRepository.Setup(x => x.Products.FindAsync(testId)).Returns(Task.FromResult(new Product {ProductID = testId}));
            var controller = new ProductsApiController(mockRepository.Object);

            // Act
            IHttpActionResult actionResult = controller.GetProduct(testId).Result;
            var contentResult = actionResult as OkNegotiatedContentResult<ProductDTO>;

            // Assert
            Assert.IsNotNull(contentResult);
            Assert.IsNotNull(contentResult.Content);
            Assert.AreEqual(testId, contentResult.Content.ProductID);
        }
Beispiel #19
0
 public ProductsApiControllerTests()
 {
     _mockHelper    = new ProductsApiMockHelper();
     _apiController = new ProductsApiController(_mockHelper.Mock.Object);
 }
        public void GetProducts()
        {
            // Arrange
            const int testId1 = 17;
            const int testId2 = 85;
            const int testId3 = 41;
            var data = new List<Product>
            {
                new Product {ProductID = testId1},
                new Product {ProductID = testId2},
                new Product {ProductID = testId3}
            }.AsQueryable();

            var mockSet = new Mock<DbSet<Product>>();
            mockSet.As<IQueryable<Product>>().Setup(m => m.Provider).Returns(data.Provider);
            mockSet.As<IQueryable<Product>>().Setup(m => m.Expression).Returns(data.Expression);
            mockSet.As<IQueryable<Product>>().Setup(m => m.ElementType).Returns(data.ElementType);
            mockSet.As<IQueryable<Product>>().Setup(m => m.GetEnumerator()).Returns(data.GetEnumerator());

            var mockRepository = new Mock<IStoreAppRepository>();
            mockRepository.Setup(x => x.Products).Returns(mockSet.Object);
            var controller = new ProductsApiController(mockRepository.Object);

            // Act
            var result = controller.GetProducts().ToList();

            // Assert
            Assert.AreEqual(testId1, result[0].ProductID);
            Assert.AreEqual(testId2, result[1].ProductID);
            Assert.AreEqual(testId3, result[2].ProductID);
        }