public void RemoveTeamSeason_HappyPath() { // Arrange var dbContext = A.Fake <ProFootballEntities>(); var repository = new TeamSeasonRepository(dbContext); var teamSeason = new TeamSeason(); A.CallTo(() => dbContext.TeamSeasons.Remove(A <TeamSeason> .Ignored)).Returns(teamSeason); // Act var result = repository.RemoveEntity(teamSeason); // Assert A.CallTo(() => dbContext.TeamSeasons.Remove(teamSeason)).MustHaveHappenedOnceExactly(); Assert.AreSame(teamSeason, result); }
public void RemoveTeamSeason_ExceptionCaught_LogsAndRethrowsException() { // Arrange var dbContext = A.Fake <ProFootballEntities>(); var repository = new TeamSeasonRepository(dbContext); var teamSeason = new TeamSeason(); A.CallTo(() => dbContext.TeamSeasons.Remove(A <TeamSeason> .Ignored)).Throws <Exception>(); // Act TeamSeason result = null; Assert.Throws <Exception>(() => result = repository.RemoveEntity(teamSeason)); // Assert Assert.IsNull(result); }