public void AddEntity_HappyPath() { // Arrange var dbContext = A.Fake <ProFootballEntities>(); var repository = new GameRepository(dbContext); var game = new Game(); A.CallTo(() => dbContext.Games.Add(A <Game> .Ignored)).Returns(game); // Act var result = repository.AddEntity(game); // Assert A.CallTo(() => dbContext.Games.Add(game)).MustHaveHappenedOnceExactly(); Assert.AreSame(game, result); }
public void AddEntity_ExceptionCaught_LogsAndRethrowsException() { // Arrange var dbContext = A.Fake <ProFootballEntities>(); var repository = new GameRepository(dbContext); var game = new Game(); A.CallTo(() => dbContext.Games.Add(A <Game> .Ignored)).Throws <Exception>(); // Act Game result = null; Assert.Throws <Exception>(() => result = repository.AddEntity(game)); // Assert Assert.IsNull(result); }