public HotelsSearchService(ILogger <HotelsSearchService> logger, IAmadeusApiServiceProvider amadeusApiServiceProvider, ISearchRequestRepository searchRequestRepository,
                            IUnitOfWork unitOfWork, ISearchRequestHotelRepository searchRequestHotelRepository, IHotelRepository hotelRepository, IMapper mapper)
 {
     _logger = logger;
     _amadeusApiServiceProvider    = amadeusApiServiceProvider;
     _searchRequestRepository      = searchRequestRepository;
     _searchRequestHotelRepository = searchRequestHotelRepository;
     _hotelRepository = hotelRepository;
     _mapper          = mapper;
     _unitOfWork      = unitOfWork;
 }
        public FastestResultSearchServiceTests()
        {
            var unitOfWorkMock = new Mock <IUnitOfWork>();

            var requests = new List <SearchRequest>();
            var repoMock = new Mock <ISearchRequestRepository>();

            repoMock.Setup(x => x.GetAsync(It.IsAny <string>()))
            .Returns <string>(query => Task.FromResult(requests.Where(x => x.Query == query).FirstOrDefault()));
            repoMock.Setup(x => x.UnitOfWork)
            .Returns(() =>
            {
                return(unitOfWorkMock.Object);
            });
            repoMock.Setup(x => x.Add(It.IsAny <SearchRequest>()))
            .Callback <SearchRequest>(r =>
            {
                requests.Add(r);
            });
            _searchRequestRepository = repoMock.Object;
        }
 public FastestResultSearchService(ISearchRequestRepository searchRequetRepository,
                                   ISearchEnginesFactory searchEnginesFactory)
 {
     _searchRequetRepository = searchRequetRepository;
     _searchEngines          = searchEnginesFactory.Create();
 }