private IUnitOfWork GetUnitOfWork(out DataContext inMemoryContext) { inMemoryContext = InMemoryContextHelper.Create(); var userRepository = new UserRepository(inMemoryContext); var dt = _fixture.Create <DateTime>(); var mockDateTimeService = MockDateTimeServiceHelper.Create(dt); var unitOfWork = new Persistence.UnitOfWork(inMemoryContext, mockDateTimeService, userRepository); return(unitOfWork); }
public async Task Create_Should_Be_Able_To_Add_User() { // Arrange... var user = _fixture.Create <User>(); var inMemoryContext = InMemoryContextHelper.Create(); var userRepository = new UserRepository(inMemoryContext); var dt = _fixture.Create <DateTime>(); var mockDateTimeService = MockDateTimeServiceHelper.Create(dt); var sut = new Persistence.UnitOfWork(inMemoryContext, mockDateTimeService, userRepository); // Act... sut.UserRepository.Create(user); await sut.CompleteAsync(); // Assert... inMemoryContext.Users.Count().Should().Be(1); inMemoryContext.Users.First().Should().Be(user); user.Id.Should().NotBe(default);
public async Task GivenAListOfCommands_WhenCommitAsyncIsCalled_ContextSaveChangesIsCalled() { // arrange var repository = Mock.Of <IRepository <TestEntity> >(); var context = Mock.Of <IDbContext>(); Mock.Get(repository).Setup(x => x.DbContext).Returns(context); // act using (var target = new Persistence.UnitOfWork(repository)) { var testEntity = new TestEntity { TestProperty = "Value" }; repository.Add(testEntity); await target.CommitAsync().ConfigureAwait(false); } // verify Mock.Get(context).Verify(x => x.SaveChangesAsync(), Times.Once); }