public async Task WhenNoAddresses_ShouldReturnNoContent() { _cacheDbRepository.GetItemFromCache <List <UserAddress> >(Arg.Any <string>()).Returns(new List <UserAddress>()); var query = new UserAddressesQuery(USER_ID); var response = await _handler.Handle(query, CancellationToken.None); response.IsFailure.Should().BeFalse(); response.StatusCode.Should().Be((int)HttpStatusCode.NoContent); }
public async Task <Response> Handle(UserAddressesQuery request, CancellationToken cancellationToken) { try { var userAddresses = _cacheDbRepository.GetItemFromCache <List <UserAddress> >(request.UserId.ToString()); if (userAddresses == null || !userAddresses.Any()) { return(Response.Ok(HttpStatusCode.NoContent)); } return(await Task.FromResult(Response.Ok(userAddresses))); } catch (Exception ex) { _logger.LogError(ex, $"Não foi possível obter os endereços do usuário {request.UserId}"); return(Response.Fail(HttpStatusCode.InternalServerError, "Não foi possível obter os endereços do usuário")); } }