public async Task GetMatchBetsWithResultsInLatestSeason_IntegrationTests_ShouldReturnResultsFromCyprusFirstDivision() { //Arrange var leagueUrl = @"https://www.oddsportal.com"; var countryLeague = new CountryLeague { Country = Country.Gambia, League = "gfa-league" }; var result = default(IEnumerable <MatchBet>); //Act result = await _serviceUnderTest.GetMatchBetsWithResultsInLatestSeason(leagueUrl, countryLeague, null); //Assert Assert.NotNull(result); var serializedObject = JsonConvert.SerializeObject(result); using (var sw = new StreamWriter(@"oddsResults.json", false)) { await sw.WriteAsync(serializedObject); } }
public Task <IEnumerable <MatchBet> > GetResults(Country country, string leagueName, DateTime?fromDate) { var url = ConfigurationManager.AppSettings["OddsPortalUrl"]; var countryLeague = new CountryLeague { Country = country, League = leagueName }; return(_webScraper.GetMatchBetsWithResultsInLatestSeason(url, countryLeague, fromDate)); }
public async Task <IEnumerable <MatchBet> > GetMatchBetsWithResultsInLatestSeason(string baseUrl, CountryLeague countryLeague, DateTime?fromDate) { _baseUrl = baseUrl; _countryLeagueResultsUrl = $"{baseUrl}/soccer/{countryLeague.Country}/{countryLeague.League}/results/".ToLower(); _fromDate = fromDate; var pagesCount = GetResultsPagesCount(); var matchBetsResults = new List <MatchBet>(); for (var i = 1; i <= pagesCount; i++) { var results = await GetMatchesDetails(i); matchBetsResults.AddRange(results); } return(matchBetsResults); }