diff options
author | Robert Speicher <rspeicher@gmail.com> | 2015-06-02 17:30:21 -0400 |
---|---|---|
committer | Robert Speicher <rspeicher@gmail.com> | 2015-06-13 17:58:15 -0400 |
commit | 44d68159999a0ee30f7714470c1ef5b0c4a717fa (patch) | |
tree | 1969eaeeb5be1533271e26515d6953e6ab4eb058 /spec/support | |
parent | 821fc4b03479a193b055c91b8a655d226bc46c17 (diff) | |
download | gitlab-ce-44d68159999a0ee30f7714470c1ef5b0c4a717fa.tar.gz |
Allow login_as helper to accept a User object
Diffstat (limited to 'spec/support')
-rw-r--r-- | spec/support/login_helpers.rb | 24 |
1 files changed, 20 insertions, 4 deletions
diff --git a/spec/support/login_helpers.rb b/spec/support/login_helpers.rb index 791d2a1fd64..1bd68552012 100644 --- a/spec/support/login_helpers.rb +++ b/spec/support/login_helpers.rb @@ -1,9 +1,25 @@ module LoginHelpers - # Internal: Create and log in as a user of the specified role + # Internal: Log in as a specific user or a new user of a specific role # - # role - User role (e.g., :admin, :user) - def login_as(role) - @user = create(role) + # user_or_role - User object, or a role to create (e.g., :admin, :user) + # + # Examples: + # + # # Create a user automatically + # login_as(:user) + # + # # Create an admin automatically + # login_as(:admin) + # + # # Provide an existing User record + # user = create(:user) + # login_as(user) + def login_as(user_or_role) + if user_or_role.kind_of?(User) + @user = user_or_role + else + @user = create(user_or_role) + end login_with(@user) end |