Ejemplo n.º 1
0
        public async Task ShouldCreateNew()
        {
            // Arrange
            Guid expectedId          = Guid.NewGuid();
            var  repository          = new Mock <IExpenseRepository>();
            CreateExpenseCommand cmd =
                new CreateExpenseCommand(expectedId, Guid.NewGuid(), Guid.NewGuid(), "Name", "Description",
                                         0.12m, DateTime.Now, DateTime.Now, DateTime.Now);

            ExpenseCommandHandler actual = new ExpenseCommandHandler(repository.Object);

            // Act
            await actual.HandleAsync(cmd);

            // Assert
            repository.Verify(e =>
                              e.Add(It.Is <Expense>(a => a.Id == expectedId)
                                    ),
                              Times.Once
                              );
        }
Ejemplo n.º 2
0
        public async Task ShouldModifyExisting()
        {
            // Arrange
            Guid    expectedId   = Guid.NewGuid();
            string  expectedName = "Modified Name";
            Expense entity       = Expense.Create(expectedId, Guid.NewGuid(), Guid.NewGuid(), "Name", "Description",
                                                  0.12m, DateTime.Now, Period.Create(DateTime.Now, DateTime.Now));
            var repository = new Mock <IExpenseRepository>();

            repository.Setup(
                e => e.GetByIdAsync(It.IsAny <Guid>(), It.IsAny <CancellationToken>())).ReturnsAsync(entity);
            ModifyExpenseCommand cmd =
                new ModifyExpenseCommand(expectedId, Guid.NewGuid(), expectedName, "Description",
                                         0.12m, DateTime.Now, DateTime.Now, DateTime.Now, 1);

            ExpenseCommandHandler actual = new ExpenseCommandHandler(repository.Object);

            // Act
            await actual.HandleAsync(cmd);

            // Assert
            Assert.IsTrue(entity.Id == expectedId);
            Assert.IsTrue(entity.Name == expectedName);
        }