Fix supplier poltergeist switch for waiting for app

This commit is contained in:
2016-06-15 17:13:44 +02:00
parent 6fee940181
commit 780332f6de
9 changed files with 67 additions and 52 deletions
+4 -6
View File
@@ -32,12 +32,10 @@ group :assets do
gem 'uglifier', '>= 1.0.3' gem 'uglifier', '>= 1.0.3'
gem 'ember-source', '~> 2.5.1'
gem 'ember-data-source', '~> 2.5.3'
gem 'ember-rails' gem 'ember-rails'
#gem 'ember-rails', path: '/home/benjamin/development/rails/components/ember-rails'
#gem 'ember-rails', github: 'bterkuile/ember-rails'
#gem 'ember-source', '~> 1.13.9'
#gem 'emblem-rails'
gem 'ember-validations-rails' gem 'ember-validations-rails'
gem 'ember-handlebars-template' gem 'ember-handlebars-template'
gem 'ember-emblem-template' #, github: 'bterkuile/ember-emblem-template' gem 'ember-emblem-template' #, github: 'bterkuile/ember-emblem-template'
@@ -121,9 +119,9 @@ end
group :test do group :test do
#gem 'capybara-webkit' #, '~>0.14.2' # version 1.1.0 does not yet compile in mavericks #gem 'capybara-webkit' #, '~>0.14.2' # version 1.1.0 does not yet compile in mavericks
#gem 'selenium-webdriver', '~> 2.45.0.dev3' #gem 'selenium-webdriver', '~> 2.45.0.dev3'
gem 'selenium-webdriver' #gem 'selenium-webdriver'
gem 'timecop' gem 'timecop'
#gem 'poltergeist' gem 'poltergeist'
#gem 'capybara-webkit' #gem 'capybara-webkit'
gem 'capybara-screenshot' gem 'capybara-screenshot'
gem 'turnip' gem 'turnip'
+28 -29
View File
@@ -1,6 +1,6 @@
GIT GIT
remote: git://github.com/bterkuile/cmtool.git remote: git://github.com/bterkuile/cmtool.git
revision: 2221ad8d79d5e37235edf0a05aa3e984c4398534 revision: 23bd4c9a58e4ae8b4fb9048bfda1a3af34bd3f8b
specs: specs:
cmtool (2.0.0) cmtool (2.0.0)
ace-rails-ap ace-rails-ap
@@ -103,7 +103,7 @@ GEM
sass (~> 3.4) sass (~> 3.4)
thor (~> 0.19) thor (~> 0.19)
builder (3.2.2) builder (3.2.2)
cancancan (1.14.0) cancancan (1.15.0)
capistrano (3.5.0) capistrano (3.5.0)
airbrussh (>= 1.0.0) airbrussh (>= 1.0.0)
capistrano-harrow capistrano-harrow
@@ -114,7 +114,7 @@ GEM
capistrano (~> 3.1) capistrano (~> 3.1)
sshkit (~> 1.2) sshkit (~> 1.2)
capistrano-harrow (0.5.1) capistrano-harrow (0.5.1)
capistrano-rails (1.1.6) capistrano-rails (1.1.7)
capistrano (~> 3.1) capistrano (~> 3.1)
capistrano-bundler (~> 1.1) capistrano-bundler (~> 1.1)
capistrano-rvm (0.1.2) capistrano-rvm (0.1.2)
@@ -133,11 +133,10 @@ GEM
capybara-screenshot (1.0.13) capybara-screenshot (1.0.13)
capybara (>= 1.0, < 3) capybara (>= 1.0, < 3)
launchy launchy
childprocess (0.5.9)
ffi (~> 1.0, >= 1.0.11)
chunky_png (1.3.5) chunky_png (1.3.5)
climate_control (0.0.3) climate_control (0.0.3)
activesupport (>= 3.0) activesupport (>= 3.0)
cliver (0.3.2)
cocaine (0.5.8) cocaine (0.5.8)
climate_control (>= 0.0.3, < 1.0) climate_control (>= 0.0.3, < 1.0)
coderay (1.1.1) coderay (1.1.1)
@@ -149,7 +148,7 @@ GEM
execjs execjs
coffee-script-source (1.10.0) coffee-script-source (1.10.0)
concurrent-ruby (1.0.2) concurrent-ruby (1.0.2)
cookiejar (0.3.0) cookiejar (0.3.3)
couch_potato (1.4.0) couch_potato (1.4.0)
activemodel activemodel
couchrest (~> 1.2.0) couchrest (~> 1.2.0)
@@ -166,14 +165,14 @@ GEM
railties (>= 4.1.0, < 5.1) railties (>= 4.1.0, < 5.1)
responders responders
warden (~> 1.2.3) warden (~> 1.2.3)
devise-i18n (1.0.1) devise-i18n (1.1.0)
diff-lcs (1.2.5) diff-lcs (1.2.5)
docile (1.1.5) docile (1.1.5)
domain_name (0.5.20160310) domain_name (0.5.20160310)
unf (>= 0.0.5, < 1.0.0) unf (>= 0.0.5, < 1.0.0)
em-http-request (1.1.3) em-http-request (1.1.4)
addressable (>= 2.3.4) addressable (>= 2.3.4)
cookiejar (<= 0.3.0) cookiejar (!= 0.3.1)
em-socksify (>= 0.3) em-socksify (>= 0.3)
eventmachine (>= 1.0.3) eventmachine (>= 1.0.3)
http_parser.rb (>= 0.6.0) http_parser.rb (>= 0.6.0)
@@ -230,7 +229,6 @@ GEM
faye-websocket (0.10.4) faye-websocket (0.10.4)
eventmachine (>= 0.12.0) eventmachine (>= 0.12.0)
websocket-driver (>= 0.5.1) websocket-driver (>= 0.5.1)
ffi (1.9.10)
font-awesome-rails (4.6.3.0) font-awesome-rails (4.6.3.0)
railties (>= 3.2, < 5.1) railties (>= 3.2, < 5.1)
foreman (0.82.0) foreman (0.82.0)
@@ -279,7 +277,7 @@ GEM
mime-types (2.99.2) mime-types (2.99.2)
mimemagic (0.3.0) mimemagic (0.3.0)
mini_magick (4.5.1) mini_magick (4.5.1)
mini_portile2 (2.0.0) mini_portile2 (2.1.0)
minitest (5.9.0) minitest (5.9.0)
multi_json (1.12.1) multi_json (1.12.1)
multi_xml (0.5.5) multi_xml (0.5.5)
@@ -289,8 +287,9 @@ GEM
net-ssh (>= 2.6.5) net-ssh (>= 2.6.5)
net-ssh (3.1.1) net-ssh (3.1.1)
netrc (0.11.0) netrc (0.11.0)
nokogiri (1.6.7.2) nokogiri (1.6.8)
mini_portile2 (~> 2.0.0.rc2) mini_portile2 (~> 2.1.0)
pkg-config (~> 1.1.7)
oauth2 (1.1.0) oauth2 (1.1.0)
faraday (>= 0.8, < 0.10) faraday (>= 0.8, < 0.10)
jwt (~> 1.0, < 1.5.2) jwt (~> 1.0, < 1.5.2)
@@ -317,6 +316,12 @@ GEM
mimemagic (= 0.3.0) mimemagic (= 0.3.0)
pickadate-rails (3.5.6.0) pickadate-rails (3.5.6.0)
railties (>= 3.1.0) railties (>= 3.1.0)
pkg-config (1.1.7)
poltergeist (1.9.0)
capybara (~> 2.1)
cliver (~> 0.3.1)
multi_json (~> 1.0)
websocket-driver (>= 0.2.0)
pry (0.10.3) pry (0.10.3)
coderay (~> 1.1.0) coderay (~> 1.1.0)
method_source (~> 0.8.1) method_source (~> 0.8.1)
@@ -359,7 +364,7 @@ GEM
activesupport (= 4.2.6) activesupport (= 4.2.6)
rake (>= 0.8.7) rake (>= 0.8.7)
thor (>= 0.18.1, < 2.0) thor (>= 0.18.1, < 2.0)
rake (11.1.2) rake (11.2.2)
ref (2.0.0) ref (2.0.0)
responders (2.2.0) responders (2.2.0)
railties (>= 4.2.0, < 5.1) railties (>= 4.2.0, < 5.1)
@@ -394,7 +399,6 @@ GEM
rspec-support (~> 3.4.0) rspec-support (~> 3.4.0)
rspec-support (3.4.1) rspec-support (3.4.1)
ruby-progressbar (1.8.1) ruby-progressbar (1.8.1)
rubyzip (1.2.0)
safe_yaml (1.0.4) safe_yaml (1.0.4)
sass (3.4.22) sass (3.4.22)
sass-rails (5.0.4) sass-rails (5.0.4)
@@ -403,10 +407,6 @@ GEM
sprockets (>= 2.8, < 4.0) sprockets (>= 2.8, < 4.0)
sprockets-rails (>= 2.0, < 4.0) sprockets-rails (>= 2.0, < 4.0)
tilt (>= 1.1, < 3) tilt (>= 1.1, < 3)
selenium-webdriver (2.53.0)
childprocess (~> 0.5)
rubyzip (~> 1.0)
websocket (~> 1.0)
simplecov (0.11.2) simplecov (0.11.2)
docile (~> 1.1.0) docile (~> 1.1.0)
json (~> 1.8) json (~> 1.8)
@@ -415,11 +415,9 @@ GEM
slim (3.0.7) slim (3.0.7)
temple (~> 0.7.6) temple (~> 0.7.6)
tilt (>= 1.3.3, < 2.1) tilt (>= 1.3.3, < 2.1)
slim-rails (3.0.1) slim-rails (3.1.0)
actionmailer (>= 3.1, < 5.0) actionpack (>= 3.1)
actionpack (>= 3.1, < 5.0) railties (>= 3.1)
activesupport (>= 3.1, < 5.0)
railties (>= 3.1, < 5.0)
slim (~> 3.0) slim (~> 3.0)
slop (3.6.0) slop (3.6.0)
spring (1.7.1) spring (1.7.1)
@@ -432,7 +430,7 @@ GEM
actionpack (>= 3.0) actionpack (>= 3.0)
activesupport (>= 3.0) activesupport (>= 3.0)
sprockets (>= 2.8, < 4.0) sprockets (>= 2.8, < 4.0)
sshkit (1.10.0) sshkit (1.11.0)
net-scp (>= 1.1.2) net-scp (>= 1.1.2)
net-ssh (>= 2.8.0) net-ssh (>= 2.8.0)
sucker_punch (2.0.2) sucker_punch (2.0.2)
@@ -447,9 +445,9 @@ GEM
thread_safe (0.3.5) thread_safe (0.3.5)
tilt (2.0.5) tilt (2.0.5)
timecop (0.8.1) timecop (0.8.1)
tinymce-rails (4.3.12) tinymce-rails (4.3.13)
railties (>= 3.1.1) railties (>= 3.1.1)
turnip (2.1.0) turnip (2.1.1)
gherkin (~> 2.5) gherkin (~> 2.5)
rspec (>= 3.0, < 4.0) rspec (>= 3.0, < 4.0)
tzinfo (1.2.2) tzinfo (1.2.2)
@@ -465,7 +463,6 @@ GEM
addressable (>= 2.3.6) addressable (>= 2.3.6)
crack (>= 0.3.2) crack (>= 0.3.2)
hashdiff hashdiff
websocket (1.2.3)
websocket-driver (0.6.4) websocket-driver (0.6.4)
websocket-extensions (>= 0.1.0) websocket-extensions (>= 0.1.0)
websocket-extensions (0.1.2) websocket-extensions (0.1.2)
@@ -495,9 +492,11 @@ DEPENDENCIES
devise devise
devise-i18n devise-i18n
devise_simply_stored! devise_simply_stored!
ember-data-source (~> 2.5.3)
ember-emblem-template ember-emblem-template
ember-handlebars-template ember-handlebars-template
ember-rails ember-rails
ember-source (~> 2.5.1)
ember-validations-rails ember-validations-rails
exception_notification exception_notification
factory_girl_rails factory_girl_rails
@@ -520,6 +519,7 @@ DEPENDENCIES
omniauth-instagram omniauth-instagram
paperclip (>= 4.2.4, != 4.3.0) paperclip (>= 4.2.4, != 4.3.0)
pickadate-rails pickadate-rails
poltergeist
pry-doc pry-doc
pry-rails pry-rails
puma puma
@@ -532,7 +532,6 @@ DEPENDENCIES
rspec-its rspec-its
rspec-rails rspec-rails
sass-rails sass-rails
selenium-webdriver
simplecov simplecov
simply_stored! simply_stored!
slim-rails slim-rails
+3 -2
View File
@@ -4,6 +4,7 @@
# production: faye: thin start -d -R faye/config.ru -p 9296 # production: faye: thin start -d -R faye/config.ru -p 9296
#counters: bin/drb_counter.rb run -- development #counters: bin/drb_counter.rb run -- development
# production: conters: bin/drb_counter.rb start # production: conters: bin/drb_counter.rb start
counters: drb_counter/drb_counter.rb development #counters: drb_counter/drb_counter.rb development
faye: thin start -R faye/config.ru -p 9296 #faye: thin start -R faye/config.ru -p 9296
web: rails s -p 3000 -b 0.0.0.0
#server: bundle exec rails s -e production #server: bundle exec rails s -e production
@@ -1,8 +1,11 @@
window.ember_ready = false
@App = Ember.Application.create @App = Ember.Application.create
LOG_TRANSITIONS: true LOG_TRANSITIONS: true
LOG_VIEW_LOOKUPS: true LOG_VIEW_LOOKUPS: true
rootElement: '#ember-app-container' rootElement: '#ember-app-container'
store: -> @__container__.lookup('service:store') store: -> @__container__.lookup('service:store')
ready: ->
window.ember_ready = true
@App.modals = Ember.Namespace.create() @App.modals = Ember.Namespace.create()
@Modals = @App.modals @Modals = @App.modals
@@ -1,4 +1,4 @@
p=t 'list.close.modal.message' p= t 'list.close.modal.message'
hr hr
button.modal-close{action "close"}=t 'list.close.modal.cancel' button.modal-close{action "close"}= t 'list.close.modal.cancel'
button.modal-confirm.right{action "confirm"}=t 'list.close.modal.close_list' button.modal-confirm.right{action "confirm"}= t 'list.close.modal.close_list'
-8
View File
@@ -1,11 +1,3 @@
class PagesController < ::ApplicationController class PagesController < ::ApplicationController
include Cmtool::Includes::PagesController include Cmtool::Includes::PagesController
def show
if request.format.json?
render json: {}, status: :not_found
else
super
end
end
end end
+3 -3
View File
@@ -10,7 +10,7 @@ require 'turnip/capybara'
require 'in_memory_q_counter' require 'in_memory_q_counter'
require 'capybara-screenshot/rspec' require 'capybara-screenshot/rspec'
require 'webmock/rspec' require 'webmock/rspec'
#require 'capybara/poltergeist' require 'capybara/poltergeist'
# Requires supporting ruby files with custom matchers and macros, etc, # Requires supporting ruby files with custom matchers and macros, etc,
# in spec/support/ and its subdirectories. # in spec/support/ and its subdirectories.
@@ -21,8 +21,8 @@ Dir.glob("spec/acceptance_steps/**/*steps.rb") { |f| load f, true }
I18n.locale =I18n.default_locale I18n.locale =I18n.default_locale
Devise.stretches = 1 Devise.stretches = 1
#Capybara.javascript_driver = :webkit #Capybara.javascript_driver = :webkit
#Capybara.javascript_driver = :poltergeist Capybara.javascript_driver = :poltergeist
Capybara.javascript_driver = :selenium #Capybara.javascript_driver = :selenium
Capybara.default_max_wait_time = 5 # ember needs more time than the default of 2 Capybara.default_max_wait_time = 5 # ember needs more time than the default of 2
Capybara.server_port = 62625 Capybara.server_port = 62625
Capybara::Screenshot.webkit_options = { width: 1024, height: 768 } Capybara::Screenshot.webkit_options = { width: 1024, height: 768 }
+1 -1
View File
@@ -104,7 +104,7 @@ module SpecEmberHelpers
def when_ember_is_ready(&blk) def when_ember_is_ready(&blk)
times = 0 times = 0
ember_ready = page.evaluate_script('window.ember_ready') ember_ready = page.evaluate_script('window.ember_ready')
while not ember_ready or times < 30 while not ember_ready and times < 30
sleep 0.1 sleep 0.1
ember_ready = page.evaluate_script('window.ember_ready') ember_ready = page.evaluate_script('window.ember_ready')
times += 1 times += 1
+22
View File
@@ -42,5 +42,27 @@ module Features
def submit_form def submit_form
find("[type=submit]").click find("[type=submit]").click
end end
def screenshot
screenshot_and_open_image
end
def open_page
save_and_open_page
end
def visit(*args)
case args[0]
when SimplyStored::Couch, Array, Class
args[0] = polymorphic_path(args[0])
end
super(*args)
if Capybara.current_driver == Capybara.javascript_driver
if page.current_path != "/admin/employees/test_login"
when_ember_is_ready { }
end
end
end
end end
end end