Commit 42ce2c108022f09e6c8e2fa9a90ea3f74f2b97b4
1 parent
03f6a28e
Exists in
master
and in
4 other branches
improve selectors to pass capybara 2.0
Showing
4 changed files
with
21 additions
and
16 deletions
Show diff stats
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| |