public async Task Product_can_be_created() { // arrange var request = new CreateProduct.Command() { Name = "Sample product", Description = "test desc", Unit = ProductUnitType.Items, QuantityPerUnit = 1.5m, IsActive = true }; var controller = new ProductsController(Mediator); // act var result = await controller.CreateAsync(request); // assert result.Should().NotBeNullOrWhiteSpace(); var subject = AssertRepositoryContext.Products.FirstOrDefault(); subject.Should().NotBeNull(); subject.Name.Should().Be(request.Name); subject.Unit.Should().Be(request.Unit); subject.IsActive.Should().Be(request.IsActive); subject.QuantityPerUnit.Should().Be(request.QuantityPerUnit); subject.Description.Should().Be(request.Description); subject.IsRemoved.Should().BeFalse(); }
static async Task TestProduct() { var prodCtrl = new ProductsController(); var prod1 = new Product() { Id = 0, Code = "Monitor", Name = "Monitor", Price = 9.99m, InStock = true }; prod1 = await prodCtrl.CreateAsync(prod1); }
public async Task Create_ReturnsBadRequest_GivenInvalidModel() { // Arrange & Act var mockRepo = new Mock <IProductsRepository>(); var controller = new ProductsController(mockRepo.Object); controller.ControllerContext = new ControllerContext( ); controller.ModelState.AddModelError("error", "some error"); // Act var result = await controller.CreateAsync(product : null); // Assert Assert.IsType <BadRequestObjectResult>(result); }
public async void CreateAsync_ProductDto_ReturnUrlPathProductDtoAndCreatedStatus() { //Arrange var productDto = new ProductDto(new Guid("1FA85F64-5717-4562-B3FC-2C963F66AFA6"), "ProductOne", "ProductOneDescription", (decimal)11.00, (decimal)2.00); var productsController = new ProductsController(_productService.Object, _mapper.Object); //Act var result = await productsController.CreateAsync(productDto); //Assert var createResult = Assert.IsType <CreatedResult>(result); Assert.Equal(201, createResult.StatusCode); Assert.Equal(":///", createResult.Location); var resultproductDto = (ProductDto)createResult.Value; Assert.Equal(new Guid("1FA85F64-5717-4562-B3FC-2C963F66AFA6"), resultproductDto.Id); Assert.Equal("ProductOne", resultproductDto.Name); Assert.Equal((decimal)11.00, resultproductDto.Price); }