LCOV - code coverage report
Current view: top level - Cqrs.Tests/Snapshots - When_saving_a_snapshotable_aggregate_for_each_change.cs Hit Total Coverage
Test: doc-coverage.info Lines: 0 5 0.0 %
Date: 2017-07-26

          Line data    Source code
       1             : using cdmdotnet.Logging;
       2             : using Cqrs.Domain;
       3             : using Cqrs.Domain.Factories;
       4             : using Cqrs.Events;
       5             : using Cqrs.Authentication;
       6             : using Cqrs.Snapshots;
       7             : using Cqrs.Tests.Substitutes;
       8             : using NUnit.Framework;
       9             : 
      10             : namespace Cqrs.Tests.Snapshots
      11             : {
      12             :         [TestFixture]
      13             :         public class When_saving_a_snapshotable_aggregate_for_each_change
      14           0 :         {
      15             :                 private TestInMemorySnapshotStore _snapshotStore;
      16             :                 private IUnitOfWork<ISingleSignOnToken> _unitOfWork;
      17             :                 private TestSnapshotAggregate _aggregate;
      18             : 
      19             :                 [SetUp]
      20           0 :                 public void Setup()
      21             :                 {
      22             :                         IEventStore<ISingleSignOnToken> eventStore = new TestInMemoryEventStore();
      23             :                         var eventPublisher = new TestEventPublisher();
      24             :                         _snapshotStore = new TestInMemorySnapshotStore();
      25             :                         var snapshotStrategy = new DefaultSnapshotStrategy<ISingleSignOnToken>();
      26             :                         var dependencyResolver = new TestDependencyResolver(null);
      27             :                         var aggregateFactory = new AggregateFactory(dependencyResolver, dependencyResolver.Resolve<ILogger>());
      28             :                         var repository = new SnapshotRepository<ISingleSignOnToken>(_snapshotStore, snapshotStrategy, new AggregateRepository<ISingleSignOnToken>(aggregateFactory, eventStore, eventPublisher, new NullCorrelationIdHelper()), eventStore, aggregateFactory);
      29             :                         _unitOfWork = new UnitOfWork<ISingleSignOnToken>(repository);
      30             :                         _aggregate = new TestSnapshotAggregate();
      31             : 
      32             :                         for (var i = 0; i < 20; i++)
      33             :                         {
      34             :                                 _unitOfWork.Add(_aggregate);
      35             :                                 _aggregate.DoSomething();
      36             :                                 _unitOfWork.Commit();
      37             :                         }
      38             : 
      39             :                 }
      40             : 
      41             :                 [Test]
      42           0 :                 public void Should_snapshot_15th_change()
      43             :                 {
      44             :                         Assert.AreEqual(15, _snapshotStore.SavedVersion);
      45             :                 }
      46             : 
      47             :                 [Test]
      48           0 :                 public void Should_not_snapshot_first_event()
      49             :                 {
      50             :                         Assert.False(_snapshotStore.FirstSaved);
      51             :                 }
      52             : 
      53             :                 [Test]
      54           0 :                 public void Should_get_aggregate_back_correct()
      55             :                 {
      56             :                         Assert.AreEqual(20, _unitOfWork.Get<TestSnapshotAggregate>(_aggregate.Id).Number);
      57             :                 }
      58             :         }
      59             : }

Generated by: LCOV version 1.10