public void Test_GrabSiteWeatherByCitiesAsync()
        {
            //arrange
            var path = _testConfiguration.GetValue <string>("DefaultMainSiteDataPath");

            //act
            var result = _weatherSiteDataGrabService.GrabSiteWeatherByCitiesAsync(LoadHtmlSource.File, path).GetAwaiter().GetResult();

            //assert
            Assert.IsNotEmpty(result);

            Assert.AreEqual(result[0].CityWeatherInfos[0].TemperatureFromCelsius, TestCityTemperatureFromCelsius);
            Assert.AreEqual(result[0].CityWeatherInfos[0].TemperatureToCelsius, TestCityTemperatureToCelsius);
            Assert.AreEqual(result[0].CityWeatherInfos[0].WindSpeed, TestCityWindSpeed);
            Assert.AreEqual(result[0].CityWeatherInfos[0].Precipitation, TestCityPrecipitation);

            Assert.AreEqual(result[0].CityWeatherInfos[0].ForecastDateTime.Date, DateTime.UtcNow.Date);
            Assert.AreEqual(result[0].CityWeatherInfos.Last().ForecastDateTime.Date, DateTime.UtcNow.AddDays(DefaultForecastDaysExceptToday).Date);
        }
        /// <summary>
        /// Process weather site data
        /// </summary>
        public async Task StartProcessSiteDataAsync(CancellationToken cancellationToken, string siteUrl)
        {
            try
            {
                var siteData =
                    await _weatherSiteDataGrabService.GrabSiteWeatherByCitiesAsync(LoadHtmlSource.Web, siteUrl);

                var mappedData    = siteData.Select(s => _cityMapper.Map(s)).ToList();
                var isResultSaved = await _weatherSiteDataSaveService.SaveWeatherDataAsync(mappedData);

                if (!isResultSaved)
                {
                    _logger.LogError("Error in schedule saving weather data");
                }
                else
                {
                    _logger.LogInformation("Schedule successfully completed");
                }
            }
            catch (Exception e)
            {
                _logger.LogError($"WeatherSiteDataFacade StartProcessSiteDataAsync error - [{e}]");
            }
        }