DEV: do not fabricate a notification when fabricating a chat_mention (#20636)
This is just a little clean-up in tests. In the past, when creating a `chat_mention`
record, we always created a related notification. Starting from fa543cda
notifications and chat_mentions are fully decoupled from each other. So if we're
testing just chat mentions there is no need to fabricate notifications for them.
This commit is contained in:
parent
3e8d349465
commit
7df40fc905
|
@ -40,10 +40,7 @@ describe Chat::ChatMailer do
|
||||||
end
|
end
|
||||||
|
|
||||||
describe "for chat mentions" do
|
describe "for chat mentions" do
|
||||||
fab!(:notification) { Fabricate(:notification) }
|
fab!(:mention) { Fabricate(:chat_mention, user: user_1, chat_message: chat_message) }
|
||||||
fab!(:mention) do
|
|
||||||
Fabricate(:chat_mention, user: user_1, chat_message: chat_message, notification: notification)
|
|
||||||
end
|
|
||||||
|
|
||||||
it "skips users without chat access" do
|
it "skips users without chat access" do
|
||||||
chatters_group.remove(user_1)
|
chatters_group.remove(user_1)
|
||||||
|
@ -154,13 +151,7 @@ describe Chat::ChatMailer do
|
||||||
last_unread_mention_when_emailed_id: chat_message.id,
|
last_unread_mention_when_emailed_id: chat_message.id,
|
||||||
)
|
)
|
||||||
unread_message = Fabricate(:chat_message, chat_channel: chat_channel, user: sender)
|
unread_message = Fabricate(:chat_message, chat_channel: chat_channel, user: sender)
|
||||||
notification = Fabricate(:notification)
|
Fabricate(:chat_mention, user: user_1, chat_message: unread_message)
|
||||||
Fabricate(
|
|
||||||
:chat_mention,
|
|
||||||
user: user_1,
|
|
||||||
chat_message: unread_message,
|
|
||||||
notification: notification,
|
|
||||||
)
|
|
||||||
|
|
||||||
described_class.send_unread_mentions_summary
|
described_class.send_unread_mentions_summary
|
||||||
|
|
||||||
|
@ -179,16 +170,14 @@ describe Chat::ChatMailer do
|
||||||
it "doesn't mix mentions from other users" do
|
it "doesn't mix mentions from other users" do
|
||||||
mention.destroy!
|
mention.destroy!
|
||||||
user_2 = Fabricate(:user, groups: [chatters_group], last_seen_at: 20.minutes.ago)
|
user_2 = Fabricate(:user, groups: [chatters_group], last_seen_at: 20.minutes.ago)
|
||||||
user_2_membership =
|
Fabricate(
|
||||||
Fabricate(
|
:user_chat_channel_membership,
|
||||||
:user_chat_channel_membership,
|
user: user_2,
|
||||||
user: user_2,
|
chat_channel: chat_channel,
|
||||||
chat_channel: chat_channel,
|
last_read_message_id: nil,
|
||||||
last_read_message_id: nil,
|
)
|
||||||
)
|
|
||||||
new_message = Fabricate(:chat_message, chat_channel: chat_channel, user: sender)
|
new_message = Fabricate(:chat_message, chat_channel: chat_channel, user: sender)
|
||||||
notification = Fabricate(:notification)
|
Fabricate(:chat_mention, user: user_2, chat_message: new_message)
|
||||||
Fabricate(:chat_mention, user: user_2, chat_message: new_message, notification: notification)
|
|
||||||
|
|
||||||
described_class.send_unread_mentions_summary
|
described_class.send_unread_mentions_summary
|
||||||
|
|
||||||
|
@ -227,13 +216,7 @@ describe Chat::ChatMailer do
|
||||||
)
|
)
|
||||||
|
|
||||||
another_channel_message = Fabricate(:chat_message, chat_channel: chat_channel, user: sender)
|
another_channel_message = Fabricate(:chat_message, chat_channel: chat_channel, user: sender)
|
||||||
notification = Fabricate(:notification)
|
Fabricate(:chat_mention, user: user_1, chat_message: another_channel_message)
|
||||||
Fabricate(
|
|
||||||
:chat_mention,
|
|
||||||
user: user_1,
|
|
||||||
chat_message: another_channel_message,
|
|
||||||
notification: notification,
|
|
||||||
)
|
|
||||||
|
|
||||||
expect { described_class.send_unread_mentions_summary }.not_to change(
|
expect { described_class.send_unread_mentions_summary }.not_to change(
|
||||||
Jobs::UserEmail.jobs,
|
Jobs::UserEmail.jobs,
|
||||||
|
@ -245,13 +228,7 @@ describe Chat::ChatMailer do
|
||||||
another_channel = Fabricate(:category_channel)
|
another_channel = Fabricate(:category_channel)
|
||||||
another_channel_message =
|
another_channel_message =
|
||||||
Fabricate(:chat_message, chat_channel: another_channel, user: sender)
|
Fabricate(:chat_message, chat_channel: another_channel, user: sender)
|
||||||
notification = Fabricate(:notification)
|
Fabricate(:chat_mention, user: user_1, chat_message: another_channel_message)
|
||||||
Fabricate(
|
|
||||||
:chat_mention,
|
|
||||||
user: user_1,
|
|
||||||
chat_message: another_channel_message,
|
|
||||||
notification: notification,
|
|
||||||
)
|
|
||||||
another_channel_membership =
|
another_channel_membership =
|
||||||
Fabricate(
|
Fabricate(
|
||||||
:user_chat_channel_membership,
|
:user_chat_channel_membership,
|
||||||
|
@ -281,15 +258,14 @@ describe Chat::ChatMailer do
|
||||||
end
|
end
|
||||||
|
|
||||||
it "only queues the job once when the user has mentions and private messages" do
|
it "only queues the job once when the user has mentions and private messages" do
|
||||||
notification = Fabricate(:notification)
|
Fabricate(:chat_mention, user: user_1, chat_message: chat_message)
|
||||||
Fabricate(:chat_mention, user: user_1, chat_message: chat_message, notification: notification)
|
|
||||||
|
|
||||||
described_class.send_unread_mentions_summary
|
described_class.send_unread_mentions_summary
|
||||||
|
|
||||||
assert_only_queued_once
|
assert_only_queued_once
|
||||||
end
|
end
|
||||||
|
|
||||||
it "Doesn't mix or update mentions from other users when joining tables" do
|
it "doesn't mix or update mentions from other users when joining tables" do
|
||||||
user_2 = Fabricate(:user, groups: [chatters_group], last_seen_at: 20.minutes.ago)
|
user_2 = Fabricate(:user, groups: [chatters_group], last_seen_at: 20.minutes.ago)
|
||||||
user_2_membership =
|
user_2_membership =
|
||||||
Fabricate(
|
Fabricate(
|
||||||
|
@ -298,8 +274,7 @@ describe Chat::ChatMailer do
|
||||||
chat_channel: chat_channel,
|
chat_channel: chat_channel,
|
||||||
last_read_message_id: chat_message.id,
|
last_read_message_id: chat_message.id,
|
||||||
)
|
)
|
||||||
notification = Fabricate(:notification)
|
Fabricate(:chat_mention, user: user_2, chat_message: chat_message)
|
||||||
Fabricate(:chat_mention, user: user_2, chat_message: chat_message, notification: notification)
|
|
||||||
|
|
||||||
described_class.send_unread_mentions_summary
|
described_class.send_unread_mentions_summary
|
||||||
|
|
||||||
|
|
|
@ -109,14 +109,7 @@ describe Chat::MessageMover do
|
||||||
it "updates references for reactions, uploads, revisions, mentions, etc." do
|
it "updates references for reactions, uploads, revisions, mentions, etc." do
|
||||||
reaction = Fabricate(:chat_message_reaction, chat_message: message1)
|
reaction = Fabricate(:chat_message_reaction, chat_message: message1)
|
||||||
upload = Fabricate(:upload_reference, target: message1)
|
upload = Fabricate(:upload_reference, target: message1)
|
||||||
notification = Fabricate(:notification)
|
mention = Fabricate(:chat_mention, chat_message: message2, user: acting_user)
|
||||||
mention =
|
|
||||||
Fabricate(
|
|
||||||
:chat_mention,
|
|
||||||
chat_message: message2,
|
|
||||||
user: acting_user,
|
|
||||||
notification: notification,
|
|
||||||
)
|
|
||||||
revision = Fabricate(:chat_message_revision, chat_message: message3)
|
revision = Fabricate(:chat_message_revision, chat_message: message3)
|
||||||
webhook_event = Fabricate(:chat_webhook_event, chat_message: message3)
|
webhook_event = Fabricate(:chat_webhook_event, chat_message: message3)
|
||||||
move!
|
move!
|
||||||
|
|
|
@ -471,6 +471,7 @@ describe ChatMessage do
|
||||||
message_1.destroy!
|
message_1.destroy!
|
||||||
|
|
||||||
expect { mention_1.reload }.to raise_error(ActiveRecord::RecordNotFound)
|
expect { mention_1.reload }.to raise_error(ActiveRecord::RecordNotFound)
|
||||||
|
expect { notification.reload }.to raise_error(ActiveRecord::RecordNotFound)
|
||||||
end
|
end
|
||||||
|
|
||||||
it "destroys chat_webhook_event" do
|
it "destroys chat_webhook_event" do
|
||||||
|
|
Loading…
Reference in New Issue