diff --git a/Gemfile b/Gemfile index 23c20cad4..1369b678b 100644 --- a/Gemfile +++ b/Gemfile @@ -274,7 +274,7 @@ group :test do gem "capybara", "2.7.1" gem "database_cleaner", "1.5.3" - gem "poltergeist", "1.9.0" + gem "poltergeist", "1.10.0" gem "cucumber-api-steps", "0.13", require: false gem "json_spec", "1.1.4" @@ -297,7 +297,7 @@ group :development, :test do gem "rspec-rails", "3.5.1" # Cucumber (integration tests) - gem "cucumber-rails", "1.4.3", require: false + gem "cucumber-rails", "1.4.4", require: false # Jasmine (client side application tests (JS)) gem "jasmine", "2.4.0" diff --git a/Gemfile.lock b/Gemfile.lock index a8ec44b3c..02a8cc166 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -157,12 +157,12 @@ GEM rspec (>= 2.12.0) cucumber-core (1.5.0) gherkin (~> 4.0) - cucumber-rails (1.4.3) + cucumber-rails (1.4.4) capybara (>= 1.1.2, < 3) cucumber (>= 1.3.8, < 3) mime-types (>= 1.16, < 4) nokogiri (~> 1.5) - railties (>= 3, < 5) + railties (>= 3, < 5.1) cucumber-wire (0.0.1) database_cleaner (1.5.3) devise (4.2.0) @@ -576,10 +576,9 @@ GEM pg (0.18.4) phantomjs (2.1.1.0) pkg-config (1.1.7) - poltergeist (1.9.0) + poltergeist (1.10.0) capybara (~> 2.1) cliver (~> 0.3.1) - multi_json (~> 1.0) websocket-driver (>= 0.2.0) powerpack (0.1.1) pronto (0.7.0) @@ -924,7 +923,7 @@ DEPENDENCIES configurate (= 0.3.1) coveralls cucumber-api-steps (= 0.13) - cucumber-rails (= 1.4.3) + cucumber-rails (= 1.4.4) database_cleaner (= 1.5.3) devise (= 4.2.0) devise-token_authenticatable (= 0.5.2) @@ -976,7 +975,7 @@ DEPENDENCIES open_graph_reader (= 0.6.1) openid_connect (= 0.11.2) pg (= 0.18.4) - poltergeist (= 1.9.0) + poltergeist (= 1.10.0) pronto (= 0.7.0) pronto-eslint (= 0.7.0) pronto-haml (= 0.7.0) diff --git a/features/desktop/aspect_navigation.feature b/features/desktop/aspect_navigation.feature index 84d601857..d6a70ab3b 100644 --- a/features/desktop/aspect_navigation.feature +++ b/features/desktop/aspect_navigation.feature @@ -17,6 +17,9 @@ Feature: Aspect navigation on the left menu Scenario: Aspects selection is remembered through site navigation When I select only "Besties" aspect + Then I should be on the aspects page + + When I go to the stream page And I go to the aspects page Then I should see "Besties" aspect selected And I should see "Unicorns" aspect unselected diff --git a/features/mobile/drawer.feature b/features/mobile/drawer.feature index 6338406e3..259f06e17 100644 --- a/features/mobile/drawer.feature +++ b/features/mobile/drawer.feature @@ -30,12 +30,14 @@ Feature: Navigate between pages using the header menu and the drawer Then I should be on the new status message page Scenario: search a user - When I open the drawer + When I have turned off jQuery effects + And I open the drawer And I search for "Bob" Then I should see "Users matching Bob" within "#search_title" Scenario: search for a tag - When I open the drawer + When I have turned off jQuery effects + And I open the drawer And I search for "#bob" Then I should be on the tag page for "bob" diff --git a/features/step_definitions/mobile_steps.rb b/features/step_definitions/mobile_steps.rb index ba0bfba22..28a966e3a 100644 --- a/features/step_definitions/mobile_steps.rb +++ b/features/step_definitions/mobile_steps.rb @@ -12,11 +12,12 @@ end When /^I open the drawer$/ do find("#menu-badge").click - expect(find("#app")["class"]).to include "draw" + expect(page).to have_css("#app.draw") end Then /^the aspect dropdown within "([^"]*)" should be labeled "([^"]*)"/ do |selector, label| within(selector) do - current_scope.should have_css("option.list_cover", :text => label) + current_scope.should have_no_css("option.list_cover", text: "updating...") + current_scope.should have_css("option.list_cover", text: label) end end diff --git a/features/step_definitions/session_steps.rb b/features/step_definitions/session_steps.rb index 56c747fad..03f5bd3ed 100644 --- a/features/step_definitions/session_steps.rb +++ b/features/step_definitions/session_steps.rb @@ -54,6 +54,7 @@ end When /^I (?:log|sign) out$/ do logout + step "I go to the root page" end When /^I (?:log|sign) out manually$/ do diff --git a/features/support/publishing_cuke_helpers.rb b/features/support/publishing_cuke_helpers.rb index 36985fc50..bcc7aff8a 100644 --- a/features/support/publishing_cuke_helpers.rb +++ b/features/support/publishing_cuke_helpers.rb @@ -9,7 +9,12 @@ module PublishingCukeHelpers # make sure the other text field got the new contents if input_selector == "#status_message_fake_text" - expect(page).to have_selector("#status_message_text[value='#{status_message_text} #{txt}']", visible: false) + begin + expect(page).to have_selector("#status_message_text[value='#{status_message_text} #{txt}']", visible: false) + rescue RSpec::Expectations::ExpectationNotMetError + puts "Value was instead: #{find('#status_message_text', visible: false).value.inspect}" + raise + end end end