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