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)); }
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 }
protected Task <Changeset> GenerateSampleAggregateDerived1() { var evt = new SampleAggregateDerived1(); return(ProcessEvent(evt, p => new SampleAggregateId(p))); }