コード例 #1
0
        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);
        }
コード例 #2
0
        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);
コード例 #3
0
        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);
        }