зеркало из
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-rails'
|
||||
gem 'simplecov', require: false
|
||||
gem 'super_diff'
|
||||
|
||||
# Linters
|
||||
gem 'fasterer'
|
||||
|
||||
@@ -16,6 +16,11 @@ module Shared
|
||||
@content_element ||= find("#{selector} .ql-editor")
|
||||
end
|
||||
|
||||
def open_dropdown(dropdown)
|
||||
find("#{toolbar_selector} .ql-#{dropdown} .ql-picker-label").click
|
||||
self
|
||||
end
|
||||
|
||||
def toggle_bold
|
||||
find("#{toolbar_selector} button.ql-bold").click
|
||||
end
|
||||
@@ -31,5 +36,29 @@ module Shared
|
||||
def toggle_link
|
||||
find("#{toolbar_selector} button.ql-link").click
|
||||
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
|
||||
|
||||
@@ -1,12 +1,14 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
require_relative 'spec_helper'
|
||||
require 'super_diff/rspec'
|
||||
|
||||
require 'zeitwerk'
|
||||
loader = Zeitwerk::Loader.new
|
||||
loader.push_dir("#{__dir__}/page_objects")
|
||||
loader.setup
|
||||
|
||||
require_relative 'spec_helper'
|
||||
|
||||
ENV['RAILS_ENV'] = 'test'
|
||||
|
||||
require 'simplecov'
|
||||
@@ -21,8 +23,6 @@ require 'capybara/rails'
|
||||
|
||||
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
|
||||
ActiveRecord::Migration.maintain_test_schema!
|
||||
rescue ActiveRecord::PendingMigrationError => e
|
||||
|
||||
@@ -29,17 +29,48 @@ RSpec.describe 'Quill editor' do
|
||||
end
|
||||
|
||||
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 << 'Some bold'
|
||||
editor.toggle_italic
|
||||
editor << 'Some italic'
|
||||
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
|
||||
<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>
|
||||
<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
|
||||
end
|
||||
|
||||
|
||||
Ссылка в новой задаче
Block a user