public void AddLeagues() { // Arrange var repository = new LeagueRepository(); var dbContext = A.Fake <ProFootballEntities>(); var leagues = new List <League>(); for (int i = 1; i <= 3; i++) { var league = new League { Name = "League " + i }; leagues.Add(league); } A.CallTo(() => dbContext.Leagues.AddRange(A <IEnumerable <League> > .Ignored)).Returns(leagues); // Act var result = repository.AddEntities(dbContext, leagues); // Assert A.CallTo(() => dbContext.Leagues.AddRange(leagues)).MustHaveHappenedOnceExactly(); Assert.AreSame(leagues, result); }
public void AddLeagues_HappyPath() { // Arrange var dbContext = A.Fake <ProFootballEntities>(); var repository = new LeagueRepository(dbContext); var leagues = new List <League>(); A.CallTo(() => dbContext.Leagues.AddRange(A <IEnumerable <League> > .Ignored)).Returns(leagues); // Act var result = repository.AddEntities(leagues); // Assert A.CallTo(() => dbContext.Leagues.AddRange(leagues)).MustHaveHappenedOnceExactly(); Assert.AreSame(leagues, result); }
public void AddLeagues_ExceptionCaught_LogsAndRethrowsException() { // Arrange var dbContext = A.Fake <ProFootballEntities>(); var repository = new LeagueRepository(dbContext); var leagues = new List <League>(); A.CallTo(() => dbContext.Leagues.AddRange(A <IEnumerable <League> > .Ignored)).Throws <Exception>(); // Act IEnumerable <League> result = null; Assert.Throws <Exception>(() => result = repository.AddEntities(leagues)); // Assert Assert.IsNull(result); }