зеркало из
https://github.com/rs-pro/activeadmin-quill_editor.git
synced 2026-08-28 15:36:17 +03:00
test: Improve some tests
Этот коммит содержится в:
1
Gemfile
1
Gemfile
@@ -48,6 +48,7 @@ gem 'cuprite'
|
|||||||
gem 'rspec_junit_formatter'
|
gem 'rspec_junit_formatter'
|
||||||
gem 'rspec-rails'
|
gem 'rspec-rails'
|
||||||
gem 'simplecov', require: false
|
gem 'simplecov', require: false
|
||||||
|
gem 'super_diff'
|
||||||
|
|
||||||
# Linters
|
# Linters
|
||||||
gem 'fasterer'
|
gem 'fasterer'
|
||||||
|
|||||||
@@ -16,6 +16,11 @@ module Shared
|
|||||||
@content_element ||= find("#{selector} .ql-editor")
|
@content_element ||= find("#{selector} .ql-editor")
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def open_dropdown(dropdown)
|
||||||
|
find("#{toolbar_selector} .ql-#{dropdown} .ql-picker-label").click
|
||||||
|
self
|
||||||
|
end
|
||||||
|
|
||||||
def toggle_bold
|
def toggle_bold
|
||||||
find("#{toolbar_selector} button.ql-bold").click
|
find("#{toolbar_selector} button.ql-bold").click
|
||||||
end
|
end
|
||||||
@@ -31,5 +36,29 @@ module Shared
|
|||||||
def toggle_link
|
def toggle_link
|
||||||
find("#{toolbar_selector} button.ql-link").click
|
find("#{toolbar_selector} button.ql-link").click
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def toggle_blockquote
|
||||||
|
find("#{toolbar_selector} button.ql-blockquote").click
|
||||||
|
end
|
||||||
|
|
||||||
|
def toggle_code_block
|
||||||
|
find("#{toolbar_selector} button.ql-code-block").click
|
||||||
|
end
|
||||||
|
|
||||||
|
def toggle_sub
|
||||||
|
find("#{toolbar_selector} button.ql-script[value='sub']").click
|
||||||
|
end
|
||||||
|
|
||||||
|
def toggle_super
|
||||||
|
find("#{toolbar_selector} button.ql-script[value='super']").click
|
||||||
|
end
|
||||||
|
|
||||||
|
def toggle_align_right
|
||||||
|
find("#{toolbar_selector} .ql-picker-item[data-value='right']").click
|
||||||
|
end
|
||||||
|
|
||||||
|
def tooltip_editing
|
||||||
|
find("#{editor_selector} .ql-tooltip.ql-editing")
|
||||||
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -1,12 +1,14 @@
|
|||||||
# frozen_string_literal: true
|
# frozen_string_literal: true
|
||||||
|
|
||||||
require_relative 'spec_helper'
|
require 'super_diff/rspec'
|
||||||
|
|
||||||
require 'zeitwerk'
|
require 'zeitwerk'
|
||||||
loader = Zeitwerk::Loader.new
|
loader = Zeitwerk::Loader.new
|
||||||
loader.push_dir("#{__dir__}/page_objects")
|
loader.push_dir("#{__dir__}/page_objects")
|
||||||
loader.setup
|
loader.setup
|
||||||
|
|
||||||
|
require_relative 'spec_helper'
|
||||||
|
|
||||||
ENV['RAILS_ENV'] = 'test'
|
ENV['RAILS_ENV'] = 'test'
|
||||||
|
|
||||||
require 'simplecov'
|
require 'simplecov'
|
||||||
@@ -21,8 +23,6 @@ require 'capybara/rails'
|
|||||||
|
|
||||||
Dir[File.expand_path('support/**/*.rb', __dir__)].each { |f| require_relative f }
|
Dir[File.expand_path('support/**/*.rb', __dir__)].each { |f| require_relative f }
|
||||||
|
|
||||||
# Checks for pending migrations and applies them before tests are run.
|
|
||||||
# If you are not using ActiveRecord, you can remove these lines.
|
|
||||||
begin
|
begin
|
||||||
ActiveRecord::Migration.maintain_test_schema!
|
ActiveRecord::Migration.maintain_test_schema!
|
||||||
rescue ActiveRecord::PendingMigrationError => e
|
rescue ActiveRecord::PendingMigrationError => e
|
||||||
|
|||||||
@@ -29,17 +29,48 @@ RSpec.describe 'Quill editor' do
|
|||||||
end
|
end
|
||||||
|
|
||||||
it 'edits some content using the editor' do
|
it 'edits some content using the editor' do
|
||||||
editor << :return << 'More content'
|
editor.select_all
|
||||||
|
editor.toggle_link
|
||||||
|
editor.tooltip_editing.send_keys(["https://blocknot.es", :return])
|
||||||
|
|
||||||
|
editor << :right << :return << 'More content'
|
||||||
editor.toggle_bold
|
editor.toggle_bold
|
||||||
editor << 'Some bold'
|
editor << 'Some bold'
|
||||||
editor.toggle_italic
|
editor.toggle_italic
|
||||||
editor << 'Some italic'
|
editor << 'Some italic'
|
||||||
editor.toggle_underline
|
editor.toggle_underline
|
||||||
editor << 'Some underline'
|
editor << 'Some underline' << :return
|
||||||
|
|
||||||
|
editor.toggle_blockquote
|
||||||
|
editor << 'blockquote enabled' << :return
|
||||||
|
editor.toggle_blockquote
|
||||||
|
|
||||||
|
editor.toggle_code_block
|
||||||
|
editor << 'code block enabled' << :return
|
||||||
|
editor.toggle_code_block
|
||||||
|
|
||||||
|
editor << "Some text"
|
||||||
|
editor.toggle_sub
|
||||||
|
editor << "sub text"
|
||||||
|
editor.toggle_sub
|
||||||
|
editor << " More text"
|
||||||
|
editor.toggle_super
|
||||||
|
editor << "sup text"
|
||||||
|
editor.toggle_super
|
||||||
|
editor << :return
|
||||||
|
|
||||||
|
editor.open_dropdown(:align).toggle_align_right
|
||||||
|
editor << "Text aligned on the right"
|
||||||
|
|
||||||
expect(editor.content).to eq <<~HTML.clean_multiline
|
expect(editor.content).to eq <<~HTML.clean_multiline
|
||||||
<p>Some content</p>
|
<p><a href="https://blocknot.es" rel="noopener noreferrer" target="_blank">Some content</a></p>
|
||||||
<p>More content<strong>Some bold<em>Some italic<u>Some underline</u></em></strong></p>
|
<p>More content<strong>Some bold<em>Some italic<u>Some underline</u></em></strong></p>
|
||||||
|
<blockquote>blockquote enabled</blockquote>
|
||||||
|
<div class="ql-code-block-container" spellcheck="false">
|
||||||
|
<div class="ql-code-block">code block enabled</div>
|
||||||
|
</div>
|
||||||
|
<p>Some text<sub>sub text</sub> More text<sup>sup text</sup></p>
|
||||||
|
<p class="ql-align-right">Text aligned on the right</p>
|
||||||
HTML
|
HTML
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
Ссылка в новой задаче
Block a user