Пример #1
0
        public async Task <IActionResult> DeleteTransaction(Guid id)
        {
            var command = new DeleteTransactionCommand
            {
                Id = id
            };

            return(await ExecuteRequest(command).ConfigureAwait(false));
        }
Пример #2
0
        public void Handle_InvalidId_ShouldThrowNotFoundException()
        {
            var deleteTransaction = new DeleteTransactionCommand
            {
                Id = "nope"
            };

            FluentActions.Invoking(async() => await SendAsync(deleteTransaction)).Should().Throw <NotFoundException>();
        }
Пример #3
0
        public void Handle_IdIsEmpty_ShouldThrowValidationException()
        {
            var deleteTransaction = new DeleteTransactionCommand
            {
                Id = ""
            };

            FluentActions.Invoking(async() => await SendAsync(deleteTransaction)).Should().Throw <ValidationException>();
        }
Пример #4
0
        public async Task DeleteTransaction(string id)
        {
            var deleteCommand = new DeleteTransactionCommand
            {
                Id = id
            };

            await Mediator.Send(deleteCommand);
        }
Пример #5
0
        public void DeleteTransactionCommandHandler_NotExisting_NoChange()
        {
            //given
            var repository = LiteDbHelper.CreateMemoryDb();
            var handler    = new DeleteTransactionCommandHandler(repository);
            var command    = new DeleteTransactionCommand(new Transaction());

            //when
            handler.Execute(command);

            //then
            Assert.Empty(repository.Database.Query <Transaction>());
        }
        public async Task <IActionResult> Delete(string id)
        {
            var command = new DeleteTransactionCommand(id);
            var result  = await _mediator.Send(command);

            if (result)
            {
                _logger.LogInformation("Delete transaction " + id + " request");
                return(NoContent());
            }

            _logger.LogError("Error Delete transaction " + id + " request: ");
            return(NotFound());
        }
        public IHttpActionResult Delete(string TransasctionId, CancellationToken cancellationToken)
        {
            try
            {
                var command = new DeleteTransactionCommand
                {
                    TransactionId = TransasctionId
                };

                var respone = mediator.Send(command, cancellationToken);

                return(Ok(respone));
            }
            catch (TransactionIsNotExistException ex)
            {
                return(BadRequest(ex.Message));
            }
        }
Пример #8
0
        public async Task Handle_ValidId_ShouldDeleteTransaction()
        {
            var projectId = await CreateFinancialProject();

            var transaction = new CreateTransactionCommand
            {
                FinancialProjectId = projectId,
                Amount             = 100,
                ToUserId           = SecondUser.Id,
                TransactionType    = TransactionType.FinancialReceipts
            };

            var transactionId = await SendAsync(transaction);

            var context = CreateContext();

            var oweRecord = context.OweRecords.FirstOrDefault(x => x.UserId == User.Id &&
                                                              x.OwedUserId == SecondUser.Id &&
                                                              x.FinancialProjectId == projectId);

            oweRecord.Should().NotBeNull();
            oweRecord !.Amount.Should().Be(transaction.Amount * -1);

            var deleteTransaction = new DeleteTransactionCommand
            {
                Id = transactionId
            };

            await SendAsync(deleteTransaction);

            context = CreateContext();

            oweRecord = context.OweRecords.FirstOrDefault(x => x.UserId == User.Id &&
                                                          x.OwedUserId == SecondUser.Id &&
                                                          x.FinancialProjectId == projectId);
            oweRecord.Should().NotBeNull();
            oweRecord !.Amount.Should().Be(0);

            var entity = await FindAsync <CoolWebsite.Domain.Entities.Financial.Transaction>(transactionId);

            entity.Should().BeNull();
        }
Пример #9
0
        public void DeleteTransactionCommandHandler_MoreObjects_RemovedProperOne()
        {
            //given
            var targetTransaction = new Transaction();
            var transactions      = new[] { targetTransaction, new Transaction(), new Transaction(), new Transaction() };
            var repository        = LiteDbHelper.CreateMemoryDb();
            var handler           = new DeleteTransactionCommandHandler(repository);
            var command           = new DeleteTransactionCommand(targetTransaction);

            repository.Database.UpsertBulk(transactions);

            //when
            handler.Execute(command);

            //then
            transactions = transactions.Skip(1).OrderBy(x => x.Id).ToArray();
            var actualTransactions = repository.Database.Query <Transaction>().OrderBy(x => x.Id).ToArray();

            Assert.Equal(transactions.Length, actualTransactions.Length);
            Assert.Equal(transactions, actualTransactions);
        }
        public IActionResult DeleteTransaction(int transactionId)
        {
            if (transactionId == null)
            {
                return(BadRequest());
            }

            try
            {
                var command = new DeleteTransactionCommand(transactionId);

                var commandHandler = new TransactionCommandHandler(_transactionRepository);

                commandHandler.Handle(command);

                return(Ok());
            }
            catch (CommandValidationException <eTransactionsError> ex)
            {
                return(BadRequest(ex.Error.ToString()));
            }
        }
Пример #11
0
        public async Task Handle_WrongUser_ShouldThrowNotFoundException()
        {
            var projectId = await CreateFinancialProject();

            var transaction = new CreateTransactionCommand
            {
                FinancialProjectId = projectId,
                Amount             = 100,
                ToUserId           = SecondUser.Id,
                TransactionType    = TransactionType.FinancialReceipts
            };

            var id = await SendAsync(transaction);

            var deleteTransaction = new DeleteTransactionCommand
            {
                Id = id
            };

            await RunAsUserAsync("*****@*****.**", "nah");

            FluentActions.Invoking(async() => await SendAsync(deleteTransaction)).Should().Throw <NotFoundException>();
        }
Пример #12
0
 public async Task <IActionResult> Delete([FromRoute] DeleteTransactionCommand command)
 {
     return(await Execute(command));
 }
Пример #13
0
 public async Task DeleteTransaction(DeleteTransactionCommand command)
 {
     await CommandBus.Execute(command);
 }