public async Task <OperationResult <ProductDto> > CreateAsync(CreateProductInput input) { var validationResult = await _validator.ValidateCreateProduct(input); if (validationResult.IsSuccess) { Product product = input.ConvertToEntity(); product = await _repository.CreateAsync(product); Task overviewTask = _overviewRepository.CreateAsync(new() { ProductId = product.Id, Description = input.Description }); Task badgeTask = _badgeRepository.CreateAsync(new() { ProductId = product.Id, Badges = Enumerable.Empty <ProductBadgeName>() }); Task.WaitAll(overviewTask, badgeTask); return(OperationResult <ProductDto> .Success(product.ConvertToDto())); } else { return(OperationResult <ProductDto> .Fail(validationResult)); } }
public void ConvertToEntity_InputNotNull_ReturnPercentageOffIsZero() { CreateProductInput input = MockCreateProductInput(); Product product = input.ConvertToEntity(); Assert.Equal(0, product.PercentageOff); }
public void ConvertToEntity_InputNotNull_ReturnIsActiveFalse() { CreateProductInput input = MockCreateProductInput(); Product product = input.ConvertToEntity(); Assert.False(product.IsActive); }
public void ConvertToEntity_InputNotNull_ReturnThumbnailNull() { CreateProductInput input = MockCreateProductInput(); Product product = input.ConvertToEntity(); Assert.Null(product.Thumbnail); }
public void ConvertToEntity_InputNotNull_ReturnSameSubCategory() { CreateProductInput input = MockCreateProductInput(); Product product = input.ConvertToEntity(); Assert.Equal(product.SubCategory, input.SubCategory); }
public void ConvertToEntity_InputNotNull_ReturnSamePrice() { CreateProductInput input = MockCreateProductInput(); Product product = input.ConvertToEntity(); Assert.Equal(product.Price, input.Price); }
public void ConvertToEntity_InputNotNull_ReturnStockIsZero() { CreateProductInput input = MockCreateProductInput(); Product product = input.ConvertToEntity(); Assert.Equal(0, product.Stock); }