public async Task ProductService_NonExistingId() { // arrange var service = InfrastructureBuilder.GetProductService(); var id = 999; // act var product = await service.Get(id); // assert Assert.Null(product); }
public async Task ProductsControllerV1_GetAll_ReturnsOk() { // arrange var service = InfrastructureBuilder.GetProductService(); var controller = new ProductsController(service); // act var result = await controller.GetAll(); // assert Assert.NotNull(result); Assert.IsType <OkObjectResult>(result); }
public async Task ProductService_ExistingId() { // arrange var service = InfrastructureBuilder.GetProductService(); var id = 1; // act var product = await service.Get(id); // assert Assert.NotNull(product); Assert.Equal(id, product.Id); }
public async Task ProductsControllerV1_Get_ReturnsNotFound() { // arrange var service = InfrastructureBuilder.GetProductService(); var controller = new ProductsController(service); var id = 999; // act var result = await controller.Get(id); // assert Assert.NotNull(result); Assert.IsType <NotFoundResult>(result); }
public async Task ProductsControllerV1_PartialUpdate_ReturnsNotFound_NonExistingId() { // arrange var service = InfrastructureBuilder.GetProductService(); var controller = new ProductsController(service); MockProductPatchDTOValidator(controller); // act var result = await controller.PartialUpdate(999, null); // assert Assert.NotNull(result); Assert.IsType <BadRequestObjectResult>(result); }
public async Task ProductsControllerV2_GetAll_ReturnsBadRequest_PageSize() { // arrange var service = InfrastructureBuilder.GetProductService(); var controller = new ProductsController(service); var productParmeters = new ProductParmeters { PageNumber = 1, PageSize = -1 }; // act var result = await controller.GetAll(productParmeters); // assert Assert.NotNull(result); Assert.IsType <BadRequestResult>(result); }
public async Task ProductService_GetAllPaged_PageSizeOk() { // arrange var service = InfrastructureBuilder.GetProductService(); var pageSize = 10; var pageNumber = 2; var productParameters = new ProductParmeters { PageNumber = pageNumber, PageSize = pageSize }; // act var result = await service.GetPaged(productParameters); // assert Assert.NotNull(result); Assert.Equal(pageSize, result.Count()); }
public async Task ProductsControllerV1_PartialUpdate_ReturnsBadRequest_NegativeId() { // arrange var service = InfrastructureBuilder.GetProductService(); var controller = new ProductsController(service); var patchDoc = new JsonPatchDocument <ProductPatchDTO>(); patchDoc.Replace <string>(s => s.Description, "new value"); MockProductPatchDTOValidator(controller); // act var result = await controller.PartialUpdate(-1, patchDoc); // assert Assert.NotNull(result); Assert.IsType <BadRequestResult>(result); }
public async Task ProductService_PartialUpdate_ChangesValue() { // arrange var context = InfrastructureBuilder.GetContext(); var service = InfrastructureBuilder.GetProductService(context); int id = 1; string value = "changed value"; var patch = new ProductPatchDTO { Description = value }; // act var result = await service.Update(id, patch); // assert Assert.True(result); var dbValue = await context.Products.AsNoTracking().Where(w => w.Id == id).Select(p => p.Description).FirstOrDefaultAsync(); Assert.Equal(value, dbValue); }
public async Task ProductsControllerV2_GetAll_ReturnsOk() { // arrange var service = InfrastructureBuilder.GetProductService(); var controller = new ProductsController(service); MockResponse(controller); var pageSize = 10; var pageNumber = 2; var productParmeters = new ProductParmeters { PageNumber = pageNumber, PageSize = pageSize }; // act var result = await controller.GetAll(productParmeters); // assert Assert.NotNull(result); Assert.IsType <OkObjectResult>(result); }