diff options
author | Grzegorz Bizon <grzegorz@gitlab.com> | 2017-11-10 19:16:12 +0300 |
---|---|---|
committer | Michael Kozono <mkozono@gmail.com> | 2017-11-11 03:52:33 +0300 |
commit | de1fcbf01c8686ed51a7285b7dcf715ebcc2a61f (patch) | |
tree | 18fa2a10c4f02aa9c2217788296b15d99c4fccbe /qa | |
parent | 29831be88942715d3c240bf965e887df7f93ba1d (diff) |
Merge branch 'rc/gitlab-qa-89' into 'master'
Change Page::Main::Entry to only visit an entrypoint and introduce Page::Main::Login to handle actual log-in
See merge request gitlab-org/gitlab-ce!15283
Diffstat (limited to 'qa')
-rw-r--r-- | qa/qa.rb | 1 | ||||
-rw-r--r-- | qa/qa/git/repository.rb | 2 | ||||
-rw-r--r-- | qa/qa/page/main/entry.rb | 21 | ||||
-rw-r--r-- | qa/qa/page/main/login.rb | 19 | ||||
-rw-r--r-- | qa/qa/specs/features/login/standard_spec.rb | 3 | ||||
-rw-r--r-- | qa/qa/specs/features/mattermost/group_create_spec.rb | 3 | ||||
-rw-r--r-- | qa/qa/specs/features/mattermost/login_spec.rb | 3 | ||||
-rw-r--r-- | qa/qa/specs/features/project/create_spec.rb | 3 | ||||
-rw-r--r-- | qa/qa/specs/features/repository/clone_spec.rb | 3 | ||||
-rw-r--r-- | qa/qa/specs/features/repository/push_spec.rb | 3 |
10 files changed, 40 insertions, 21 deletions
@@ -61,6 +61,7 @@ module QA module Main autoload :Entry, 'qa/page/main/entry' + autoload :Login, 'qa/page/main/login' autoload :Menu, 'qa/page/main/menu' end diff --git a/qa/qa/git/repository.rb b/qa/qa/git/repository.rb index b9e199000d6..59cd147e055 100644 --- a/qa/qa/git/repository.rb +++ b/qa/qa/git/repository.rb @@ -23,7 +23,7 @@ module QA def password=(pass) @password = pass - @uri.password = pass + @uri.password = CGI.escape(pass) end def use_default_credentials diff --git a/qa/qa/page/main/entry.rb b/qa/qa/page/main/entry.rb index a9810beeb29..ac939732b1d 100644 --- a/qa/qa/page/main/entry.rb +++ b/qa/qa/page/main/entry.rb @@ -2,9 +2,14 @@ module QA module Page module Main class Entry < Page::Base - def initialize - visit('/') + def visit_login_page + visit("#{Runtime::Scenario.gitlab_address}/users/sign_in") + wait_for_instance_to_be_ready + end + + private + def wait_for_instance_to_be_ready # This resolves cold boot / background tasks problems # start = Time.now @@ -14,18 +19,6 @@ module QA refresh end end - - def sign_in_using_credentials - if page.has_content?('Change your password') - fill_in :user_password, with: Runtime::User.password - fill_in :user_password_confirmation, with: Runtime::User.password - click_button 'Change your password' - end - - fill_in :user_login, with: Runtime::User.name - fill_in :user_password, with: Runtime::User.password - click_button 'Sign in' - end end end end diff --git a/qa/qa/page/main/login.rb b/qa/qa/page/main/login.rb new file mode 100644 index 00000000000..8b0111a78a2 --- /dev/null +++ b/qa/qa/page/main/login.rb @@ -0,0 +1,19 @@ +module QA + module Page + module Main + class Login < Page::Base + def sign_in_using_credentials + if page.has_content?('Change your password') + fill_in :user_password, with: Runtime::User.password + fill_in :user_password_confirmation, with: Runtime::User.password + click_button 'Change your password' + end + + fill_in :user_login, with: Runtime::User.name + fill_in :user_password, with: Runtime::User.password + click_button 'Sign in' + end + end + end + end +end diff --git a/qa/qa/specs/features/login/standard_spec.rb b/qa/qa/specs/features/login/standard_spec.rb index ba19ce17ee5..b155708c387 100644 --- a/qa/qa/specs/features/login/standard_spec.rb +++ b/qa/qa/specs/features/login/standard_spec.rb @@ -1,7 +1,8 @@ module QA feature 'standard root login', :core do scenario 'user logs in using credentials' do - Page::Main::Entry.act { sign_in_using_credentials } + Page::Main::Entry.act { visit_login_page } + Page::Main::Login.act { sign_in_using_credentials } # TODO, since `Signed in successfully` message was removed # this is the only way to tell if user is signed in correctly. diff --git a/qa/qa/specs/features/mattermost/group_create_spec.rb b/qa/qa/specs/features/mattermost/group_create_spec.rb index c4afd83c8e4..853a9a6a4f4 100644 --- a/qa/qa/specs/features/mattermost/group_create_spec.rb +++ b/qa/qa/specs/features/mattermost/group_create_spec.rb @@ -1,7 +1,8 @@ module QA feature 'create a new group', :mattermost do scenario 'creating a group with a mattermost team' do - Page::Main::Entry.act { sign_in_using_credentials } + Page::Main::Entry.act { visit_login_page } + Page::Main::Login.act { sign_in_using_credentials } Page::Main::Menu.act { go_to_groups } Page::Dashboard::Groups.perform do |page| diff --git a/qa/qa/specs/features/mattermost/login_spec.rb b/qa/qa/specs/features/mattermost/login_spec.rb index a89a6a3d1cf..92f91cb2725 100644 --- a/qa/qa/specs/features/mattermost/login_spec.rb +++ b/qa/qa/specs/features/mattermost/login_spec.rb @@ -1,7 +1,8 @@ module QA feature 'logging in to Mattermost', :mattermost do scenario 'can use gitlab oauth' do - Page::Main::Entry.act { sign_in_using_credentials } + Page::Main::Entry.act { visit_login_page } + Page::Main::Login.act { sign_in_using_credentials } Page::Mattermost::Login.act { sign_in_using_oauth } Page::Mattermost::Main.perform do |page| diff --git a/qa/qa/specs/features/project/create_spec.rb b/qa/qa/specs/features/project/create_spec.rb index 27eb22f15a6..aba0c2b4c14 100644 --- a/qa/qa/specs/features/project/create_spec.rb +++ b/qa/qa/specs/features/project/create_spec.rb @@ -1,7 +1,8 @@ module QA feature 'create a new project', :core do scenario 'user creates a new project' do - Page::Main::Entry.act { sign_in_using_credentials } + Page::Main::Entry.act { visit_login_page } + Page::Main::Login.act { sign_in_using_credentials } Scenario::Gitlab::Project::Create.perform do |project| project.name = 'awesome-project' diff --git a/qa/qa/specs/features/repository/clone_spec.rb b/qa/qa/specs/features/repository/clone_spec.rb index 3571173783d..5cc3b3b9c1b 100644 --- a/qa/qa/specs/features/repository/clone_spec.rb +++ b/qa/qa/specs/features/repository/clone_spec.rb @@ -9,7 +9,8 @@ module QA end before do - Page::Main::Entry.act { sign_in_using_credentials } + Page::Main::Entry.act { visit_login_page } + Page::Main::Login.act { sign_in_using_credentials } Scenario::Gitlab::Project::Create.perform do |scenario| scenario.name = 'project-with-code' diff --git a/qa/qa/specs/features/repository/push_spec.rb b/qa/qa/specs/features/repository/push_spec.rb index 0e691fb0d75..30935dc1e13 100644 --- a/qa/qa/specs/features/repository/push_spec.rb +++ b/qa/qa/specs/features/repository/push_spec.rb @@ -2,7 +2,8 @@ module QA feature 'push code to repository', :core do context 'with regular account over http' do scenario 'user pushes code to the repository' do - Page::Main::Entry.act { sign_in_using_credentials } + Page::Main::Entry.act { visit_login_page } + Page::Main::Login.act { sign_in_using_credentials } Scenario::Gitlab::Project::Create.perform do |scenario| scenario.name = 'project_with_code' |