From 44d68159999a0ee30f7714470c1ef5b0c4a717fa Mon Sep 17 00:00:00 2001 From: Robert Speicher Date: Tue, 2 Jun 2015 17:30:21 -0400 Subject: [PATCH] Allow login_as helper to accept a User object --- spec/support/login_helpers.rb | 24 ++++++++++++++++++++---- 1 file 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