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
This commit is contained in:
commit
8c65b76b6f
10 changed files with 40 additions and 21 deletions
1
qa/qa.rb
1
qa/qa.rb
|
@ -62,6 +62,7 @@ module QA
|
|||
|
||||
module Main
|
||||
autoload :Entry, 'qa/page/main/entry'
|
||||
autoload :Login, 'qa/page/main/login'
|
||||
autoload :Menu, 'qa/page/main/menu'
|
||||
end
|
||||
|
||||
|
|
|
@ -23,7 +23,7 @@ module QA
|
|||
|
||||
def password=(pass)
|
||||
@password = pass
|
||||
@uri.password = pass
|
||||
@uri.password = CGI.escape(pass)
|
||||
end
|
||||
|
||||
def use_default_credentials
|
||||
|
|
|
@ -2,9 +2,14 @@ module QA
|
|||
module Page
|
||||
module Main
|
||||
class Entry < Page::Base
|
||||
def initialize
|
||||
visit(Runtime::Scenario.gitlab_address)
|
||||
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
|
||||
|
|
19
qa/qa/page/main/login.rb
Normal file
19
qa/qa/page/main/login.rb
Normal file
|
@ -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
|
|
@ -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.
|
||||
|
|
|
@ -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|
|
||||
|
|
|
@ -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|
|
||||
|
|
|
@ -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'
|
||||
|
|
|
@ -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'
|
||||
|
|
|
@ -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'
|
||||
|
|
Loading…
Reference in a new issue