Ejemplo n.º 1
0
        public async Task SubAggregate_should_write_to_root_aggregate()
        {
            var eventStore = new InMemoryEventStore();

            var session = _sessionFactory(eventStore, _eventPublisherMock.Object);

            var subAggregate = StubSubAggregate.Create("Walter White");

            session.Add(subAggregate);

            await session.CommitAsync();

            var rootAggregate = await session.GetByIdAsync <StubAggregate>(subAggregate.AggregateId);

            rootAggregate.Name.Should().Be(subAggregate.Name);
        }
Ejemplo n.º 2
0
        public async Task Should_retrieve_the_aggregate_from_tracking_for_subAggregate()
        {
            var eventStore = new InMemoryEventStore();

            var session = _sessionFactory(eventStore, _eventPublisherMock.Object);

            var stubAggregate1 = StubSubAggregate.Create("Walter White");

            session.Add(stubAggregate1);

            await session.CommitAsync();

            stubAggregate1.ChangeName("Changes");

            var stubAggregate2 = await session.GetByIdAsync <StubSubAggregate>(stubAggregate1.AggregateId);


            stubAggregate1.Should().NotBeSameAs(stubAggregate2);
        }