public async Task Verify_correctly_return_of_handled_event_even_if_a_single_Event_is_handled()
        {
            var cs = await GenerateCreatedEvent().ConfigureAwait(false);

            var rm = new SimpleTestAtomicReadModel(new SampleAggregateId(_aggregateIdSeed));

            rm.ProcessChangeset(cs);

            var evta = new SampleAggregateDerived1();
            var evtb = new SampleAggregateTouched();
            var cs2  = await ProcessEvents(new DomainEvent[] { evta, evtb }, p => new AtomicAggregateId(p)).ConfigureAwait(false);

            Assert.IsTrue(rm.ProcessChangeset(cs2));
        }
Example #2
0
        public async Task Verify_notification_is_not_thrown_if_event_is_not_handled()
        {
            var evt = new SampleAggregateDerived1();

            SetBasePropertiesToEvent(evt, null);
            var changeset = await ProcessEvent(evt).ConfigureAwait(false);

            //And finally check if everything is projected
            _sut = await CreateSutAndStartProjectionEngineAsync(autostart : false).ConfigureAwait(false);

            _sut.AtomicReadmodelNotifier = Substitute.For <IAtomicReadmodelNotifier>();
            await _sut.StartAsync().ConfigureAwait(false);

            //wait that commit was projected
            GetTrackerAndWaitForChangesetToBeProjected("SimpleTestAtomicReadModel");

#pragma warning disable CS4014 // Because this call is not awaited, execution of the current method continues before the call is completed
            _sut.AtomicReadmodelNotifier
            .DidNotReceive()
            .ReadmodelUpdatedAsync(Arg.Any <IAtomicReadModel>(), changeset);
#pragma warning restore CS4014 // Because this call is not awaited, execution of the current method continues before the call is completed
        }
Example #3
0
        protected Task <Changeset> GenerateSampleAggregateDerived1()
        {
            var evt = new SampleAggregateDerived1();

            return(ProcessEvent(evt, p => new SampleAggregateId(p)));
        }