Commit 42ce2c108022f09e6c8e2fa9a90ea3f74f2b97b4

Authored by Dmitriy Zaporozhets
1 parent 03f6a28e

improve selectors to pass capybara 2.0

app/views/profiles/account.html.haml
@@ -9,7 +9,7 @@ @@ -9,7 +9,7 @@
9 9
10 10
11 11
12 -%fieldset 12 +%fieldset.update-token
13 %legend 13 %legend
14 Private token 14 Private token
15 %span.cred.pull-right 15 %span.cred.pull-right
@@ -29,7 +29,7 @@ @@ -29,7 +29,7 @@
29 %span You don`t have one yet. Click generate to fix it. 29 %span You don`t have one yet. Click generate to fix it.
30 = f.submit 'Generate', class: "btn success btn-build-token" 30 = f.submit 'Generate', class: "btn success btn-build-token"
31 31
32 -%fieldset 32 +%fieldset.update-password
33 %legend Password 33 %legend Password
34 = form_for @user, url: update_password_profile_path, method: :put do |f| 34 = form_for @user, url: update_password_profile_path, method: :put do |f|
35 .padded 35 .padded
features/steps/profile/profile.rb
@@ -23,15 +23,19 @@ class Profile < Spinach::FeatureSteps @@ -23,15 +23,19 @@ class Profile < Spinach::FeatureSteps
23 end 23 end
24 24
25 Then 'I change my password' do 25 Then 'I change my password' do
26 - fill_in "user_password", :with => "222333"  
27 - fill_in "user_password_confirmation", :with => "222333"  
28 - click_button "Save" 26 + within '.update-password' do
  27 + fill_in "user_password", :with => "222333"
  28 + fill_in "user_password_confirmation", :with => "222333"
  29 + click_button "Save"
  30 + end
29 end 31 end
30 32
31 When 'I unsuccessfully change my password' do 33 When 'I unsuccessfully change my password' do
32 - fill_in "user_password", with: "password"  
33 - fill_in "user_password_confirmation", with: "confirmation"  
34 - click_button "Save" 34 + within '.update-password' do
  35 + fill_in "user_password", with: "password"
  36 + fill_in "user_password_confirmation", with: "confirmation"
  37 + click_button "Save"
  38 + end
35 end 39 end
36 40
37 Then "I should see a password error message" do 41 Then "I should see a password error message" do
@@ -43,8 +47,10 @@ class Profile < Spinach::FeatureSteps @@ -43,8 +47,10 @@ class Profile < Spinach::FeatureSteps
43 end 47 end
44 48
45 Then 'I reset my token' do 49 Then 'I reset my token' do
46 - @old_token = @user.private_token  
47 - click_button "Reset" 50 + within '.update-token' do
  51 + @old_token = @user.private_token
  52 + click_button "Reset"
  53 + end
48 end 54 end
49 55
50 And 'I should see new token' do 56 And 'I should see new token' do
features/steps/shared/diff_note.rb
@@ -22,7 +22,7 @@ module SharedDiffNote @@ -22,7 +22,7 @@ module SharedDiffNote
22 22
23 Given 'I leave a diff comment like "Typo, please fix"' do 23 Given 'I leave a diff comment like "Typo, please fix"' do
24 find("#586fb7c4e1add2d4d24e27566ed7064680098646_29_14.line_holder .js-add-diff-note-button").trigger("click") 24 find("#586fb7c4e1add2d4d24e27566ed7064680098646_29_14.line_holder .js-add-diff-note-button").trigger("click")
25 - within(".file") do 25 + within(".file form[rel$='586fb7c4e1add2d4d24e27566ed7064680098646_29_14']") do
26 fill_in "note[note]", with: "Typo, please fix" 26 fill_in "note[note]", with: "Typo, please fix"
27 #click_button("Add Comment") 27 #click_button("Add Comment")
28 find(".js-comment-button").trigger("click") 28 find(".js-comment-button").trigger("click")
@@ -32,7 +32,7 @@ module SharedDiffNote @@ -32,7 +32,7 @@ module SharedDiffNote
32 32
33 Given 'I preview a diff comment text like "Should fix it :smile:"' do 33 Given 'I preview a diff comment text like "Should fix it :smile:"' do
34 find("#586fb7c4e1add2d4d24e27566ed7064680098646_29_14.line_holder .js-add-diff-note-button").trigger("click") 34 find("#586fb7c4e1add2d4d24e27566ed7064680098646_29_14.line_holder .js-add-diff-note-button").trigger("click")
35 - within(".file") do 35 + within(".file form[rel$='586fb7c4e1add2d4d24e27566ed7064680098646_29_14']") do
36 fill_in "note[note]", with: "Should fix it :smile:" 36 fill_in "note[note]", with: "Should fix it :smile:"
37 find(".js-note-preview-button").trigger("click") 37 find(".js-note-preview-button").trigger("click")
38 end 38 end
@@ -40,7 +40,7 @@ module SharedDiffNote @@ -40,7 +40,7 @@ module SharedDiffNote
40 40
41 Given 'I preview another diff comment text like "DRY this up"' do 41 Given 'I preview another diff comment text like "DRY this up"' do
42 find("#586fb7c4e1add2d4d24e27566ed7064680098646_57_41.line_holder .js-add-diff-note-button").trigger("click") 42 find("#586fb7c4e1add2d4d24e27566ed7064680098646_57_41.line_holder .js-add-diff-note-button").trigger("click")
43 - within(".file") do 43 + within(".file form[rel$='586fb7c4e1add2d4d24e27566ed7064680098646_57_41']") do
44 fill_in "note[note]", with: "DRY this up" 44 fill_in "note[note]", with: "DRY this up"
45 find(".js-note-preview-button").trigger("click") 45 find(".js-note-preview-button").trigger("click")
46 end 46 end
spec/spec_helper.rb
@@ -10,14 +10,13 @@ require 'capybara/rspec' @@ -10,14 +10,13 @@ require 'capybara/rspec'
10 require 'webmock/rspec' 10 require 'webmock/rspec'
11 require 'email_spec' 11 require 'email_spec'
12 require 'sidekiq/testing/inline' 12 require 'sidekiq/testing/inline'
  13 +require 'capybara/poltergeist'
  14 +Capybara.javascript_driver = :poltergeist
13 15
14 # Requires supporting ruby files with custom matchers and macros, etc, 16 # Requires supporting ruby files with custom matchers and macros, etc,
15 # in spec/support/ and its subdirectories. 17 # in spec/support/ and its subdirectories.
16 Dir[Rails.root.join("spec/support/**/*.rb")].each {|f| require f} 18 Dir[Rails.root.join("spec/support/**/*.rb")].each {|f| require f}
17 19
18 -require 'capybara/poltergeist'  
19 -Capybara.javascript_driver = :poltergeist  
20 -  
21 WebMock.disable_net_connect!(allow_localhost: true) 20 WebMock.disable_net_connect!(allow_localhost: true)
22 21
23 RSpec.configure do |config| 22 RSpec.configure do |config|