public async Task Handle_GivenValidId_ReturnsSaleDTO() { // Arrange var sale = new SaleDTO { Id = 2, Date = new DateTime(2020, 01, 01), Amount = 1200, }; var query = new GetSaleQuery { Id = 2 }; // Act var handler = new GetSaleQuery.GetSaleQueryHandler(Context, Mapper); var result = await handler.Handle(query, CancellationToken.None); // Assert result.ShouldBeOfType <SaleDTO>(); result.ShouldNotBeNull(); result.Id.ShouldBe(sale.Id); result.Date.ShouldBe(sale.Date); result.Amount.ShouldBe(sale.Amount); }
public async Task Handle_GivenInvalidId_ReturnsNull() { // Arrange var query = new GetSaleQuery { Id = 99 }; // Act var handler = new GetSaleQuery.GetSaleQueryHandler(Context, Mapper); var result = await handler.Handle(query, CancellationToken.None); // Assert result.ShouldBeNull(); }
public async Task <IActionResult> GetSale([FromRoute] int id) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var saleQuery = new GetSaleQuery { Id = id }; var sale = await _mediator.Send(saleQuery); if (sale == null) { _logger.LogWarning($"{id} {SalesConstants.SALE_NOT_FOUND}"); return(NotFound(id)); } _logger.LogInformation($"{sale.Id} {SalesConstants.GET_FOUND_SALE}"); return(Ok(sale)); }