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