diff --git a/Gemfile b/Gemfile index c75dda0b7..f51885d69 100644 --- a/Gemfile +++ b/Gemfile @@ -51,6 +51,7 @@ group :development, :test do end group :test do - gem 'database_cleaner' + gem 'database_cleaner' + gem 'poltergeist' end diff --git a/Gemfile.lock b/Gemfile.lock index 6dfac43e4..ae06e346f 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -58,6 +58,7 @@ GEM rack (>= 1.0.0) rack-test (>= 0.5.4) xpath (~> 2.0) + cliver (0.3.2) coffee-rails (4.1.0) coffee-script (>= 2.2.0) railties (>= 4.0.0, < 5.0) @@ -109,6 +110,11 @@ GEM mini_portile (~> 0.6.0) orm_adapter (0.5.0) pg (0.18.2) + poltergeist (1.6.0) + capybara (~> 2.1) + cliver (~> 0.3.1) + multi_json (~> 1.0) + websocket-driver (>= 0.2.0) rack (1.6.4) rack-test (0.6.3) rack (>= 1.0) @@ -191,6 +197,9 @@ GEM binding_of_caller (>= 0.7.2) railties (>= 4.0) sprockets-rails (>= 2.0, < 4.0) + websocket-driver (0.6.2) + websocket-extensions (>= 0.1.0) + websocket-extensions (0.1.2) xpath (2.0.0) nokogiri (~> 1.3) @@ -211,6 +220,7 @@ DEPENDENCIES jbuilder (~> 2.0) jquery-rails pg + poltergeist rails (= 4.2.3) responders rspec-rails (~> 3.0) diff --git a/spec/features/comments_spec.rb b/spec/features/comments_spec.rb index f392003e2..ec0142651 100644 --- a/spec/features/comments_spec.rb +++ b/spec/features/comments_spec.rb @@ -19,7 +19,7 @@ feature 'Comments' do end end - scenario 'Create' do + scenario 'Create', :js, :focus do user = create(:user) debate = create(:debate) @@ -36,7 +36,7 @@ feature 'Comments' do end end - scenario 'Reply' do + scenario 'Reply', :js do citizen = create(:user, first_name: 'Ana') manuela = create(:user, first_name: 'Manuela') debate = create(:debate) @@ -45,6 +45,7 @@ feature 'Comments' do login_as(manuela) visit debate_path(debate) + click_link "Responder" within "#comment-#{comment.id}" do fill_in 'comment_body', with: 'La semana que viene está hecho.' click_button 'Publicar comentario' diff --git a/spec/rails_helper.rb b/spec/rails_helper.rb index fc6f2bb68..91b1313a5 100644 --- a/spec/rails_helper.rb +++ b/spec/rails_helper.rb @@ -6,6 +6,7 @@ require 'spec_helper' require 'rspec/rails' require 'capybara/rails' require 'capybara/rspec' +require 'capybara/poltergeist' include Warden::Test::Helpers Warden.test_mode! @@ -15,4 +16,6 @@ ActiveRecord::Migration.maintain_test_schema! RSpec.configure do |config| config.use_transactional_fixtures = true config.infer_spec_type_from_file_location! -end \ No newline at end of file +end + +Capybara.javascript_driver = :poltergeist \ No newline at end of file diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index 7ff23a112..07d14fcb6 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -1,15 +1,19 @@ require 'factory_girl_rails' +require 'database_cleaner' + RSpec.configure do |config| + config.use_transactional_fixtures = false config.filter_run :focus config.run_all_when_everything_filtered = true config.include FactoryGirl::Syntax::Methods - + config.before(:suite) do DatabaseCleaner.clean_with :truncation DatabaseCleaner.strategy = :transaction end config.before(:each) do + DatabaseCleaner.strategy= example.metadata[:js] ? :truncation : :transaction DatabaseCleaner.start end