fix: Update flaky notification tests (#1728)

This commit is contained in:
Pranav Raj S 2021-02-03 17:55:27 +05:30 committed by GitHub
parent 5d5e75ce9c
commit 7748e0c56e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 10 additions and 6 deletions

View file

@ -10,7 +10,7 @@ const TWITTER_HASH_REGEX = /(^|\s)#(\w+)/g;
const TWITTER_HASH_REPLACEMENT = const TWITTER_HASH_REPLACEMENT =
'$1<a href="https://twitter.com/hashtag/$2" target="_blank" rel="noreferrer nofollow noopener">#$2</a>'; '$1<a href="https://twitter.com/hashtag/$2" target="_blank" rel="noreferrer nofollow noopener">#$2</a>';
const USER_MENTIONS_REGEX = /mention:\/\/(user|team)\/(\d+)\/([\w\s]+)/gm; const USER_MENTIONS_REGEX = /mention:\/\/(user|team)\/(\d+)\/(.+)/gm;
class MessageFormatter { class MessageFormatter {
constructor(message, isATweet = false) { constructor(message, isATweet = false) {

View file

@ -56,7 +56,8 @@ class NotificationListener < BaseListener
def generate_notifications_for_mentions(message, account) def generate_notifications_for_mentions(message, account)
return unless message.private? return unless message.private?
mentioned_ids = message.content.scan(%r{\(mention://(user|team)/(\d+)/([\w\s]+)\)}).map(&:second).uniq mentioned_ids = message.content.scan(%r{\(mention://(user|team)/(\d+)/(.+)\)}).map(&:second).uniq
return if mentioned_ids.blank? return if mentioned_ids.blank?
get_valid_mentioned_ids(mentioned_ids, message.inbox).each do |user_id| get_valid_mentioned_ids(mentioned_ids, message.inbox).each do |user_id|

View file

@ -59,12 +59,15 @@ describe NotificationListener do
allow(builder).to receive(:perform) allow(builder).to receive(:perform)
create(:inbox_member, user: agent_with_notification, inbox: inbox) create(:inbox_member, user: agent_with_notification, inbox: inbox)
create(:inbox_member, user: agent_with_out_notification, inbox: inbox)
conversation.reload conversation.reload
message = build(:message, conversation: conversation, account: account, message = build(
content: "hi [#{agent_with_notification.name}](mention://user/#{agent_with_notification.id}/\ :message,
#{agent_with_notification.name})", private: true) conversation: conversation,
account: account,
content: "hi [#{agent_with_notification.name}](mention://user/#{agent_with_notification.id}/#{agent_with_notification.name})",
private: true
)
event = Events::Base.new(event_name, Time.zone.now, message: message) event = Events::Base.new(event_name, Time.zone.now, message: message)
listener.message_created(event) listener.message_created(event)