public async IAsyncEnumerable <EnrichedEvent> CreateEnrichedEventsAsync(Envelope <AppEvent> @event, RuleContext context, [EnumeratorCancellation] CancellationToken ct) { var commentCreated = (CommentCreated)@event.Payload; if (commentCreated.Mentions?.Length > 0) { var users = await userResolver.QueryManyAsync(commentCreated.Mentions, ct); if (users.Count > 0) { foreach (var user in users.Values) { var enrichedEvent = new EnrichedCommentEvent { MentionedUser = user }; enrichedEvent.Name = "UserMentioned"; SimpleMapper.Map(commentCreated, enrichedEvent); yield return(enrichedEvent); } } } }
public void Should_format_email_and_display_name_from_mentioned_user(string script) { var @event = new EnrichedCommentEvent { MentionedUser = user }; var result = sut.Format(script, @event); Assert.Equal("From me ([email protected], 123)", result); }
public void Should_not_trigger_check_if_condition_does_not_match() { TestForCondition("false", ctx => { var @event = new EnrichedCommentEvent(); var result = sut.Trigger(@event, ctx); Assert.False(result); }); }
public void Should_trigger_check_if_condition_matchs() { TestForCondition("true", ctx => { var @event = new EnrichedCommentEvent(); var result = sut.Trigger(new EnrichedCommentEvent(), ctx); Assert.True(result); }); }
public void Should_trigger_check_if_condition_is_empty() { TestForCondition(string.Empty, ctx => { var @event = new EnrichedCommentEvent(); var result = sut.Trigger(@event, ctx); Assert.True(result); }); }
public void Should_not_trigger_check_if_text_is_not_urgent() { TestForRealCondition("event.text.indexOf('urgent') >= 0", (handler, ctx) => { var @event = new EnrichedCommentEvent { Text = "just_gossip" }; var result = handler.Trigger(@event, ctx); Assert.False(result); }); }
public void Should_not_trigger_check_if_email_is_not_correct() { TestForRealCondition("event.mentionedUser.email == '*****@*****.**'", (handler, ctx) => { var @event = new EnrichedCommentEvent { MentionedUser = UserMocks.User("1", "*****@*****.**") }; var result = handler.Trigger(@event, ctx); Assert.False(result); }); }