public async Task HandleAsync(ModifySavingCommand message, CancellationToken token = default(CancellationToken)) { var saving = await _savings.GetByIdAsync(message.SavingId); if (saving == null) { throw new HouseholdException($"Saving {message.SavingId} doesn't exists"); } saving.Modify(message.SavingTypeId, message.Name, message.Description, message.Amount, message.Date, message.Version); await _savings.SaveChangesAsync(token); }
public async Task ShouldModifyExisting() { // Arrange Guid expectedId = Guid.NewGuid(); string expectedName = "Modified Name"; Saving entity = Saving.Create(expectedId, Guid.NewGuid(), Guid.NewGuid(), "Name", "Description", 0.12m, DateTime.Now); var repository = new Mock <ISavingRepository>(); repository.Setup( e => e.GetByIdAsync(It.IsAny <Guid>(), It.IsAny <CancellationToken>())).ReturnsAsync(entity); ModifySavingCommand cmd = new ModifySavingCommand(expectedId, Guid.NewGuid(), expectedName, "Description", 0.12m, DateTime.Now, 1); SavingCommandHandler actual = new SavingCommandHandler(repository.Object); // Act await actual.HandleAsync(cmd); // Assert Assert.IsTrue(entity.Id == expectedId); Assert.IsTrue(entity.Name == expectedName); }