From a43a4ff0ba708a0950fb43d6bfd1ebeb7cd41e5c Mon Sep 17 00:00:00 2001 From: Mattia Roccoberton Date: Tue, 1 Sep 2020 11:17:38 +0200 Subject: [PATCH] Add minimum specs --- spec/dummy/app/admin/posts.rb | 45 +++++++++++++++++++ .../app/assets/javascripts/active_admin.js | 3 ++ .../app/assets/stylesheets/active_admin.scss | 6 ++- spec/system/quill_editor_spec.rb | 28 ++++++++++++ 4 files changed, 80 insertions(+), 2 deletions(-) create mode 100644 spec/system/quill_editor_spec.rb diff --git a/spec/dummy/app/admin/posts.rb b/spec/dummy/app/admin/posts.rb index 3a75931..6f55d22 100644 --- a/spec/dummy/app/admin/posts.rb +++ b/spec/dummy/app/admin/posts.rb @@ -1,4 +1,49 @@ # frozen_string_literal: true ActiveAdmin.register Post do + permit_params :author_id, :title, :description, :category, :dt, :position, :published, tag_ids: [] + + index do + selectable_column + id_column + column :title + column :author + column :published + column :created_at + actions + end + + show do + attributes_table do + row :author + row :title + row :description + row :category + row :dt + row :position + row :published + row :tags + row :created_at + row :updated_at + end + active_admin_comments + end + + form do |f| + f.inputs 'Post' do + f.input :author + f.input :title + f.input :description, as: :quill_editor + f.input :category + f.input :dt + f.input :position + f.input :published + end + + f.inputs 'Tags' do + f.input :tags + end + + f.actions + end end diff --git a/spec/dummy/app/assets/javascripts/active_admin.js b/spec/dummy/app/assets/javascripts/active_admin.js index d2b66c5..e55b872 100644 --- a/spec/dummy/app/assets/javascripts/active_admin.js +++ b/spec/dummy/app/assets/javascripts/active_admin.js @@ -1 +1,4 @@ //= require active_admin/base + +//= require activeadmin/quill_editor/quill +//= require activeadmin/quill_editor_input diff --git a/spec/dummy/app/assets/stylesheets/active_admin.scss b/spec/dummy/app/assets/stylesheets/active_admin.scss index d3c61f3..dd9ecf3 100644 --- a/spec/dummy/app/assets/stylesheets/active_admin.scss +++ b/spec/dummy/app/assets/stylesheets/active_admin.scss @@ -8,8 +8,10 @@ // $sidebar-width: 242px; // Active Admin's got SASS! -@import "active_admin/mixins"; -@import "active_admin/base"; +@import 'active_admin/mixins'; +@import 'active_admin/base'; + +@import 'activeadmin/quill_editor_input'; // Overriding any non-variable SASS must be done after the fact. // For example, to change the default status-tag color: diff --git a/spec/system/quill_editor_spec.rb b/spec/system/quill_editor_spec.rb new file mode 100644 index 0000000..7a338a6 --- /dev/null +++ b/spec/system/quill_editor_spec.rb @@ -0,0 +1,28 @@ +# frozen_string_literal: true + +RSpec.describe 'Quill editor', type: :system do + let(:author) { Author.create!(email: 'some_email@example.com', name: 'John Doe', age: 30) } + let(:post) { Post.create!(title: 'Test', author: author, description: 'Some content...') } + + before do + post + end + + after do + post.destroy + author.destroy + end + + context 'with a Quill editor' do + it 'updates some HTML content' do + visit "/admin/posts/#{post.id}/edit" + + expect(page).to have_css('#post_description_input .ql-editor', text: 'Some content...') + find('#post_description_input .ql-editor').base.send_keys('more text') + + find('[type="submit"]').click + expect(page).to have_content('was successfully updated') + expect(post.reload.description).to eq '

Some content...more text

' + end + end +end