public void TestEventMultipleEmitSourcing_AfterManyMultiCommand_TestStateSignalled() { var eventProbe = CreateTestProbe("event-probe"); Sys.EventStream.Subscribe(eventProbe, typeof(DomainEvent <TestAggregate, TestAggregateId, TestStateSignalEvent>)); var aggregateManager = Sys.ActorOf(Props.Create(() => new TestAggregateManager()), "test-aggregatemanager"); var aggregateId = TestAggregateId.New; var commandId = CommandId.New; var command = new CreateTestCommand(aggregateId, commandId); aggregateManager.Tell(command); var test = new Test(TestId.New); var testSourceId = CommandId.New; var testCommand = new AddFourTestsCommand(aggregateId, testSourceId, test); aggregateManager.Tell(testCommand); var poisonCommand = new PoisonTestAggregateCommand(aggregateId); aggregateManager.Tell(poisonCommand); var reviveCommand = new PublishTestStateCommand(aggregateId); aggregateManager.Tell(reviveCommand); eventProbe .ExpectMsg <DomainEvent <TestAggregate, TestAggregateId, TestStateSignalEvent> >( x => x.AggregateEvent.LastSequenceNr == 5 && x.AggregateEvent.Version == 5 && x.AggregateEvent.AggregateState.TestCollection.Count == 4); }
public void TestEventSourcing_AfterManyTests_TestStateSignalled() { var probe = CreateTestActor("probe"); Sys.EventStream.Subscribe(probe, typeof(DomainEvent <TestAggregate, TestAggregateId, TestStateSignalEvent>)); var aggregateManager = Sys.ActorOf(Props.Create(() => new TestAggregateManager()), "test-aggregatemanager"); var aggregateId = TestAggregateId.New; var command = new CreateTestCommand(aggregateId); aggregateManager.Tell(command); for (var i = 0; i < 5; i++) { var test = new Test(TestId.New); var testCommand = new AddTestCommand(aggregateId, test); aggregateManager.Tell(testCommand); } var poisonCommand = new PoisonTestAggregateCommand(aggregateId); aggregateManager.Tell(poisonCommand); var reviveCommand = new PublishTestStateCommand(aggregateId); aggregateManager.Tell(reviveCommand); ExpectMsg <DomainEvent <TestAggregate, TestAggregateId, TestStateSignalEvent> >( x => x.AggregateEvent.LastSequenceNr == 6 && x.AggregateEvent.Version == 6 && x.AggregateEvent.AggregateState.TestCollection.Count == 5); }
public void TestEventSourcing_AfterManyTests_TestStateSignalled() { var eventProbe = CreateTestProbe("event-probe"); Sys.EventStream.Subscribe(eventProbe, typeof(IDomainEvent <TestAggregateId, TestStateSignalEvent>)); var aggregateId = TestAggregateId.New; var commandId = CommandId.New; var bus = Sys.GetExtension <ServiceProviderHolder>().ServiceProvider.GetRequiredService <ICommandBus>(); var command = new CreateTestCommand(aggregateId, commandId); bus.Publish(command).GetAwaiter().GetResult(); for (var i = 0; i < 5; i++) { var test = new Test(TestId.New); var testCommandId = CommandId.New; var testCommand = new AddTestCommand(aggregateId, testCommandId, test); bus.Publish(testCommand).GetAwaiter().GetResult(); } var poisonCommand = new PoisonTestAggregateCommand(aggregateId); bus.Publish(poisonCommand).GetAwaiter().GetResult(); var reviveCommand = new PublishTestStateCommand(aggregateId); bus.Publish(reviveCommand).GetAwaiter().GetResult(); eventProbe.ExpectMsg <IDomainEvent <TestAggregateId, TestStateSignalEvent> >( x => x.AggregateEvent.LastSequenceNr == 6 && x.AggregateEvent.Version == 6 && x.AggregateEvent.AggregateState.TestCollection.Count == 5); }
public void InitialState_AfterAggregateCreation_TestStateSignalled() { var probe = CreateTestActor("probeActor"); Sys.EventStream.Subscribe(probe, typeof(DomainEvent <TestAggregate, TestAggregateId, TestStateSignalEvent>)); var aggregateManager = Sys.ActorOf(Props.Create(() => new TestAggregateManager()), "test-aggregatemanager"); var aggregateId = TestAggregateId.New; var command = new CreateTestCommand(aggregateId); var nextCommand = new PublishTestStateCommand(aggregateId); aggregateManager.Tell(command); aggregateManager.Tell(nextCommand); ExpectMsg <DomainEvent <TestAggregate, TestAggregateId, TestStateSignalEvent> >( x => x.AggregateEvent.LastSequenceNr == 1 && x.AggregateEvent.Version == 1 && x.AggregateEvent.State.TestCollection.Count == 0); }
public void InitialState_AfterAggregateCreation_TestStateSignalled() { var eventProbe = CreateTestProbe("event-probe"); Sys.EventStream.Subscribe(eventProbe, typeof(IDomainEvent <TestAggregateId, TestStateSignalEvent>)); var bus = Sys.GetExtension <ServiceProviderHolder>().ServiceProvider.GetRequiredService <ICommandBus>(); var aggregateId = TestAggregateId.New; var commandId = CommandId.New; var command = new CreateTestCommand(aggregateId, commandId); var nextCommand = new PublishTestStateCommand(aggregateId); bus.Publish(command).GetAwaiter().GetResult(); bus.Publish(nextCommand).GetAwaiter().GetResult(); eventProbe.ExpectMsg <IDomainEvent <TestAggregateId, TestStateSignalEvent> >( x => x.AggregateEvent.LastSequenceNr == 1 && x.AggregateEvent.Version == 1 && x.AggregateEvent.AggregateState.TestCollection.Count == 0); }
private bool Execute(PublishTestStateCommand command) { Signal(new TestStateSignalEvent(State, LastSequenceNr, Version)); return(true); }
public Task <IExecutionResult> Execute(PublishTestStateCommand command) { Signal(new TestStateSignalEvent(State, LastSequenceNr, Version)); return(Task.FromResult(ExecutionResult.Success())); }