56 lines
1.8 KiB
Ruby
56 lines
1.8 KiB
Ruby
|
# frozen_string_literal: true
|
|||
|
|
|||
|
describe "Fast edit", type: :system, js: true do
|
|||
|
let(:topic_page) { PageObjects::Pages::Topic.new }
|
|||
|
let(:fast_editor) { PageObjects::Components::FastEditor.new }
|
|||
|
fab!(:topic) { Fabricate(:topic) }
|
|||
|
fab!(:post) { Fabricate(:post, topic: topic) }
|
|||
|
fab!(:post_2) { Fabricate(:post, topic: topic, raw: "It ‘twas a great’ “time”!") }
|
|||
|
fab!(:current_user) { Fabricate(:admin) }
|
|||
|
|
|||
|
before { sign_in(current_user) }
|
|||
|
|
|||
|
context "when text selected it opens contact menu and fast editor" do
|
|||
|
it "opens context menu and fast edit dialog" do
|
|||
|
topic_page.visit_topic(topic)
|
|||
|
|
|||
|
select_text_range("#{topic_page.post_by_number_selector(1)} .cooked p", 0, 10)
|
|||
|
expect(topic_page.fast_edit_button).to be_visible
|
|||
|
|
|||
|
topic_page.click_fast_edit_button
|
|||
|
expect(topic_page.fast_edit_input).to be_visible
|
|||
|
end
|
|||
|
|
|||
|
it "edits first paragraph and saves changes" do
|
|||
|
topic_page.visit_topic(topic)
|
|||
|
|
|||
|
select_text_range("#{topic_page.post_by_number_selector(1)} .cooked p", 0, 5)
|
|||
|
topic_page.click_fast_edit_button
|
|||
|
|
|||
|
fast_editor.fill_content("Howdy")
|
|||
|
fast_editor.save
|
|||
|
|
|||
|
within("#post_1 .cooked > p") do |el|
|
|||
|
expect(el).not_to eq("Hello world")
|
|||
|
expect(el).to have_content("Howdy")
|
|||
|
end
|
|||
|
end
|
|||
|
end
|
|||
|
|
|||
|
context "when editing text that has strange characters" do
|
|||
|
it "saves when paragraph contains apostrophe" do
|
|||
|
topic_page.visit_topic(topic)
|
|||
|
|
|||
|
select_text_range("#{topic_page.post_by_number_selector(2)} .cooked p", 19, 4)
|
|||
|
topic_page.click_fast_edit_button
|
|||
|
|
|||
|
fast_editor.fill_content("day")
|
|||
|
fast_editor.save
|
|||
|
|
|||
|
expect(find("#{topic_page.post_by_number_selector(2)} .cooked p")).to have_content(
|
|||
|
"It ‘twas a great’ “day”!",
|
|||
|
)
|
|||
|
end
|
|||
|
end
|
|||
|
end
|