summaryrefslogtreecommitdiff
path: root/qa/qa/flow/login.rb
diff options
context:
space:
mode:
Diffstat (limited to 'qa/qa/flow/login.rb')
-rw-r--r--qa/qa/flow/login.rb18
1 files changed, 12 insertions, 6 deletions
diff --git a/qa/qa/flow/login.rb b/qa/qa/flow/login.rb
index d23d8eaf097..05a509588f1 100644
--- a/qa/qa/flow/login.rb
+++ b/qa/qa/flow/login.rb
@@ -5,10 +5,10 @@ module QA
module Login
module_function
- def while_signed_in(as: nil, address: :gitlab)
+ def while_signed_in(as: nil, address: :gitlab, admin: false)
Page::Main::Menu.perform(&:sign_out_if_signed_in)
- sign_in(as: as, address: address)
+ sign_in(as: as, address: address, admin: admin)
result = yield
@@ -17,19 +17,25 @@ module QA
end
def while_signed_in_as_admin(address: :gitlab)
- while_signed_in(as: Runtime::User.admin, address: address) do
+ while_signed_in(address: address, admin: true) do
yield
end
end
- def sign_in(as: nil, address: :gitlab, skip_page_validation: false)
+ def sign_in(as: nil, address: :gitlab, skip_page_validation: false, admin: false)
Page::Main::Menu.perform(&:sign_out) if Page::Main::Menu.perform(&:signed_in?)
Runtime::Browser.visit(address, Page::Main::Login)
- Page::Main::Login.perform { |login| login.sign_in_using_credentials(user: as, skip_page_validation: skip_page_validation) }
+ Page::Main::Login.perform do |login|
+ if admin
+ login.sign_in_using_admin_credentials
+ else
+ login.sign_in_using_credentials(user: as, skip_page_validation: skip_page_validation)
+ end
+ end
end
def sign_in_as_admin(address: :gitlab)
- sign_in(as: Runtime::User.admin, address: address)
+ sign_in(as: Runtime::User.admin, address: address, admin: true)
end
def sign_in_unless_signed_in(as: nil, address: :gitlab)