public void RemoveTeamSeasons() { // Arrange var repository = new TeamSeasonRepository(); var dbContext = A.Fake <ProFootballEntities>(); var teamSeasons = new List <TeamSeason>(); for (int i = 1; i <= 3; i++) { var teamSeason = new TeamSeason { TeamName = "Team " + i, SeasonID = 2017 }; teamSeasons.Add(teamSeason); } A.CallTo(() => dbContext.TeamSeasons.RemoveRange(A <IEnumerable <TeamSeason> > .Ignored)).Returns(teamSeasons); // Act var result = repository.RemoveEntities(dbContext, teamSeasons); // Assert A.CallTo(() => dbContext.TeamSeasons.RemoveRange(teamSeasons)).MustHaveHappenedOnceExactly(); Assert.AreSame(teamSeasons, result); }
public void RemoveTeamSeasons_HappyPath() { // Arrange var dbContext = A.Fake <ProFootballEntities>(); var repository = new TeamSeasonRepository(dbContext); var teamSeasons = new List <TeamSeason>(); A.CallTo(() => dbContext.TeamSeasons.RemoveRange(A <IEnumerable <TeamSeason> > .Ignored)).Returns(teamSeasons); // Act var result = repository.RemoveEntities(teamSeasons); // Assert A.CallTo(() => dbContext.TeamSeasons.RemoveRange(teamSeasons)).MustHaveHappenedOnceExactly(); Assert.AreSame(teamSeasons, result); }
public void RemoveTeamSeasons_ExceptionCaught_LogsAndRethrowsException() { // Arrange var dbContext = A.Fake <ProFootballEntities>(); var repository = new TeamSeasonRepository(dbContext); var teamSeasons = new List <TeamSeason>(); A.CallTo(() => dbContext.TeamSeasons.RemoveRange(A <IEnumerable <TeamSeason> > .Ignored)).Throws <Exception>(); // Act IEnumerable <TeamSeason> result = null; Assert.Throws <Exception>(() => result = repository.RemoveEntities(teamSeasons)); // Assert Assert.IsNull(result); }