public void RemoveWeekCounts() { // Arrange var repository = new WeekCountRepository(); var dbContext = A.Fake <ProFootballEntities>(); var weekCounts = new List <WeekCount>(); for (int i = 2016; i <= 2018; i++) { var weekCount = new WeekCount { SeasonID = i }; weekCounts.Add(weekCount); } A.CallTo(() => dbContext.WeekCounts.RemoveRange(A <IEnumerable <WeekCount> > .Ignored)).Returns(weekCounts); // Act var result = repository.RemoveEntities(dbContext, weekCounts); // Assert A.CallTo(() => dbContext.WeekCounts.RemoveRange(weekCounts)).MustHaveHappenedOnceExactly(); Assert.AreSame(weekCounts, result); }
public void RemoveWeekCounts_HappyPath() { // Arrange var dbContext = A.Fake <ProFootballEntities>(); var repository = new WeekCountRepository(dbContext); var weekCounts = new List <WeekCount>(); A.CallTo(() => dbContext.WeekCounts.RemoveRange(A <IEnumerable <WeekCount> > .Ignored)).Returns(weekCounts); // Act var result = repository.RemoveEntities(weekCounts); // Assert A.CallTo(() => dbContext.WeekCounts.RemoveRange(weekCounts)).MustHaveHappenedOnceExactly(); Assert.AreSame(weekCounts, result); }
public void RemoveWeekCounts_ExceptionCaught_LogsAndRethrowsException() { // Arrange var dbContext = A.Fake <ProFootballEntities>(); var repository = new WeekCountRepository(dbContext); var weekCounts = new List <WeekCount>(); A.CallTo(() => dbContext.WeekCounts.RemoveRange(A <IEnumerable <WeekCount> > .Ignored)).Throws <Exception>(); // Act IEnumerable <WeekCount> result = null; Assert.Throws <Exception>(() => result = repository.RemoveEntities(weekCounts)); // Assert Assert.IsNull(result); }