From f27c0483ca9dca697830208a2fb5e109a0a6133f Mon Sep 17 00:00:00 2001 From: Saritha <saritha.ts@experionglobal.com> Date: Tue, 27 Oct 2015 18:09:25 +0530 Subject: [PATCH] Feature spec for change password on mobile website Fix #6372 --- features/mobile/change_password.feature | 55 ++++++++++++++++++++++ features/step_definitions/session_steps.rb | 11 +++++ features/support/user_cuke_helpers.rb | 5 ++ 3 files changed, 71 insertions(+) create mode 100644 features/mobile/change_password.feature diff --git a/features/mobile/change_password.feature b/features/mobile/change_password.feature new file mode 100644 index 0000000000..925e3587c1 --- /dev/null +++ b/features/mobile/change_password.feature @@ -0,0 +1,55 @@ +@javascript @mobile +Feature: Change password + As a mobile user + I want to Change my password + + + Scenario: Change my password + Given I am signed in + When I go to the users edit page + And I fill out change password section with my password and "newsecret" and "newsecret" + And I press "Change password" + Then I should see "Password changed" + And I should be on the new user session page + When I sign in with password "newsecret" + Then I should be on the stream page + + Scenario: Attempt to change my password with invalid input + Given I am signed in + When I go to the edit user page + And I fill out change password section with my password and "too" and "short" + And I press "Change password" + Then I should see "Password is too short" + And I should see "Password confirmation doesn't match" + + Scenario: Reset my password + Given a user named "Georges Abitbol" with email "forgetful@users.net" + And I am on forgot password page + When I fill out forgot password form with "forgetful@users.net" + And I submit forgot password form + Then I should see "You will receive an email with instructions" + When I follow the "Change my password" link from the last sent email + And I fill out reset password form with "supersecret" and "supersecret" + And I submit reset password form + Then I should be on the stream page + When I sign out manually on the mobile website + And I sign in manually as "georges_abitbol" with password "supersecret" on the mobile website + Then I should be on the stream page + + Scenario: Attempt to reset password with invalid password + Given a user named "Georges Abitbol" with email "forgetful@users.net" + And I am on forgot password page + When I fill out forgot password form with "forgetful@users.net" + And I submit forgot password form + And I follow the "Change my password" link from the last sent email + And I fill out reset password form with "too" and "short" + And I press "Change my password" + Then I should be on the user password page + And I should see "Password is too short" + And I should see "Password confirmation doesn't match" + + Scenario: Attempt to reset password with invalid email + Given I am on forgot password page + When I fill out forgot password form with "notanemail" + And I submit forgot password form + Then I should see "No account with this email exists" diff --git a/features/step_definitions/session_steps.rb b/features/step_definitions/session_steps.rb index 4179799fd8..69ee9d6fd1 100644 --- a/features/step_definitions/session_steps.rb +++ b/features/step_definitions/session_steps.rb @@ -28,6 +28,13 @@ When /^I (?:sign|log) in as "([^"]*)" on the mobile website$/ do |email| confirm_login_mobile end +When /^I (?:sign|log) in manually as "([^"]*)" with password "([^"]*)" on the mobile website$/ do |username, password| + @me = User.find_by_username(username) + @me.password ||= password + manual_login + confirm_login_mobile +end + When /^I (?:sign|log) in with password "([^"]*)"$/ do |password| @me.password = password automatic_login @@ -66,6 +73,10 @@ When /^I (?:log|sign) out manually$/ do manual_logout end +When /^I (?:log|sign) out manually on the mobile website$/ do + manual_logout_mobile +end + Then(/^I should not be able to sign up$/) do confirm_not_signed_up end diff --git a/features/support/user_cuke_helpers.rb b/features/support/user_cuke_helpers.rb index 54a986ae11..cd2cc1ca11 100644 --- a/features/support/user_cuke_helpers.rb +++ b/features/support/user_cuke_helpers.rb @@ -64,6 +64,11 @@ module UserCukeHelpers find("#user_menu li:last-child a").click end + def manual_logout_mobile + find("#menu-badge").click + find("#drawer ul li:last-child a").click + end + def fill_in_new_user_form @username = "ohai" fill_in('user_username', with: @username) -- GitLab