mirror of
https://github.com/discourse/discourse.git
synced 2024-11-25 10:20:58 -06:00
493d437e79
* Remove outdated option
04078317ba
* Use the non-globally exposed RSpec syntax
https://github.com/rspec/rspec-core/pull/2803
* Use the non-globally exposed RSpec syntax, cont
https://github.com/rspec/rspec-core/pull/2803
* Comply to strict predicate matchers
See:
- https://github.com/rspec/rspec-expectations/pull/1195
- https://github.com/rspec/rspec-expectations/pull/1196
- https://github.com/rspec/rspec-expectations/pull/1277
53 lines
1.3 KiB
Ruby
53 lines
1.3 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
RSpec.describe GroupArchivedMessage do
|
|
fab!(:user) { Fabricate(:user) }
|
|
fab!(:user_2) { Fabricate(:user) }
|
|
|
|
fab!(:group) do
|
|
Fabricate(:group, messageable_level: Group::ALIAS_LEVELS[:everyone]).tap do |g|
|
|
g.add(user_2)
|
|
end
|
|
end
|
|
|
|
fab!(:group_message) do
|
|
create_post(
|
|
user: user,
|
|
target_group_names: [group.name],
|
|
archetype: Archetype.private_message
|
|
).topic
|
|
end
|
|
|
|
describe '.move_to_inbox!' do
|
|
it 'should unarchive the topic correctly' do
|
|
described_class.archive!(group.id, group_message)
|
|
|
|
messages = MessageBus.track_publish(PrivateMessageTopicTrackingState.group_channel(group.id)) do
|
|
described_class.move_to_inbox!(group.id, group_message)
|
|
end
|
|
|
|
expect(messages.present?).to eq(true)
|
|
|
|
expect(GroupArchivedMessage.exists?(
|
|
topic: group_message,
|
|
group: group
|
|
)).to eq(false)
|
|
end
|
|
end
|
|
|
|
describe '.archive!' do
|
|
it 'should archive the topic correctly' do
|
|
messages = MessageBus.track_publish(PrivateMessageTopicTrackingState.group_channel(group.id)) do
|
|
described_class.archive!(group.id, group_message)
|
|
end
|
|
|
|
expect(GroupArchivedMessage.exists?(
|
|
topic: group_message,
|
|
group: group
|
|
)).to eq(true)
|
|
|
|
expect(messages.present?).to eq(true)
|
|
end
|
|
end
|
|
end
|