2024-05-01 01:03:27 +08:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
2024-10-24 20:15:32 +08:00
|
|
|
describe "Admin Watched Words", type: :system do
|
2024-05-01 01:03:27 +08:00
|
|
|
fab!(:current_user) { Fabricate(:admin) }
|
|
|
|
|
|
|
|
before { sign_in(current_user) }
|
|
|
|
|
|
|
|
let(:ww_page) { PageObjects::Pages::AdminWatchedWords.new }
|
|
|
|
|
|
|
|
it "correctly saves watched words" do
|
|
|
|
ww_page.visit
|
|
|
|
ww_page.add_word "foo"
|
|
|
|
|
|
|
|
expect(ww_page).to have_word
|
|
|
|
|
|
|
|
ww_page.visit
|
|
|
|
|
|
|
|
expect(ww_page).to have_word
|
|
|
|
end
|
2024-05-30 09:02:57 +08:00
|
|
|
|
|
|
|
it "shows error when character limit is exceeded" do
|
|
|
|
ww_page.visit
|
|
|
|
ww_page.add_word "a" * 101
|
|
|
|
|
|
|
|
expect(ww_page).to have_error("Word is too long (maximum is 100 characters)")
|
|
|
|
end
|
2024-07-26 03:25:56 +08:00
|
|
|
|
|
|
|
it "shows the 'outputs HTML' option when action=replace" do
|
|
|
|
ww_page.visit
|
|
|
|
expect(ww_page).not_to have_text(I18n.t("admin_js.admin.watched_words.form.html_description"))
|
|
|
|
|
|
|
|
ww_page.visit(action: "replace")
|
|
|
|
expect(ww_page).to have_text(I18n.t("admin_js.admin.watched_words.form.html_description"))
|
|
|
|
end
|
2024-05-01 01:03:27 +08:00
|
|
|
end
|