Пример #1
0
 public Scenario(
     IWebDriver mWebDriver,
     DataForSearch mDataForSearch
     )
 {
     m_webDriver     = mWebDriver;
     m_dataForSearch = mDataForSearch;
 }
Пример #2
0
        public void CountTest()
        {
            DataForSearch dataForSearch = CreateDataForSearch();

            SetupHotelServiceCountMock(dataForSearch, SearchCount);

            var actual = (JsonResult)hotelApiController.Count(dataForSearch);

            Assert.AreEqual(SearchCount, actual.Value);
        }
Пример #3
0
        private IReadOnlyCollection <Hotel> GetSearchResult(DataForSearch dataForSearch)
        {
            HotelSelectionPipeline hotelSelectionPipeline = new HotelSelectionPipeline();

            hotelSelectionPipeline
            .Register(new HotelNameFilter(dataForSearch.HotelRequirements.Name))
            .Register(new HotelCityFilter(dataForSearch.HotelRequirements.City))
            .Register(new HotelsRoomFilter(dataForSearch.RoomRequirements, context.Rooms.ToList(), context.Orders.ToList()));
            return(hotelSelectionPipeline.Process(context.Hotels.ToList()));
        }
Пример #4
0
        public void GetSearchResultByPageTest()
        {
            DataForSearch dataForSearch = CreateDataForSearch();
            IReadOnlyCollection <HotelData> expected = CreateHotelsData();

            SetupHotelRepositoryGetSearchResultByPageMock(dataForSearch, expected);

            IReadOnlyCollection <HotelData> actual = hotelService.GetSearchResultByPage(dataForSearch);

            Assert.AreEqual(expected, actual);
        }
Пример #5
0
        public void CountSearchResultsTest()
        {
            DataForSearch dataForSearch = CreateDataForSearch();
            int           expected      = 5;

            SetupHotelRepositoryCountSearchResultsMock(dataForSearch, expected);

            int actual = hotelService.CountSearchResults(dataForSearch);

            Assert.AreEqual(expected, actual);
        }
Пример #6
0
        public void SearchTest()
        {
            DataForSearch dataForSearch = CreateDataForSearch();
            IReadOnlyCollection <HotelData> hotelsData = CreateHotelsData();

            SetupHotelServiceGetSearchResultMock(dataForSearch, hotelsData);

            var actual = (JsonResult)hotelApiController.Search(dataForSearch);

            Assert.AreEqual(hotelsData, actual.Value);
        }
Пример #7
0
        private static void Main(string[] args)
        {
            if (args == null || (args.Length == 0 || !File.Exists(args[0])))
            {
                Console.WriteLine("File name is absent or incorrect! Please check corectness of file name/path and try again");
                Console.WriteLine("To continue, press any key...");
                Console.ReadKey();
                return;
            }

            ICollection <IWebDriver> webDriversList = new List <IWebDriver>();

            try
            {
                string    inputParameters = File.ReadAllText(args[0]);
                InputData inputData       = JsonConvert.DeserializeObject <InputData>(inputParameters);
                foreach (string city in inputData.Cities)
                {
                    ChromeOptions chromeOptions = new ChromeOptions();
                    chromeOptions.AddArgument("--lang=en");
                    chromeOptions.AddArgument("--start-maximized");

                    chromeOptions.AddUserProfilePreference("intl.accept_languages", "en-US,en");
                    IWebDriver webDriver = new ChromeDriver(chromeOptions);
                    webDriversList.Add(webDriver);
                    DataForSearch dataForSearch = new DataForSearch()
                    {
                        City        = city,
                        ConsulatUrl = inputData.ConsulatUrl,
                        PeopleCount = inputData.PeopleCount.ToString(),
                        VisaType    = inputData.VisaType
                    };

                    Scenario scenario = new Scenario(webDriver, dataForSearch);

                    //Initial goto url
                    webDriver.Navigate().GoToUrl(inputData.ConsulatUrl);

                    //Run scenario
                    scenario.RunScenario();
                    Console.WriteLine("Parser running. For escape, press any button...");
                    Console.ReadKey();
                }
            }
            finally
            {
                foreach (IWebDriver webDriver in webDriversList)
                {
                    webDriver.Quit();
                }
            }
        }
Пример #8
0
 public int CountSearchResults(DataForSearch dataForSearch) => hotelRepository.CountSearchResults(dataForSearch);
Пример #9
0
 private void SetupHotelRepositoryGetSearchResultByPageMock(
     DataForSearch dataForSearch,
     IReadOnlyCollection <HotelData> hotelsData)
 => hotelRepositoryMock
 .Setup(repository => repository.GetSearchResultByPage(dataForSearch, DefaultPageSize))
 .Returns(hotelsData);
Пример #10
0
 private void SetupHotelRepositoryCountSearchResultsMock(DataForSearch dataForSearch, int expectedCount)
 => hotelRepositoryMock
 .Setup(repository => repository.CountSearchResults(dataForSearch))
 .Returns(expectedCount);
Пример #11
0
 private void SetupHotelServiceGetSearchResultMock(
     DataForSearch dataForSearch,
     IReadOnlyCollection <HotelData> hotelsData)
 => hotelServiceMock
 .Setup(service => service.GetSearchResultByPage(dataForSearch))
 .Returns(hotelsData);
Пример #12
0
 private void SetupHotelServiceCountMock(DataForSearch dataForSearch, int count)
 => hotelServiceMock
 .Setup(service => service.CountSearchResults(dataForSearch))
 .Returns(count);
Пример #13
0
 public IActionResult Count(DataForSearch searchData) => Json(hotelService.CountSearchResults(searchData));
Пример #14
0
 public IReadOnlyCollection <HotelData> GetSearchResultByPage(DataForSearch dataForSearch) =>
 dataForSearch == null
         ? hotelRepository.GetByPage(1, DefaultPageSize)
         : hotelRepository.GetSearchResultByPage(dataForSearch, DefaultPageSize);
Пример #15
0
 public int CountSearchResults(DataForSearch dataForSearch) => GetSearchResult(dataForSearch).Count();
Пример #16
0
 public IReadOnlyCollection <HotelData> GetSearchResultByPage(DataForSearch dataForSearch, int pageSize) => Map(GetSearchResult(dataForSearch)
                                                                                                                .Skip((dataForSearch.Page - 1) * pageSize).Take(pageSize).ToList());
Пример #17
0
 public ActionResult Search(DataForSearch searchData) => Json(hotelService.GetSearchResultByPage(searchData));