discourse/spec/models/user_archived_message_spec.rb
2023-01-09 11:49:28 +00:00

41 lines
1.1 KiB
Ruby

# frozen_string_literal: true
RSpec.describe UserArchivedMessage do
fab!(:user) { Fabricate(:user) }
fab!(:user_2) { Fabricate(:user) }
fab!(:private_message) do
create_post(
user: user,
skip_validations: true,
target_usernames: [user_2.username, user.username].join(","),
archetype: Archetype.private_message,
).topic
end
describe ".move_to_inbox!" do
it "moves topic back to inbox correctly" do
UserArchivedMessage.archive!(user.id, private_message)
expect do UserArchivedMessage.move_to_inbox!(user.id, private_message) end.to change {
private_message.message_archived?(user)
}.from(true).to(false)
end
it "does not move archived muted messages back to inbox" do
UserArchivedMessage.archive!(user.id, private_message)
expect(private_message.message_archived?(user)).to eq(true)
TopicUser.change(
user.id,
private_message.id,
notification_level: TopicUser.notification_levels[:muted],
)
UserArchivedMessage.move_to_inbox!(user.id, private_message)
expect(private_message.message_archived?(user)).to eq(true)
end
end
end