public async Task Read_competition_by_route_returns_basic_fields() { var routeNormaliser = new Mock <IRouteNormaliser>(); routeNormaliser.Setup(x => x.NormaliseRouteToEntity(_databaseFixture.CompetitionWithFullDetails.CompetitionRoute, "competitions")).Returns(_databaseFixture.CompetitionWithFullDetails.CompetitionRoute); var competitionDataSource = new SqlServerCompetitionDataSource(_databaseFixture.ConnectionFactory, routeNormaliser.Object); var result = await competitionDataSource.ReadCompetitionByRoute(_databaseFixture.CompetitionWithFullDetails.CompetitionRoute).ConfigureAwait(false); Assert.Equal(_databaseFixture.CompetitionWithFullDetails.CompetitionId, result.CompetitionId); Assert.Equal(_databaseFixture.CompetitionWithFullDetails.CompetitionName, result.CompetitionName); Assert.Equal(_databaseFixture.CompetitionWithFullDetails.PlayerType, result.PlayerType); Assert.Equal(_databaseFixture.CompetitionWithFullDetails.Introduction, result.Introduction); Assert.Equal(_databaseFixture.CompetitionWithFullDetails.UntilYear, result.UntilYear); Assert.Equal(_databaseFixture.CompetitionWithFullDetails.PublicContactDetails, result.PublicContactDetails); Assert.Equal(_databaseFixture.CompetitionWithFullDetails.PrivateContactDetails, result.PrivateContactDetails); Assert.Equal(_databaseFixture.CompetitionWithFullDetails.Facebook, result.Facebook); Assert.Equal(_databaseFixture.CompetitionWithFullDetails.Twitter, result.Twitter); Assert.Equal(_databaseFixture.CompetitionWithFullDetails.Instagram, result.Instagram); Assert.Equal(_databaseFixture.CompetitionWithFullDetails.YouTube, result.YouTube); Assert.Equal(_databaseFixture.CompetitionWithFullDetails.Website, result.Website); Assert.Equal(_databaseFixture.CompetitionWithFullDetails.CompetitionRoute, result.CompetitionRoute); Assert.Equal(_databaseFixture.CompetitionWithFullDetails.MemberGroupKey, result.MemberGroupKey); Assert.Equal(_databaseFixture.CompetitionWithFullDetails.MemberGroupName, result.MemberGroupName); }
public async Task Read_minimal_competition_by_route_succeeds() { var routeNormaliser = new Mock <IRouteNormaliser>(); routeNormaliser.Setup(x => x.NormaliseRouteToEntity(_databaseFixture.CompetitionWithMinimalDetails.CompetitionRoute, "competitions")).Returns(_databaseFixture.CompetitionWithMinimalDetails.CompetitionRoute); var competitionDataSource = new SqlServerCompetitionDataSource(_databaseFixture.ConnectionFactory, routeNormaliser.Object); var result = await competitionDataSource.ReadCompetitionByRoute(_databaseFixture.CompetitionWithMinimalDetails.CompetitionRoute).ConfigureAwait(false); Assert.NotNull(result); }
public async Task Read_competition_by_route_returns_match_types() { var routeNormaliser = new Mock <IRouteNormaliser>(); routeNormaliser.Setup(x => x.NormaliseRouteToEntity(_databaseFixture.CompetitionWithFullDetails.CompetitionRoute, "competitions")).Returns(_databaseFixture.CompetitionWithFullDetails.CompetitionRoute); var competitionDataSource = new SqlServerCompetitionDataSource(_databaseFixture.ConnectionFactory, routeNormaliser.Object); var result = await competitionDataSource.ReadCompetitionByRoute(_databaseFixture.CompetitionWithFullDetails.CompetitionRoute).ConfigureAwait(false); for (var season = 0; season < _databaseFixture.CompetitionWithFullDetails.Seasons.Count; season++) { for (var matchType = 0; matchType < _databaseFixture.CompetitionWithFullDetails.Seasons[season].MatchTypes.Count; matchType++) { Assert.Contains(_databaseFixture.CompetitionWithFullDetails.Seasons[season].MatchTypes[matchType], result.Seasons[season].MatchTypes); } } }
public async Task Read_competition_by_route_returns_default_over_sets() { var routeNormaliser = new Mock <IRouteNormaliser>(); routeNormaliser.Setup(x => x.NormaliseRouteToEntity(_databaseFixture.CompetitionWithFullDetails.CompetitionRoute, "competitions")).Returns(_databaseFixture.CompetitionWithFullDetails.CompetitionRoute); var competitionDataSource = new SqlServerCompetitionDataSource(_databaseFixture.ConnectionFactory, routeNormaliser.Object); var result = await competitionDataSource.ReadCompetitionByRoute(_databaseFixture.CompetitionWithFullDetails.CompetitionRoute).ConfigureAwait(false); for (var season = 0; season < _databaseFixture.CompetitionWithFullDetails.Seasons.Count; season++) { for (var set = 0; set < _databaseFixture.CompetitionWithFullDetails.Seasons[season].DefaultOverSets.Count; set++) { Assert.Equal(_databaseFixture.CompetitionWithFullDetails.Seasons[season].DefaultOverSets[set].OverSetId, result.Seasons[season].DefaultOverSets[set].OverSetId); Assert.Equal(_databaseFixture.CompetitionWithFullDetails.Seasons[season].DefaultOverSets[set].OverSetNumber, result.Seasons[season].DefaultOverSets[set].OverSetNumber); Assert.Equal(_databaseFixture.CompetitionWithFullDetails.Seasons[season].DefaultOverSets[set].Overs, result.Seasons[season].DefaultOverSets[set].Overs); Assert.Equal(_databaseFixture.CompetitionWithFullDetails.Seasons[season].DefaultOverSets[set].BallsPerOver, result.Seasons[season].DefaultOverSets[set].BallsPerOver); } } }
public async Task Read_competition_by_route_returns_seasons_most_recent_first() { var routeNormaliser = new Mock <IRouteNormaliser>(); routeNormaliser.Setup(x => x.NormaliseRouteToEntity(_databaseFixture.CompetitionWithFullDetails.CompetitionRoute, "competitions")).Returns(_databaseFixture.CompetitionWithFullDetails.CompetitionRoute); var competitionDataSource = new SqlServerCompetitionDataSource(_databaseFixture.ConnectionFactory, routeNormaliser.Object); var result = await competitionDataSource.ReadCompetitionByRoute(_databaseFixture.CompetitionWithFullDetails.CompetitionRoute).ConfigureAwait(false); for (var season = 0; season < _databaseFixture.CompetitionWithFullDetails.Seasons.Count; season++) { Assert.Equal(_databaseFixture.CompetitionWithFullDetails.Seasons[season].FromYear, result.Seasons[season].FromYear); Assert.Equal(_databaseFixture.CompetitionWithFullDetails.Seasons[season].UntilYear, result.Seasons[season].UntilYear); Assert.Equal(_databaseFixture.CompetitionWithFullDetails.Seasons[season].SeasonRoute, result.Seasons[season].SeasonRoute); Assert.Equal(_databaseFixture.CompetitionWithFullDetails.Seasons[season].PlayersPerTeam, result.Seasons[season].PlayersPerTeam); Assert.Equal(_databaseFixture.CompetitionWithFullDetails.Seasons[season].EnableTournaments, result.Seasons[season].EnableTournaments); Assert.Equal(_databaseFixture.CompetitionWithFullDetails.Seasons[season].EnableLastPlayerBatsOn, result.Seasons[season].EnableLastPlayerBatsOn); Assert.Equal(_databaseFixture.CompetitionWithFullDetails.Seasons[season].EnableBonusOrPenaltyRuns, result.Seasons[season].EnableBonusOrPenaltyRuns); } }