mirror of
https://github.com/discourse/discourse.git
synced 2024-12-24 19:53:55 +08:00
6e161d3e75
The most common thing that we do with fab! is: fab!(:thing) { Fabricate(:thing) } This commit adds a shorthand for this which is just simply: fab!(:thing) i.e. If you omit the block, then, by default, you'll get a `Fabricate`d object using the fabricator of the same name.
41 lines
1.1 KiB
Ruby
41 lines
1.1 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
RSpec.describe UserArchivedMessage do
|
|
fab!(: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
|