public async Task Delete_competition_succeeds() { var sanitizer = new Mock <Ganss.XSS.IHtmlSanitizer>(); sanitizer.Setup(x => x.AllowedTags).Returns(new HashSet <string>()); sanitizer.Setup(x => x.AllowedAttributes).Returns(new HashSet <string>()); sanitizer.Setup(x => x.AllowedCssProperties).Returns(new HashSet <string>()); sanitizer.Setup(x => x.AllowedAtRules).Returns(new HashSet <CssRuleType>()); var memberKey = Guid.NewGuid(); var memberName = "Dee Leeter"; var copier = new Mock <IStoolballEntityCopier>(); copier.Setup(x => x.CreateAuditableCopy(_databaseFixture.TestData.CompetitionWithFullDetails)).Returns(new Competition { CompetitionId = _databaseFixture.TestData.CompetitionWithFullDetails.CompetitionId, Seasons = _databaseFixture.TestData.CompetitionWithFullDetails.Seasons.Select(x => new Season { SeasonId = x.SeasonId }).ToList() }); foreach (var season in _databaseFixture.TestData.CompetitionWithFullDetails.Seasons) { copier.Setup(x => x.CreateAuditableCopy(season)).Returns(new Season { SeasonId = season.SeasonId }); } var seasonRepository = new SqlServerSeasonRepository( _databaseFixture.ConnectionFactory, Mock.Of <IAuditRepository>(), Mock.Of <ILogger>(), sanitizer.Object, Mock.Of <IRedirectsRepository>(), copier.Object ); var competitionRepository = new SqlServerCompetitionRepository( _databaseFixture.ConnectionFactory, Mock.Of <IAuditRepository>(), Mock.Of <ILogger>(), seasonRepository, Mock.Of <IRouteGenerator>(), Mock.Of <IRedirectsRepository>(), Mock.Of <IHtmlSanitizer>(), copier.Object, Mock.Of <IUrlFormatter>(), Mock.Of <ISocialMediaAccountFormatter>()); await competitionRepository.DeleteCompetition(_databaseFixture.TestData.CompetitionWithFullDetails, memberKey, memberName).ConfigureAwait(false); using (var connection = _databaseFixture.ConnectionFactory.CreateDatabaseConnection()) { var result = await connection.QuerySingleOrDefaultAsync <Guid?>($"SELECT CompetitionId FROM {Tables.Competition} WHERE CompetitionId = @CompetitionId", new { _databaseFixture.TestData.CompetitionWithFullDetails.CompetitionId }).ConfigureAwait(false); Assert.Null(result); } }
public async Task Delete_season_succeeds() { var sanitizer = new Mock <IHtmlSanitizer>(); sanitizer.Setup(x => x.AllowedTags).Returns(new HashSet <string>()); sanitizer.Setup(x => x.AllowedAttributes).Returns(new HashSet <string>()); sanitizer.Setup(x => x.AllowedCssProperties).Returns(new HashSet <string>()); sanitizer.Setup(x => x.AllowedAtRules).Returns(new HashSet <CssRuleType>()); var memberKey = Guid.NewGuid(); var memberName = "Dee Leeter"; var copier = new Mock <IStoolballEntityCopier>(); copier.Setup(x => x.CreateAuditableCopy(_databaseFixture.TestData.SeasonWithFullDetails)).Returns(new Season { SeasonId = _databaseFixture.TestData.SeasonWithFullDetails.SeasonId }); var seasonRepository = new SqlServerSeasonRepository( _databaseFixture.ConnectionFactory, Mock.Of <IAuditRepository>(), Mock.Of <ILogger>(), sanitizer.Object, Mock.Of <IRedirectsRepository>(), copier.Object ); await seasonRepository.DeleteSeason(_databaseFixture.TestData.SeasonWithFullDetails, memberKey, memberName).ConfigureAwait(false); using (var connection = _databaseFixture.ConnectionFactory.CreateDatabaseConnection()) { var result = await connection.QuerySingleOrDefaultAsync <Guid?>($"SELECT SeasonId FROM {Tables.Season} WHERE SeasonId = @SeasonId", new { _databaseFixture.TestData.SeasonWithFullDetails.SeasonId }).ConfigureAwait(false); Assert.Null(result); } }