diff --git a/Gemfile b/Gemfile index f07a3ecc..e36d4dbd 100644 --- a/Gemfile +++ b/Gemfile @@ -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' diff --git a/Gemfile.lock b/Gemfile.lock index eca6744b..8943ef73 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -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 diff --git a/Procfile b/Procfile index 29458073..6fdee4e7 100644 --- a/Procfile +++ b/Procfile @@ -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 diff --git a/app/assets/javascripts/supplier/app/app.js.coffee b/app/assets/javascripts/supplier/app/app.js.coffee index 4ac4d757..8cbcaac8 100644 --- a/app/assets/javascripts/supplier/app/app.js.coffee +++ b/app/assets/javascripts/supplier/app/app.js.coffee @@ -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 diff --git a/app/assets/javascripts/supplier/app/templates/modals/close_list.emblem b/app/assets/javascripts/supplier/app/templates/modals/close_list.emblem index 7c622dfe..7696ed0a 100644 --- a/app/assets/javascripts/supplier/app/templates/modals/close_list.emblem +++ b/app/assets/javascripts/supplier/app/templates/modals/close_list.emblem @@ -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' diff --git a/app/controllers/pages_controller.rb b/app/controllers/pages_controller.rb index a1fa5923..41c6656b 100644 --- a/app/controllers/pages_controller.rb +++ b/app/controllers/pages_controller.rb @@ -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 diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index d91435e5..96b2bb26 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -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 } diff --git a/spec/support/ember_helpers.rb b/spec/support/ember_helpers.rb index 7c75b1aa..3a63db31 100644 --- a/spec/support/ember_helpers.rb +++ b/spec/support/ember_helpers.rb @@ -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 diff --git a/spec/support/features/basic_helpers.rb b/spec/support/features/basic_helpers.rb index 9538b2e1..b8154c82 100644 --- a/spec/support/features/basic_helpers.rb +++ b/spec/support/features/basic_helpers.rb @@ -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