public async Task <IActionResult> CreateExpenseType([FromBody] CreateExpenseTypeCommand command) { var response = await _mediator.Send <ResultResponse <ExpenseTypeDTO> >(command); if (response.IsSuccess) { return(CreatedAtAction(nameof(GetExpenseTypeDetail), new { id = response.Result.Id }, response.Result)); } return(BadRequest(response.ErrorMessage)); }
public async Task ShouldCreateNew() { // Arrange Guid expectedId = Guid.NewGuid(); var repository = new Mock <IExpenseTypeRepository>(); CreateExpenseTypeCommand cmd = new CreateExpenseTypeCommand(expectedId, Guid.NewGuid(), "Name", "Symbol"); ExpenseTypeCommandHandler actual = new ExpenseTypeCommandHandler(repository.Object); // Act await actual.HandleAsync(cmd); // Assert repository.Verify(e => e.Add(It.Is <ExpenseType>(a => a.Id == expectedId) ), Times.Once ); }