public void EfRepo_Should_Call_GetDbSet() { //Arrange & Act FakeClass fake = new FakeClass(); var mockedDbSet = new Mock <IDbSet <FakeClass> >(); mockedDbSet.Setup(x => x.Add(fake)).Verifiable(); var mockedDbContext = new Mock <IEfSociumDbContext>(); mockedDbContext.Setup(c => c.GetDbSet <FakeClass>()).Returns(mockedDbSet.Object); EfRepository <FakeClass> repo = new EfRepository <FakeClass>(mockedDbContext.Object); //Assert mockedDbContext.Verify(c => c.GetDbSet <FakeClass>(), Times.Once); }
public void EfRepo_Call_Find_Should_Return_Correct() { //Arrange object id = 1; FakeClass fake = new FakeClass(); var mockedDbSet = new Mock <IDbSet <FakeClass> >(); mockedDbSet.Setup(x => x.Find(It.IsAny <object>())).Returns(fake); var mockedDbContext = new Mock <IEfSociumDbContext>(); mockedDbContext.Setup(c => c.GetDbSet <FakeClass>()).Returns(mockedDbSet.Object); EfRepository <FakeClass> repo = new EfRepository <FakeClass>(mockedDbContext.Object); //Act var res = repo.GetBy(id); //Assert Assert.AreSame(fake, res); }
public void EfRepo_Call_Find_When_Call_GetBy() { //Arrange object id = 1; FakeClass fake = new FakeClass(); var mockedDbSet = new Mock <IDbSet <FakeClass> >(); mockedDbSet.Setup(x => x.Find(It.IsAny <object>())).Verifiable(); var mockedDbContext = new Mock <IEfSociumDbContext>(); mockedDbContext.Setup(c => c.GetDbSet <FakeClass>()).Returns(mockedDbSet.Object); EfRepository <FakeClass> repo = new EfRepository <FakeClass>(mockedDbContext.Object); //Act repo.GetBy(id); //Assert mockedDbSet.Verify(s => s.Find(It.IsAny <object>()), Times.Once); }
public void EfRepo_Should_Return_Querable_When_GetAll() { //Arrange var mockedCollection = FakeClass.GetCollection(); Expression <Func <FakeClass, bool> > expectedExpression = x => x.Id > 0; IEnumerable <FakeClass> expectedResult = mockedCollection.Where(expectedExpression.Compile()).ToList(); var queryable = mockedCollection.AsQueryable(); var mockedDbSet = new Mock <IDbSet <FakeClass> >(); mockedDbSet.As <IQueryable <FakeClass> >().Setup(m => m.Provider).Returns(queryable.Provider); mockedDbSet.As <IQueryable <FakeClass> >().Setup(m => m.Expression).Returns(queryable.Expression); mockedDbSet.As <IQueryable <FakeClass> >().Setup(m => m.ElementType).Returns(queryable.ElementType); mockedDbSet.As <IQueryable <FakeClass> >().Setup(m => m.GetEnumerator()).Returns(queryable.GetEnumerator()); var mockedDbContext = new Mock <IEfSociumDbContext>(); mockedDbContext.Setup(c => c.GetDbSet <FakeClass>()).Returns(mockedDbSet.Object); EfRepository <FakeClass> repo = new EfRepository <FakeClass>(mockedDbContext.Object); //Act var res = repo.GetAll(); //Assert CollectionAssert.AreEquivalent(expectedResult, res.ToList()); }