Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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"));
            }
        }