public async Task GetByPredicateTestAsync() { //Arrange var expectation = new DummyDataModel { Id = 1, ATableColumn = "expected" }; var dummyCollection = new List <DummyDataModel> { expectation, new DummyDataModel { Id = 2, ATableColumn = "not expected" } }; var mockDbSet = new DbSetMock <DummyDataModel>(dummyCollection, (k, c) => k.Id, true); var mockDbContext = Mock.Of <DbContext>(MockBehavior.Strict); Mock.Get(mockDbContext) .Setup(db => db.Set <DummyDataModel>()) .Returns(mockDbSet.Object); //Act var repo = new Repository <DummyDataModel>(mockDbContext); var actual = await repo.GetByPredicateAsync(dummy => dummy.ATableColumn == expectation.ATableColumn); //Assert actual.Should().BeEquivalentTo(expectation); Mock.Get(mockDbContext).Verify(); }
public async Task AddAsyncTestAsync() { //Arrange var dummyModel = new DummyDataModel { Id = 1, ATableColumn = "expected" }; var mockDbContext = Mock.Of <DbContext>(MockBehavior.Strict); Mock.Get(mockDbContext) .Setup(db => db.AddAsync(dummyModel, It.IsAny <CancellationToken>())) .ReturnsAsync(default(EntityEntry <DummyDataModel>)); //Act var repo = new Repository <DummyDataModel>(mockDbContext); await repo.AddAsync(dummyModel); //Assert Mock.Get(mockDbContext) .Verify(db => db.AddAsync(dummyModel, It.IsAny <CancellationToken>()), Times.Once); }
public void UpdateTest() { //Arrange var dummyModel = new DummyDataModel(); var mockDbSet = Mock.Of <DbSet <DummyDataModel> >(); var mockDbContext = Mock.Of <DbContext>(MockBehavior.Strict); Mock.Get(mockDbContext) .Setup(db => db.Set <DummyDataModel>()) .Returns(mockDbSet); //Act var repo = new Repository <DummyDataModel>(mockDbContext); repo.Update(dummyModel); //Assert Mock.Get(mockDbContext).Verify(); Mock.Get(mockDbSet) .Verify(e => e.Update(dummyModel), Times.Once); }