public static TMsg Message <TMsg>(this IWaitResults res, Predicate <TMsg> selector = null) where TMsg : class { var sel = selector ?? (m => true); var msg = res.All.OfType <TMsg>().FirstOrDefault(t => sel(t)); return(msg ?? MessageWithMetadata(res, selector)?.Message); }
public void When_expect_more_than_one_messages() { var cmd = new CreateAndChangeSampleAggregateCommand(100, Guid.NewGuid()); _results = GridNode.NewCommandWaiter(Timeout) .Expect <SampleAggregateChangedEvent>(e => e.SourceId == cmd.AggregateId) .And <SampleAggregateCreatedEvent>(e => e.SourceId == cmd.AggregateId) .Create() .Execute(cmd).Result; }
public void Given_command_executes_with_waiter_When_fetching_results() { _syncCommand = new LongOperationCommand(1000, Guid.NewGuid()); _results = GridNode.NewCommandWaiter(Timeout) .Expect <AggregateChangedEventNotification>(e => e.AggregateId == _syncCommand.AggregateId) .Create() .Execute(_syncCommand) .Result; _changedEvent = _results.Message <AggregateChangedEventNotification>(); _aggregate = LoadAggregate <SampleAggregate>(_syncCommand.AggregateId); }
public WaitEndInfo(IWaitResults results, object lastMessage) { Results = results; LastMessage = lastMessage; }
public static IMessageMetadataEnvelop <TMsg> MessageWithMetadata <TMsg>(this IWaitResults res, Predicate <TMsg> selector = null) { var sel = selector ?? (m => true); return(res.All.OfType <IMessageMetadataEnvelop <TMsg> >().FirstOrDefault(t => sel(t.Message))); }