From 10315024d58f6639611f3d9dd062f06db3fba209 Mon Sep 17 00:00:00 2001
From: Przemek Kosakowski
Date: Tue, 20 Oct 2020 13:29:39 +0200
Subject: [PATCH 1/3] Update travis settings
---
.travis.yml | 63 ++++++++++++++++++++++++-----------------------------
1 file changed, 29 insertions(+), 34 deletions(-)
diff --git a/.travis.yml b/.travis.yml
index a57603a1..4850cc4c 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,51 +1,46 @@
-sudo: required
-dist: trusty
-
-script:
- - bundle exec rake test_app
- - bundle exec rake spec
+os: linux
+dist: bionic
addons:
- chrome: stable
- postgresql: 9.4
+ apt:
+ sources:
+ - google-chrome
+ packages:
+ - google-chrome-stable
-env:
- - DB=mysql
- - DB=postgres
+services:
+ - mysql
+ - postgresql
language: ruby
rvm:
- - 2.5.1
- - 2.4.4
- - 2.3.8
+ - 2.6
+
+env:
+ - DB=mysql
+ - DB=postgres
gemfile:
- - gemfiles/spree_3_5.gemfile
- gemfiles/spree_3_7.gemfile
- gemfiles/spree_4_0.gemfile
+ - gemfiles/spree_4_1.gemfile
- gemfiles/spree_master.gemfile
-matrix:
+jobs:
allow_failures:
- gemfile: gemfiles/spree_master.gemfile
- exclude:
- - rvm: 2.3.8
- gemfile: gemfiles/spree_4_0.gemfile
- - rvm: 2.4.4
- gemfile: gemfiles/spree_4_0.gemfile
- - rvm: 2.3.8
- gemfile: gemfiles/spree_master.gemfile
- - rvm: 2.4.4
- gemfile: gemfiles/spree_master.gemfile
- - rvm: 2.5.1
- gemfile: gemfiles/spree_3_5.gemfile
+
+before_script:
+ - CHROME_MAIN_VERSION=`google-chrome-stable --version | sed -E 's/(^Google Chrome |\.[0-9]+ )//g'`
+ - CHROMEDRIVER_VERSION=`curl -s "https://chromedriver.storage.googleapis.com/LATEST_RELEASE_$CHROME_MAIN_VERSION"`
+ - curl "https://chromedriver.storage.googleapis.com/${CHROMEDRIVER_VERSION}/chromedriver_linux64.zip" -O
+ - unzip chromedriver_linux64.zip -d ~/bin
+ - nvm install 14
+
+script:
+ - bundle exec rake test_app
+ - bundle exec rake spec
before_install:
- - mysql -u root -e "GRANT ALL ON *.* TO 'travis'@'%';"
- - wget -N https://chromedriver.storage.googleapis.com/2.35/chromedriver_linux64.zip -P ~/
- - unzip ~/chromedriver_linux64.zip -d ~/
- - rm ~/chromedriver_linux64.zip
- - sudo mv -f ~/chromedriver /usr/local/share/
- - sudo chmod +x /usr/local/share/chromedriver
- - sudo ln -s /usr/local/share/chromedriver /usr/local/bin/chromedriver
+ - mysql -u root -e "GRANT ALL ON *.* TO 'travis'@'%';"
\ No newline at end of file
From 064377ea08a948031c5c96e2854185d2a64f1a9a Mon Sep 17 00:00:00 2001
From: Przemek Kosakowski
Date: Tue, 20 Oct 2020 13:30:23 +0200
Subject: [PATCH 2/3] Adjust gem files
---
gemfiles/{spree_3_5.gemfile => spree_4_1.gemfile} | 2 +-
spree_editor.gemspec | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
rename gemfiles/{spree_3_5.gemfile => spree_4_1.gemfile} (83%)
diff --git a/gemfiles/spree_3_5.gemfile b/gemfiles/spree_4_1.gemfile
similarity index 83%
rename from gemfiles/spree_3_5.gemfile
rename to gemfiles/spree_4_1.gemfile
index 19d06d2a..f0a6bfe2 100644
--- a/gemfiles/spree_3_5.gemfile
+++ b/gemfiles/spree_4_1.gemfile
@@ -3,6 +3,6 @@
source "https://rubygems.org"
gem "rails-controller-testing"
-gem "spree", "~> 3.5.0"
+gem "spree", "~> 4.1.0"
gemspec path: "../"
diff --git a/spree_editor.gemspec b/spree_editor.gemspec
index cf597603..b468e581 100644
--- a/spree_editor.gemspec
+++ b/spree_editor.gemspec
@@ -27,6 +27,7 @@ Gem::Specification.new do |s|
s.add_dependency 'spree_extension'
s.add_dependency 'ckeditor', '~> 5.0.0'
s.add_dependency 'tinymce-rails', '~> 4.2.5'
+ s.add_dependency 'coffee-rails'
s.add_runtime_dependency 'deface', '~> 1.0'
s.add_development_dependency 'i18n-spec', '>= 0.5.0'
@@ -43,7 +44,6 @@ Gem::Specification.new do |s|
s.add_development_dependency 'rubocop'
s.add_development_dependency 'pg'
s.add_development_dependency 'mysql2'
- s.add_development_dependency 'coffee-rails'
s.add_development_dependency 'appraisal'
s.add_development_dependency 'puma'
end
From ba0748047052ad730cb1d3e8eff74bd54b9bf3f2 Mon Sep 17 00:00:00 2001
From: Przemek Kosakowski
Date: Tue, 20 Oct 2020 13:30:37 +0200
Subject: [PATCH 3/3] Adjust spec and add select2 helper for spec
---
spec/features/admin/editor_settings_spec.rb | 12 +++++++++---
spec/support/select2_helper.rb | 18 ++++++++++++++++++
2 files changed, 27 insertions(+), 3 deletions(-)
create mode 100644 spec/support/select2_helper.rb
diff --git a/spec/features/admin/editor_settings_spec.rb b/spec/features/admin/editor_settings_spec.rb
index d5f758bd..872fb24a 100644
--- a/spec/features/admin/editor_settings_spec.rb
+++ b/spec/features/admin/editor_settings_spec.rb
@@ -1,4 +1,6 @@
-RSpec.feature 'Rich Editor Settings', :js do
+RSpec.feature 'Rich Editor Settings', js: true do
+ include ::Select2Helper
+
stub_authorization!
context '#edit' do
@@ -26,9 +28,11 @@
scenario 'will be applied when used' do
visit spree.edit_admin_editor_settings_path
- select2 'TinyMCE', from: 'Rich Editor engine'
+ select2_choose('current_editor', choose: 'TinyMCE')
click_button 'Update'
+ expect(page).to have_content('successfully updated!')
+
visit spree.edit_admin_product_path(product)
expect(page).to have_css '.mce-tinymce', match: :one
end
@@ -38,9 +42,11 @@
scenario 'will be applied when used' do
visit spree.edit_admin_editor_settings_path
- select2 'CKEditor', from: 'Rich Editor engine'
+ select2_choose('current_editor', choose: 'CKEditor')
click_button 'Update'
+ expect(page).to have_content('successfully updated!')
+
visit spree.edit_admin_product_path(product)
expect(page).to have_css '.cke_editor_product_description', match: :one
end
diff --git a/spec/support/select2_helper.rb b/spec/support/select2_helper.rb
new file mode 100644
index 00000000..55d4645c
--- /dev/null
+++ b/spec/support/select2_helper.rb
@@ -0,0 +1,18 @@
+module Select2Helper
+ def select2_choose(id, options)
+ options[:query] ||= options[:choose]
+
+ page.execute_script %Q{
+ $('#s2id_#{id} .select2-offscreen')
+ .trigger('keydown')
+ .val('#{options[:query]}')
+ .trigger('keyup');
+ }
+
+ if options[:first]
+ find('.select2-highlighted .select2-match').click
+ else
+ find('.select2-result-label', text: options[:choose]).click
+ end
+ end
+end