Esempio n. 1
0
        public async Task CreateProductOption_Success_ReturnsProductOption()
        {
            //Arrange
            var createProductOptionDto = _fixture.Create <CreateProductOptionDto>();
            var productOption          = _fixture.Create <ProductOption>();
            var product = _fixture.Create <Product>();

            _productRepo.Setup(x => x.GetByIdAsync(It.IsAny <Guid>())).ReturnsAsync(product);
            _productOptionRepo.Setup(x => x.CreateAsync(It.IsAny <ProductOption>())).ReturnsAsync(productOption);

            //Act
            var result = await _productOptionService.CreateProductOptionAsync(product.Id, createProductOptionDto);

            //Assert
            result.Should().NotBeNull().And.Subject.Should().BeOfType <ProductOption>();
        }
        public async Task <IActionResult> CreateOption(Guid productId, [FromBody] CreateProductOptionDto option)
        {
            var createdOption = await _productOptionService.CreateProductOptionAsync(productId, option);

            var productOptionDto = _mapper.Map <ProductOption, ProductOptionDto>(createdOption);

            return(CreatedAtRoute("GetProductOption", new { productId = createdOption.ProductId, id = createdOption.Id }, productOptionDto));
        }