Ejemplo n.º 1
0
        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();
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
        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);
        }