public async Task FindEntityAsync_EntityFoundInDataStore_ReturnsEntity() { // Arrange var repository = new LeagueRepository(); var dbContext = A.Fake <ProFootballEntities>(); var name = "League"; League league = new League(); A.CallTo(() => dbContext.Leagues.FindAsync(A <string> .Ignored)).Returns(league); // Act var result = await repository.FindEntityAsync(dbContext, name); // Assert A.CallTo(() => dbContext.Leagues.FindAsync(name)).MustHaveHappenedOnceExactly(); Assert.AreSame(league, result); }
public void FindEntityAsync_InvalidOperationExceptionCaught_ThrowsObjectNotFoundException() { // Arrange var repository = new LeagueRepository(); var dbContext = A.Fake <ProFootballEntities>(); var name = "League"; A.CallTo(() => dbContext.Leagues.FindAsync(A <string> .Ignored)).Throws <InvalidOperationException>(); // Act League result = null; Assert.ThrowsAsync <ObjectNotFoundException>(async() => { result = await repository.FindEntityAsync(dbContext, name); }); // Assert Assert.IsNull(result); }
public void FindEntityAsync_EntityNotFoundInDataStore_ThrowsObjectNotFoundException() { // Arrange var repository = new LeagueRepository(); var dbContext = A.Fake <ProFootballEntities>(); var name = "League"; League league = null; A.CallTo(() => dbContext.Leagues.FindAsync(A <string> .Ignored)).Returns(league); // Act League result = null; Assert.ThrowsAsync <ObjectNotFoundException>(async() => { result = await repository.FindEntityAsync(dbContext, name); }); // Assert A.CallTo(() => dbContext.Leagues.FindAsync(name)).MustHaveHappenedOnceExactly(); Assert.IsNull(result); }