Fix/bump gems (#5770)

* bump capybara

* downgrade selenium-webdriver to get rid of a multitued of log messages

Setting the logging preferences had no effect: https://github.com/SeleniumHQ/selenium/wiki/DesiredCapabilities#loggingpreferences-json-object

* bump sass

* bump openproject-token

* bump autoprefixer-rails

* bump database_cleaner

* bump capybara-screenshot

* bump aws-sdk

* bump timecop

* bump timecop

* bump parallel_tests

* bump faker

* bump retriable

* fix specs discovered to be broken by now working within

Capybara introduced a proxy for `all` and `within` in v2.14 (https://github.com/teamcapybara/capybara/commit/635671904345299bf6e351cc3e71c3fdfc836518#diff-3944edd1c2651f608ed8a8bec061a734). This revaled a couple of tests not working as desired.

* skip `npm install` for unit specs

[ci skip]
This commit is contained in:
ulferts
2017-07-20 11:27:57 +02:00
committed by Oliver Günther
parent 5c36499101
commit e60bd97f35
10 changed files with 76 additions and 70 deletions
+10 -10
View File
@@ -134,12 +134,12 @@ group :production do
gem 'unicorn-worker-killer', require: false
end
gem 'sprockets', '~> 3.7.0'
gem 'sass-rails', '~> 5.0.6'
gem 'sass', '3.5.0.pre.rc.1'
gem 'autoprefixer-rails', '~> 6.7.7.2'
gem 'autoprefixer-rails', '~> 7.1.2.3'
gem 'bourbon', '~> 4.3.4'
gem 'i18n-js', '~> 3.0.0'
gem 'sass', '3.5.1'
gem 'sass-rails', '~> 5.0.6'
gem 'sprockets', '~> 3.7.0'
# small wrapper around the command line
gem 'cocaine', '~> 0.5.8'
@@ -156,7 +156,7 @@ gem 'nokogiri', '~> 1.8.0'
gem 'fog-aws'
gem 'carrierwave', git: 'https://github.com/carrierwaveuploader/carrierwave', branch: 'master'
gem 'openproject-token', '~> 1.0.0'
gem 'openproject-token', '~> 1.0.1'
group :test do
gem 'rack-test', '~> 0.6.3'
@@ -172,8 +172,8 @@ group :test do
gem 'cucumber', '~> 2.4.0'
gem 'cucumber-rails', '~> 1.4.4', require: false
gem 'database_cleaner', '~> 1.6'
gem 'rack_session_access'
gem 'database_cleaner', '~> 1.5.3'
# not possible to upgrade to 3.6+ until rails is 5.1+
gem 'rspec', '~> 3.5.0'
# also add to development group, so "spec" rake task gets loaded
@@ -181,8 +181,8 @@ group :test do
gem 'rspec-activemodel-mocks', '~> 1.0.3', git: 'https://github.com/rspec/rspec-activemodel-mocks'
# Retry failures within the same environment
gem 'retriable', '~> 3.0'
gem 'rspec-retry', '~> 0.5.2'
gem 'retriable', '~> 2.1'
gem 'rspec-example_disabler', git: 'https://github.com/finnlabs/rspec-example_disabler.git'
gem 'rspec-legacy_formatters', '~> 1.0.1', require: false
@@ -191,16 +191,16 @@ group :test do
gem 'rails-controller-testing', '~> 1.0.2'
gem 'aws-sdk', '~> 2.10.1'
gem 'capybara', '~> 2.13.0'
gem 'capybara', '~> 2.14.0'
gem 'capybara-screenshot', '~> 1.0.14'
gem 'fuubar', '~> 2.2.0'
gem 'capybara-select2', git: 'https://github.com/goodwill/capybara-select2', ref: '585192e'
gem 'capybara-ng', '~> 0.2.7'
gem 'selenium-webdriver', '~> 3.4'
gem 'timecop', '~> 0.8.1'
gem 'timecop', '~> 0.9.0'
gem 'webmock', '~> 3.0.0', require: false
gem 'simplecov', '~> 0.12.0', require: false
gem 'simplecov', '~> 0.14.0', require: false
gem 'shoulda-matchers', '~> 3.1', require: nil
gem 'json_spec', '~> 1.1.4'
gem 'equivalent-xml', '~> 0.6'
+36 -34
View File
@@ -152,17 +152,17 @@ GEM
airbrake-ruby (1.5.0)
arel (7.1.4)
ast (2.3.0)
autoprefixer-rails (6.7.7.2)
autoprefixer-rails (7.1.2.3)
execjs
awesome_nested_set (3.1.3)
activerecord (>= 4.0.0, < 5.2)
aws-sdk (2.10.10)
aws-sdk-resources (= 2.10.10)
aws-sdk-core (2.10.10)
aws-sdk (2.10.13)
aws-sdk-resources (= 2.10.13)
aws-sdk-core (2.10.13)
aws-sigv4 (~> 1.0)
jmespath (~> 1.0)
aws-sdk-resources (2.10.10)
aws-sdk-core (= 2.10.10)
aws-sdk-resources (2.10.13)
aws-sdk-core (= 2.10.13)
aws-sigv4 (1.0.1)
axiom-types (0.1.1)
descendants_tracker (~> 0.0.4)
@@ -176,7 +176,7 @@ GEM
thor (~> 0.19)
builder (3.2.3)
byebug (9.0.6)
capybara (2.13.0)
capybara (2.14.4)
addressable
mime-types (>= 1.16)
nokogiri (>= 1.3.3)
@@ -184,7 +184,7 @@ GEM
rack-test (>= 0.5.4)
xpath (~> 2.0)
capybara-ng (0.2.7)
capybara-screenshot (1.0.14)
capybara-screenshot (1.0.17)
capybara (>= 1.0, < 3)
launchy
cells (4.1.3)
@@ -230,7 +230,7 @@ GEM
cucumber-wire (0.0.1)
daemons (1.2.4)
dalli (2.7.6)
database_cleaner (1.5.3)
database_cleaner (1.6.1)
date_validator (0.9.0)
activemodel
activesupport
@@ -269,7 +269,7 @@ GEM
factory_girl_rails (4.7.0)
factory_girl (~> 4.7.0)
railties (>= 3.0.0)
faker (1.6.6)
faker (1.8.4)
i18n (~> 0.5)
ffi (1.9.18)
fog-aws (0.11.0)
@@ -364,10 +364,10 @@ GEM
mini_portile2 (~> 2.2.0)
oj (3.3.2)
okcomputer (1.16.0)
openproject-token (1.0.0)
openproject-token (1.0.1)
activemodel (~> 5.0)
parallel (1.11.1)
parallel_tests (2.14.1)
parallel (1.11.2)
parallel_tests (2.14.2)
parallel
parser (2.4.0.0)
ast (~> 2.2)
@@ -453,7 +453,7 @@ GEM
rake
raindrops (0.18.0)
rake (12.0.0)
rb-fsevent (0.9.8)
rb-fsevent (0.10.2)
rb-inotify (0.9.10)
ffi (>= 0.5.0, < 2)
rdoc (5.1.0)
@@ -476,7 +476,7 @@ GEM
http-cookie (>= 1.0.2, < 2.0)
mime-types (>= 1.16, < 3.0)
netrc (~> 0.7)
retriable (2.1.0)
retriable (3.0.2)
roar (1.1.0)
representable (~> 3.0.0)
rspec (3.5.0)
@@ -518,28 +518,29 @@ GEM
ruby-progressbar (1.8.1)
rubyzip (1.2.1)
safe_yaml (1.0.4)
sass (3.5.0.pre.rc.1)
sass-listen (~> 3.0.7)
sass-listen (3.0.7)
rb-fsevent (>= 0.9.3)
rb-inotify (>= 0.9.7)
sass (3.5.1)
sass-listen (~> 4.0.0)
sass-listen (4.0.0)
rb-fsevent (~> 0.9, >= 0.9.4)
rb-inotify (~> 0.9, >= 0.9.7)
sass-rails (5.0.6)
railties (>= 4.0.0, < 6)
sass (~> 3.1)
sprockets (>= 2.8, < 4.0)
sprockets-rails (>= 2.0, < 4.0)
tilt (>= 1.1, < 3)
selenium-webdriver (3.4.4)
selenium-webdriver (3.4.0)
childprocess (~> 0.5)
rubyzip (~> 1.0)
websocket (~> 1.0)
shoulda-context (1.2.2)
shoulda-matchers (3.1.1)
activesupport (>= 4.0.0)
simplecov (0.12.0)
simplecov (0.14.1)
docile (~> 1.1.0)
json (>= 1.8, < 3)
simplecov-html (~> 0.10.0)
simplecov-html (0.10.0)
simplecov-html (0.10.1)
slop (3.6.0)
sprockets (3.7.1)
concurrent-ruby (~> 1.0)
@@ -561,7 +562,7 @@ GEM
thor (0.19.4)
thread_safe (0.3.6)
tilt (2.0.7)
timecop (0.8.1)
timecop (0.9.1)
ttfunk (1.5.0)
tzinfo (1.2.3)
thread_safe (~> 0.1)
@@ -591,11 +592,12 @@ GEM
addressable (>= 2.3.6)
crack (>= 0.3.2)
hashdiff
websocket (1.2.4)
websocket-driver (0.6.5)
websocket-extensions (>= 0.1.0)
websocket-extensions (0.1.2)
will_paginate (3.1.6)
xpath (2.0.0)
xpath (2.1.0)
nokogiri (~> 1.3)
yard (0.9.8)
@@ -612,12 +614,12 @@ DEPENDENCIES
acts_as_list (~> 0.9.7)
acts_as_tree (~> 2.6.1)
airbrake (~> 5.1.0)
autoprefixer-rails (~> 6.7.7.2)
autoprefixer-rails (~> 7.1.2.3)
awesome_nested_set (~> 3.1.3)
aws-sdk (~> 2.10.1)
bcrypt (~> 3.1.6)
bourbon (~> 4.3.4)
capybara (~> 2.13.0)
capybara (~> 2.14.0)
capybara-ng (~> 0.2.7)
capybara-screenshot (~> 1.0.14)
capybara-select2!
@@ -631,7 +633,7 @@ DEPENDENCIES
cucumber-rails (~> 1.4.4)
daemons
dalli (~> 2.7.6)
database_cleaner (~> 1.5.3)
database_cleaner (~> 1.6)
date_validator (~> 0.9.0)
delayed_job_active_record (~> 4.1.1)
equivalent-xml (~> 0.6)
@@ -661,7 +663,7 @@ DEPENDENCIES
oj (~> 3.3.2)
okcomputer (~> 1.16.0)
omniauth!
openproject-token (~> 1.0.0)
openproject-token (~> 1.0.1)
openproject-translations!
parallel_tests (~> 2.14.0)
passenger
@@ -688,7 +690,7 @@ DEPENDENCIES
reform-rails (~> 0.1.7)
request_store (~> 1.3.1)
responders (~> 2.4)
retriable (~> 2.1)
retriable (~> 3.0)
roar (~> 1.1.0)
rspec (~> 3.5.0)
rspec-activemodel-mocks (~> 1.0.3)!
@@ -700,12 +702,12 @@ DEPENDENCIES
ruby-duration (~> 3.2.0)
ruby-progressbar
rubytree!
sass (= 3.5.0.pre.rc.1)
sass (= 3.5.1)
sass-rails (~> 5.0.6)
selenium-webdriver (~> 3.4)
shoulda-context (~> 1.2)
shoulda-matchers (~> 3.1)
simplecov (~> 0.12.0)
simplecov (~> 0.14.0)
sprockets (~> 3.7.0)
sqlite3
stringex (~> 2.7.1)
@@ -713,7 +715,7 @@ DEPENDENCIES
syck (~> 1.3.0)
sys-filesystem (~> 1.1.4)
thin (~> 1.7.2)
timecop (~> 0.8.1)
timecop (~> 0.9.0)
transactional_lock!
tzinfo-data (~> 1.2017.2)
unicorn
@@ -727,4 +729,4 @@ RUBY VERSION
ruby 2.4.1p111
BUNDLED WITH
1.15.1
1.15.2
+6 -6
View File
@@ -55,13 +55,13 @@ if [ $1 != 'npm' ]; then
run "bundle exec rake db:migrate"
fi
# We need npm 4.0 for a bugfix in cross-platform shrinkwrap
# https://github.com/npm/npm/issues/14042
run "npm install npm@4.0"
run "for i in {1..3}; do npm install && break || sleep 15; done"
if [ $1 != 'specs' ] && [ $1 != 'spec_legacy' ]; then
# We need npm 4.0 for a bugfix in cross-platform shrinkwrap
# https://github.com/npm/npm/issues/14042
run "npm install npm@4.0"
run "for i in {1..3}; do npm install && break || sleep 15; done"
run "bundle exec rake assets:precompile"
else
# fake result of npm/asset run
@@ -57,7 +57,7 @@ describe 'Query selection', type: :feature do
before do
default_status
allow(User).to receive(:current).and_return current_user
login_as(current_user)
end
context 'default view, without a query selected' do
@@ -8,13 +8,13 @@ describe 'Empty query filters', js: true do
before do
login_as(user)
work_package
wp_table.visit!
wp_table.expect_work_package_listed(work_package)
end
# Tests for regression #23739
it 'allows to delete the last query filter' do
# Open filter menu
filters.expect_filter_count(1)
filters.open
@@ -22,7 +22,6 @@ describe 'Empty query filters', js: true do
# Remove only filter
filters.remove_filter(:status)
loading_indicator_saveguard
wp_table.expect_work_package_listed(work_package)
wp_table.expect_no_notification(type: :error)
@@ -77,14 +77,14 @@ describe 'Work Package table hierarchy', js: true do
hierarchy.expect_hierarchy_at(wp_root, wp_inter)
hierarchy.toggle_row(wp_root)
# need to reload wp_inter as we changed the subject
wp_inter.reload
wp_table.expect_work_package_listed(wp_root, wp_inter, wp_leaf)
# Disabling hierarchy hides them again
hierarchy.disable_hierarchy
expect(page).to have_no_selector(".wp-row-#{wp_root.id}")
expect(page).to have_no_selector(".wp-row-#{wp_inter.id}")
wp_table.expect_work_package_not_listed(wp_root, wp_inter)
end
end
@@ -43,6 +43,7 @@ describe 'Invalid query spec', js: true do
let(:work_package_assigned) do
FactoryGirl.create(:work_package,
project: project,
status: status2,
assigned_to: user)
end
@@ -65,7 +66,7 @@ describe 'Invalid query spec', js: true do
wp_table.expect_no_notification(type: :error,
message: I18n.t('js.work_packages.faulty_query.description'))
wp_table.expect_work_package_listed [work_package_assigned]
wp_table.expect_work_package_listed work_package_assigned
wp_table.expect_query_in_select_dropdown(invalid_query.name)
end
@@ -92,11 +93,11 @@ describe 'Invalid query spec', js: true do
wp_table.expect_no_work_package_listed
wp_table.group_by('Assignee')
sleep(0.1)
sleep(0.3)
filters.set_filter('Assignee', 'is', user.name)
sleep(0.1)
sleep(0.3)
wp_table.expect_work_package_listed [work_package_assigned]
wp_table.expect_work_package_listed work_package_assigned
wp_table.save
wp_table.expect_notification(message: I18n.t('js.notice_successful_update'))
@@ -180,7 +180,7 @@ RSpec.feature 'Work package timeline navigation', js: true, selenium: true do
wp_timeline.expect_timeline_relation(wp_cat1, wp_cat2)
# Collapse first section
find('#wp-table-rowgroup-0').click
find('#wp-table-rowgroup-1 .expander').click
wp_timeline.expect_work_package_not_listed(wp_cat1)
# Relation should be hidden
@@ -104,7 +104,7 @@ class WorkPackagesPage
def select_query_from_dropdown(query)
within('.title-container') do
find('a').click
find('a', text: query.name).click
find('li', text: query.name).click
end
end
+12 -8
View File
@@ -50,9 +50,11 @@ module Pages
def expect_work_package_listed(*work_packages)
super(*work_packages)
within(table_container) do
work_packages.each do |wp|
expect(page).to have_selector("#wp-timeline-row-#{wp.id}", visible: true)
if page.has_selector?('#work-packages-timeline-toggle-button.-active')
within(timeline_container) do
work_packages.each do |wp|
expect(page).to have_selector(".wp-row-#{wp.id}-timeline", visible: true)
end
end
end
end
@@ -60,9 +62,11 @@ module Pages
def expect_work_package_not_listed(*work_packages)
super(*work_packages)
within(table_container) do
work_packages.each do |wp|
expect(page).to have_no_selector("#wp-timeline-row-#{wp.id}", visible: true)
if page.has_selector?('#work-packages-timeline-toggle-button.-active')
within(timeline_container) do
work_packages.each do |wp|
expect(page).to have_no_selector(".wp-row-#{wp.id}-timeline", visible: true)
end
end
end
end
@@ -100,13 +104,13 @@ module Pages
def expect_timeline_relation(from, to)
within(timeline_container) do
expect(page).to have_selector(".relation-line.__tl-relation-#{from.id}-#{to.id}", minimum: 1)
expect(page).to have_selector(".relation-line.__tl-relation-#{from.id}.__tl-relation-#{to.id}", minimum: 1)
end
end
def expect_no_timeline_relation(from, to)
within(timeline_container) do
expect(page).to have_no_selector(".relation-line.__tl-relation-#{from.id}-#{to.id}")
expect(page).to have_no_selector(".relation-line.__tl-relation-#{from.id}.__tl-relation-#{to.id}")
end
end