Beispiel #1
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 #2
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);
        }
Beispiel #3
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 #4
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);
        }