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); }
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 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)); }
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); }