コード例 #1
0
ファイル: When_saving.cs プロジェクト: zarmsen/CQRS
 public void Should_save_uncommited_changes()
 {
     _aggregate.DoSomething();
     _unitOfWork.Add(_aggregate);
     _unitOfWork.Commit();
     Assert.AreEqual(1, _eventStore.Events.Count);
 }
コード例 #2
0
 public void Should_save_uncommited_changes()
 {
     _aggregate.DoSomething();
     _session.Add(_aggregate);
     _session.Commit();
     Assert.Equal(1, _eventStore.Events.Count);
 }
コード例 #3
0
 public void Should_save_uncommitted_changes()
 {
     _aggregate.DoSomething();
     _session.Add(_aggregate);
     _session.Commit();
     Assert.Single(_eventStore.Events);
 }
コード例 #4
0
        public async Task SavesUncommittedChanges()
        {
            _aggregate.DoSomething();
            _session.Add(_aggregate);
            await _session.CommitAsync();

            Assert.AreEqual(1, _eventStore.Events.Count);
        }
コード例 #5
0
        public async Task Should_publish_events()
        {
            _aggregate.DoSomething();
            await _session.Add(_aggregate);

            await _session.Commit();

            Assert.Equal(1, _eventPublisher.Published);
        }
コード例 #6
0
        public void Should_set_version()
        {
            var agg = new TestAggregateNoParameterLessConstructor(1);

            agg.DoSomething();
            agg.DoSomething();
            _session.Add(agg);
            _session.Commit();
            Assert.Equal(1, _eventStore.Events.First().Version);
            Assert.Equal(2, _eventStore.Events.Last().Version);
        }
コード例 #7
0
        public void Should_set_version()
        {
            var agg = new TestAggregateNoParameterLessConstructor(1);

            agg.DoSomething();
            agg.DoSomething();
            _unitOfWork.Add(agg);
            _unitOfWork.Commit();
            Assert.That(_eventStore.Events.First().Version, Is.EqualTo(1));
            Assert.That(_eventStore.Events.Last().Version, Is.EqualTo(2));
        }
コード例 #8
0
        public async Task SetsVersion()
        {
            var agg = new TestAggregateNoParameterLessConstructor(1);

            agg.DoSomething();
            agg.DoSomething();
            _session.Add(agg);
            await _session.CommitAsync();

            Assert.AreEqual(1, _eventStore.Events.First().Version);
            Assert.AreEqual(2, _eventStore.Events.Last().Version);
        }
コード例 #9
0
        public async Task CreatesLockAndSavesUncommittedChangesAndDisposesLock()
        {
            var distributedLock = A.Fake <IRedLock>();

            A.CallTo(() => distributedLock.IsAcquired).Returns(true);
            A.CallTo(() => distributedLock.Resource).Returns(_aggregate.Id);
            A.CallTo(() => _distributedLockFactory.CreateLockAsync(_aggregate.Id, A <TimeSpan> ._, A <TimeSpan> ._, A <TimeSpan> ._, null)).Returns(distributedLock);

            _aggregate.DoSomething();
            _session.Add(_aggregate);
            await _session.CommitAsync();

            Assert.AreEqual(1, _eventStore.Events.Count);
            A.CallTo(() => _distributedLockFactory.CreateLockAsync(_aggregate.Id, A <TimeSpan> ._, A <TimeSpan> ._, A <TimeSpan> ._, null)).MustHaveHappenedOnceExactly();
            A.CallTo(() => distributedLock.Dispose()).MustHaveHappened();
        }
コード例 #10
0
 public void Should_publish_events()
 {
     _aggregate.DoSomething();
     _session.Add(_aggregate);
     _session.Commit();
     Assert.Equal(1, _eventPublisher.Published);
 }
コード例 #11
0
        public void Should_add_new_aggregate()
        {
            var agg = new TestAggregateNoParameterLessConstructor(1, Guid.Empty);

            agg.DoSomething();
            _rep.Save(agg, 0);
            Assert.AreEqual(1, _eventStore.SavedEvents.Count);
        }
コード例 #12
0
        public void Should_set_date()
        {
            var agg = new TestAggregateNoParameterLessConstructor(1, Guid.Empty);

            agg.DoSomething();
            _rep.Save(agg, 0);
            Assert.That(_eventStore.SavedEvents.First().Timestamp, Is.InRange(DateTimeOffset.UtcNow.AddSeconds(-1), DateTimeOffset.UtcNow.AddSeconds(1)));
        }
コード例 #13
0
        public void Should_set_date()
        {
            var agg = new TestAggregateNoParameterLessConstructor(1);

            agg.DoSomething();
            _unitOfWork.Add(agg);
            _unitOfWork.Commit();
            Assert.That(_eventStore.Events.First().TimeStamp, Is.InRange(DateTimeOffset.UtcNow.AddSeconds(-1), DateTimeOffset.UtcNow.AddSeconds(1)));
        }
コード例 #14
0
        public void Should_add_new_aggregate()
        {
            var agg = new TestAggregateNoParameterLessConstructor(1);

            agg.DoSomething();
            _unitOfWork.Add(agg);
            _unitOfWork.Commit();
            Assert.AreEqual(1, _eventStore.Events.Count);
        }
コード例 #15
0
        public async Task AddsNewAggregate()
        {
            var agg = new TestAggregateNoParameterLessConstructor(1);

            agg.DoSomething();
            _session.Add(agg);
            await _session.CommitAsync();

            Assert.AreEqual(1, _eventStore.Events.Count);
        }
コード例 #16
0
        public void Should_set_id()
        {
            var id  = Guid.NewGuid();
            var agg = new TestAggregateNoParameterLessConstructor(1, id);

            agg.DoSomething();
            _unitOfWork.Add(agg);
            _unitOfWork.Commit();
            Assert.That(_eventStore.Events.First().Id, Is.EqualTo(id));
        }
コード例 #17
0
        public void Should_set_id()
        {
            var id  = Guid.NewGuid();
            var agg = new TestAggregateNoParameterLessConstructor(1, id);

            agg.DoSomething();
            _session.Add(agg);
            _session.Commit();
            Assert.Equal(id, _eventStore.Events.First().Id);
        }
コード例 #18
0
        public async Task SetsId()
        {
            var id  = Guid.NewGuid().ToString();
            var agg = new TestAggregateNoParameterLessConstructor(1, id);

            agg.DoSomething();
            _session.Add(agg);
            await _session.CommitAsync();

            Assert.AreEqual(id, _eventStore.Events.First().Id);
        }
コード例 #19
0
        public void Setup()
        {
            _id = Guid.NewGuid();
            var eventStore = new TestInMemoryEventStore();

            _repository = new Repository(eventStore);
            var aggreagate = new TestAggregateNoParameterLessConstructor(1, _id);

            aggreagate.DoSomething();
            _repository.Save(aggreagate);
        }
コード例 #20
0
        public async Task SetsDate()
        {
            var agg = new TestAggregateNoParameterLessConstructor(1);

            agg.DoSomething();
            _session.Add(agg);
            await _session.CommitAsync();

            Assert.IsTrue(_eventStore.Events.First().TimeStamp >= DateTimeOffset.UtcNow.AddSeconds(-1));
            Assert.IsTrue(_eventStore.Events.First().TimeStamp <= DateTimeOffset.UtcNow.AddSeconds(1));
        }
コード例 #21
0
ファイル: When_saving.cs プロジェクト: cedheim/CQRSLite
        public async Task Should_set_date()
        {
            var agg = new TestAggregateNoParameterLessConstructor(1);

            agg.DoSomething();
            await _session.Add(agg);

            await _session.Commit();

            Assert.InRange(_eventStore.Events.First().TimeStamp, DateTimeOffset.UtcNow.AddSeconds(-1), DateTimeOffset.UtcNow.AddSeconds(1));
        }
コード例 #22
0
ファイル: When_saving.cs プロジェクト: cedheim/CQRSLite
        public async Task Should_add_new_aggregate()
        {
            var agg = new TestAggregateNoParameterLessConstructor(1);

            agg.DoSomething();
            await _session.Add(agg);

            await _session.Commit();

            Assert.Single(_eventStore.Events);
        }
        public When_getting_aggregate_without_contructor()
        {
            _id = Guid.NewGuid();
            var eventStore = new TestInMemoryEventStore();

            _repository = new Repository(eventStore);
            var aggreagate = new TestAggregateNoParameterLessConstructor(1, _id);

            aggreagate.DoSomething();
            Task.Run(() => _repository.Save(aggreagate)).Wait();
        }
コード例 #24
0
        public GetAggregateWithoutConstructor()
        {
            _id = Guid.NewGuid().ToString();
            var eventStore = new TestInMemoryEventStore();

            _repository = new Repository(eventStore);
            var aggreagate = new TestAggregateNoParameterLessConstructor(1, _id);

            aggreagate.DoSomething();
            _repository.SaveAsync(aggreagate).Wait();
        }
コード例 #25
0
 public void Should_save_uncommited_changes()
 {
     _aggregate.DoSomething();
     _rep.Save(_aggregate, 0);
     Assert.AreEqual(1, _eventStore.SavedEvents.Count);
 }