public async Task <IActionResult> DeleteTransaction(Guid id) { var command = new DeleteTransactionCommand { Id = id }; return(await ExecuteRequest(command).ConfigureAwait(false)); }
public void Handle_InvalidId_ShouldThrowNotFoundException() { var deleteTransaction = new DeleteTransactionCommand { Id = "nope" }; FluentActions.Invoking(async() => await SendAsync(deleteTransaction)).Should().Throw <NotFoundException>(); }
public void Handle_IdIsEmpty_ShouldThrowValidationException() { var deleteTransaction = new DeleteTransactionCommand { Id = "" }; FluentActions.Invoking(async() => await SendAsync(deleteTransaction)).Should().Throw <ValidationException>(); }
public async Task DeleteTransaction(string id) { var deleteCommand = new DeleteTransactionCommand { Id = id }; await Mediator.Send(deleteCommand); }
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)); } }
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(); }
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())); } }
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>(); }
public async Task <IActionResult> Delete([FromRoute] DeleteTransactionCommand command) { return(await Execute(command)); }
public async Task DeleteTransaction(DeleteTransactionCommand command) { await CommandBus.Execute(command); }