mirror of
https://github.com/discourse/discourse.git
synced 2025-05-31 16:38:48 +08:00
DEV: Plugins can extend ReviewableScore types. (#10156)
This commit is contained in:
@ -553,4 +553,39 @@ describe Plugin::Instance do
|
||||
expect(custom_emoji.group).to eq("baz")
|
||||
end
|
||||
end
|
||||
|
||||
describe '#replace_flags' do
|
||||
let(:original_flags) { PostActionType.flag_settings }
|
||||
|
||||
it 'adds a new flag' do
|
||||
highest_flag_id = ReviewableScore.types.values.max
|
||||
flag_name = :new_flag
|
||||
|
||||
subject.replace_flags(settings: original_flags) do |settings, next_flag_id|
|
||||
settings.add(
|
||||
next_flag_id,
|
||||
flag_name
|
||||
)
|
||||
end
|
||||
|
||||
expect(PostActionType.flag_settings.flag_types.keys).to include(flag_name)
|
||||
expect(PostActionType.flag_settings.flag_types.values.max).to eq(highest_flag_id + 1)
|
||||
end
|
||||
|
||||
it 'adds a new score type after adding a new flag' do
|
||||
highest_flag_id = ReviewableScore.types.values.max
|
||||
new_score_type = :new_score_type
|
||||
|
||||
subject.replace_flags(settings: original_flags, score_type_names: [new_score_type]) do |settings, next_flag_id|
|
||||
settings.add(
|
||||
next_flag_id,
|
||||
:new_flag
|
||||
)
|
||||
end
|
||||
|
||||
expect(PostActionType.flag_settings.flag_types.values.max).to eq(highest_flag_id + 1)
|
||||
expect(ReviewableScore.types.keys).to include(new_score_type)
|
||||
expect(ReviewableScore.types.values.max).to eq(highest_flag_id + 2)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
Reference in New Issue
Block a user