Ejemplo n.º 1
0
 public void Should_save_uncommited_changes()
 {
     _aggregate.DoSomething();
     _unitOfWork.Add(_aggregate);
     _unitOfWork.Commit();
     Assert.AreEqual(1, _eventStore.Events.Count);
 }
 public void Should_save_uncommited_changes()
 {
     _aggregate.DoSomething();
     _session.Add(_aggregate);
     _session.Commit();
     Assert.Equal(1, _eventStore.Events.Count);
 }
Ejemplo n.º 3
0
 public void Should_save_uncommitted_changes()
 {
     _aggregate.DoSomething();
     _session.Add(_aggregate);
     _session.Commit();
     Assert.Single(_eventStore.Events);
 }
Ejemplo n.º 4
0
        public async Task SavesUncommittedChanges()
        {
            _aggregate.DoSomething();
            _session.Add(_aggregate);
            await _session.CommitAsync();

            Assert.AreEqual(1, _eventStore.Events.Count);
        }
Ejemplo n.º 5
0
        public async Task Should_publish_events()
        {
            _aggregate.DoSomething();
            await _session.Add(_aggregate);

            await _session.Commit();

            Assert.Equal(1, _eventPublisher.Published);
        }
Ejemplo n.º 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);
        }
Ejemplo n.º 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));
        }
Ejemplo n.º 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);
        }
Ejemplo n.º 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();
        }
Ejemplo n.º 10
0
 public void Should_publish_events()
 {
     _aggregate.DoSomething();
     _session.Add(_aggregate);
     _session.Commit();
     Assert.Equal(1, _eventPublisher.Published);
 }
Ejemplo n.º 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);
        }
Ejemplo n.º 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)));
        }
Ejemplo n.º 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)));
        }
Ejemplo n.º 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);
        }
Ejemplo n.º 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);
        }
Ejemplo n.º 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));
        }
Ejemplo n.º 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);
        }
Ejemplo n.º 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);
        }
        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);
        }
Ejemplo n.º 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));
        }
Ejemplo n.º 21
0
        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));
        }
Ejemplo n.º 22
0
        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();
        }
Ejemplo n.º 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();
        }
Ejemplo n.º 25
0
 public void Should_save_uncommited_changes()
 {
     _aggregate.DoSomething();
     _rep.Save(_aggregate, 0);
     Assert.AreEqual(1, _eventStore.SavedEvents.Count);
 }