public BaseControllerTest() { fixture = new Fixture(); _service = Substitute.For <IReservaService>(); _request = fixture.Create <ObterReservasRequest>(); _response = fixture.Create <ObterReservasResponse>(); _controller = new ReservasController(_logger, _service); }
public async Task <BaseResponse> ListarReservas(ObterReservasRequest query) { var hospedeDto = await _hospedesRepository.ObterHospede(query.HospedeId); if (hospedeDto == null) { return new BaseResponse { StatusCode = StatusCodes.Status400BadRequest, Mensagem = "Não foi possível obter informações sobre o hóspede informado." } } ; var reservasDto = await _reservasRepository.ObterReservas(query.HospedeId, query.Inativa); if (reservasDto == null) { return new BaseResponse { StatusCode = StatusCodes.Status404NotFound, Mensagem = "Nenhuma reserva foi encontrada." } } ; var acompanhanteDto = await _acompanhantesRepository.ObterAcompanhantes(query.HospedeId); var hospede = _mapper.Map <Hospede>(hospedeDto); var reservas = _mapper.Map <List <Reserva> >(reservasDto); var acompanhante = _mapper.Map <List <Acompanhante> >(acompanhanteDto); foreach (var reserva in reservas) { reserva.Acompanhantes = new List <Acompanhante>(); reserva.Acompanhantes.AddRange(acompanhante.Where(x => x.ReservaId == reserva.ReservaId)); } var result = new ObterReservasResponse { StatusCode = StatusCodes.Status200OK, Mensagem = "Reservas retornadas com sucesso.", Hospede = hospede, Reservas = reservas }; return(result); } } }