mirror of
https://github.com/discourse/discourse.git
synced 2024-11-26 09:26:18 +08:00
aa88b07640
Continued work on moderate flags UI. In this PR admins are allowed to change the order of flags. The notify user flag is always on top but all other flags can be moved.
73 lines
2.3 KiB
Ruby
73 lines
2.3 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
describe "Admin Flags Page", type: :system do
|
|
fab!(:admin)
|
|
fab!(:topic)
|
|
fab!(:post) { Fabricate(:post, topic: topic) }
|
|
|
|
let(:topic_page) { PageObjects::Pages::Topic.new }
|
|
let(:admin_flags_page) { PageObjects::Pages::AdminFlags.new }
|
|
|
|
before { sign_in(admin) }
|
|
|
|
it "allows admin to disable flags" do
|
|
topic_page.visit_topic(post.topic)
|
|
topic_page.open_flag_topic_modal
|
|
expect(all(".flag-action-type-details strong").map(&:text)).to eq(
|
|
["Something Else", "It's Inappropriate", "It's Spam", "It's Illegal"],
|
|
)
|
|
|
|
visit "/admin/config/flags"
|
|
admin_flags_page.toggle("spam")
|
|
|
|
topic_page.visit_topic(post.topic)
|
|
topic_page.open_flag_topic_modal
|
|
expect(all(".flag-action-type-details strong").map(&:text)).to eq(
|
|
["Something Else", "It's Inappropriate", "It's Illegal"],
|
|
)
|
|
end
|
|
|
|
it "allows admin to change order of flags" do
|
|
topic_page.visit_topic(post.topic)
|
|
topic_page.open_flag_topic_modal
|
|
expect(all(".flag-action-type-details strong").map(&:text)).to eq(
|
|
["Something Else", "It's Inappropriate", "It's Spam", "It's Illegal"],
|
|
)
|
|
|
|
visit "/admin/config/flags"
|
|
admin_flags_page.move_down("spam")
|
|
|
|
topic_page.visit_topic(post.topic)
|
|
topic_page.open_flag_topic_modal
|
|
expect(all(".flag-action-type-details strong").map(&:text)).to eq(
|
|
["Something Else", "It's Inappropriate", "It's Illegal", "It's Spam"],
|
|
)
|
|
|
|
visit "/admin/config/flags"
|
|
admin_flags_page.move_up("spam")
|
|
|
|
topic_page.visit_topic(post.topic)
|
|
topic_page.open_flag_topic_modal
|
|
expect(all(".flag-action-type-details strong").map(&:text)).to eq(
|
|
["Something Else", "It's Inappropriate", "It's Spam", "It's Illegal"],
|
|
)
|
|
end
|
|
|
|
it "does not allow to move notify user flag" do
|
|
visit "/admin/config/flags"
|
|
expect(page).not_to have_css(".notify_user .flag-menu-trigger")
|
|
end
|
|
|
|
it "does not allow bottom flag to move down" do
|
|
visit "/admin/config/flags"
|
|
admin_flags_page.open_flag_menu("illegal")
|
|
expect(page).not_to have_css(".dropdown-menu__item .move-down")
|
|
end
|
|
|
|
it "does not allow top flag to move up" do
|
|
visit "/admin/config/flags"
|
|
admin_flags_page.open_flag_menu("notify_moderators")
|
|
expect(page).not_to have_css(".dropdown-menu__item .move-up")
|
|
end
|
|
end
|