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);
        }
Пример #2
0
        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);
        }