public async Task <ApplicationDataResult <PurchaseItemDto> > UpdateItemAsync(Guid purchaseId, Guid purchaseItemId, AddOrUpdatePurchaseItemDto data) { ValidationResult validationResult = await _validatorPurchaseItem.ValidateAsync(data); if (validationResult.IsValid is false) { return(FactoryFromValidationResult <PurchaseItemDto>(validationResult)); } Purchase purchase = await _purchaseRepository.FindAsync(purchaseId); PurchaseItem purchaseItem = purchase.FindItemById(purchaseItemId); if (purchaseItem is null) { throw ExceptionsFactory.FactoryNotFoundException <PurchaseItem>(purchaseItemId); } Product product = await _productRepository.FindAsync(data.ProductId); if (product is null) { throw ExceptionsFactory.FactoryNotFoundException <Product>(purchaseId); } purchaseItem.Update(data.Amount, data.Value, product); await _purchaseService.UpdateItemAsync(purchase, purchaseItem); return(FactoryResultFromData(_mapper.Map <PurchaseItemDto>(purchaseItem))); }
public async Task PurchaseApplicationService_AddItemAsync_DeveFecharCorretamenteORegistroQuandoEncontrarMesmo__() { // Arange ConfigureMock(); FactoryService(); AddOrUpdatePurchaseItemDto addOrUpdatePurchaseItemDto = AddOrUpdatePurchaseItemDtoFaker.GenerateValidFaker().Generate(); throw new Exception("TODO"); // Act ApplicationDataResult <PurchaseItemDto> result = await _purchaseApplicationService.AddItemAsync(addOrUpdatePurchaseItemDto.PurchaseId, addOrUpdatePurchaseItemDto); // Assert result.IsSuccess.Should().BeTrue(); result.Errors.Should().BeEmpty(); result.Data.Should().NotBeNull(); }