Ejemplo n.º 1
0
        public async void Should_Return_Unprocessable_If_No_Rows_Affected()
        {
            // ARRANGE
            var validator = new CreateTransactionCommandValidator();
            var transactionRepositoryMock = new Mock <ITransactionRepository>();
            var loggerMock = new Mock <ILogger>();

            var handler = new CreateTransactionCommandHandler(
                transactionRepositoryMock.Object,
                loggerMock.Object,
                validator
                );

            transactionRepositoryMock.Setup(x => x.InsertTransaction(It.IsAny <Domain.Models.Transactions.Transaction>())).ReturnsAsync(0);

            // ACT
            var response = await handler.Handle(new CreateTransactionCommand()
            {
                Transaction = new Domain.Models.Transactions.Transaction()
                {
                    TransactionId = "1"
                }
            }, new CancellationToken());

            // ASSERT
            Assert.Equal(CommandResultTypeEnum.UnprocessableEntity, response.Type);
            transactionRepositoryMock.Verify(x => x.InsertTransaction(It.IsAny <Domain.Models.Transactions.Transaction>()), Times.Once);
        }
Ejemplo n.º 2
0
        public async void Request_With_No_Id_Should_Return_Invalid_Input()
        {
            // ARRANGE
            var validator = new CreateTransactionCommandValidator();
            var transactionRepositoryMock = new Mock <ITransactionRepository>();
            var loggerMock = new Mock <ILogger>();

            var handler = new CreateTransactionCommandHandler(
                transactionRepositoryMock.Object,
                loggerMock.Object,
                validator
                );

            // ACT
            var response = await handler.Handle(new CreateTransactionCommand()
            {
                Transaction = new Domain.Models.Transactions.Transaction()
            }, new CancellationToken());

            // ASSERT
            Assert.Equal(CommandResultTypeEnum.InvalidInput, response.Type);
        }