public void GetById_ShouldThrow_WhenSearchId_IsNull() { // Arrange & Act var mockDbSet = new Mock <DbSet <IDbModel> >(); var mockDbContext = new Mock <ISportSquareDbContext>(); mockDbContext.Setup(db => db.Set <IDbModel>()).Returns(mockDbSet.Object); var fakeGenericRepository = new FakeGenericRepository(mockDbContext.Object); // Assert Assert.Throws <ArgumentNullException>(() => fakeGenericRepository.GetById(null)); }
public void GetById_Should_ReturnNUll_WhenSearchIdIsValid_ButEntityDoesntExist() { // Arrange var mockDbSet = new Mock <DbSet <IDbModel> >(); var mockDbContext = new Mock <ISportSquareDbContext>(); mockDbContext.Setup(db => db.Set <IDbModel>()).Returns(mockDbSet.Object); var fakeGenericRepository = new FakeGenericRepository(mockDbContext.Object); mockDbSet.Setup(mock => mock.Find(It.IsAny <object>())).Returns <IDbModel>(null); // Act var id = 777; var resultEntity = fakeGenericRepository.GetById(id); // Assert Assert.IsNull(resultEntity); }
public void GetById_Should_ReturnSearchedEntity_WhenSearchIdAndEntityExist() { // Arrange var entity = new Mock <IDbModel>(); var mockDbSet = new Mock <DbSet <IDbModel> >(); var mockDbContext = new Mock <ISportSquareDbContext>(); mockDbContext.Setup(db => db.Set <IDbModel>()).Returns(mockDbSet.Object); var fakeGenericRepository = new FakeGenericRepository(mockDbContext.Object); mockDbSet.Setup(mock => mock.Find(It.IsAny <object>())).Returns(entity.Object); // Act var id = 777; var resultEntity = fakeGenericRepository.GetById(id); // Assert Assert.AreSame(entity.Object, resultEntity); }
public void GetById_ShouldInvoke_dbSetFind_WhenSearchId_IsValid() { // Arrange var mockDbSet = new Mock <DbSet <IDbModel> >(); var mockDbContext = new Mock <ISportSquareDbContext>(); mockDbContext.Setup(db => db.Set <IDbModel>()).Returns(mockDbSet.Object); var fakeGenericRepository = new FakeGenericRepository(mockDbContext.Object); mockDbSet.Setup(mock => mock.Find(It.IsAny <object>())).Returns <IDbModel>(null); // Act var id = 777; fakeGenericRepository.GetById(id); // Assert mockDbSet.Verify((x) => x.Find(It.IsAny <object>()), Times.Once); }