Files
openfoodnetwork/spec/support/request/authentication_workflow.rb
Kristina Lim cd41498da9 Ask to login when not authenticated for order page
Redirect the user to the login page, instead of responding with HTTP
401.
2018-09-06 16:26:48 +08:00

70 lines
1.8 KiB
Ruby

module AuthenticationWorkflow
include Warden::Test::Helpers
def quick_login_as(user)
login_as user
end
def quick_login_as_admin
admin_role = Spree::Role.find_or_create_by_name!('admin')
admin_user = create(:user,
:password => 'passw0rd',
:password_confirmation => 'passw0rd',
:remember_me => false,
:persistence_token => 'pass',
:login => 'admin@ofn.org')
admin_user.spree_roles << admin_role
quick_login_as admin_user
admin_user
end
def login_to_admin_section
quick_login_as_admin
visit spree.admin_path
end
# TODO: Should probably just rename this to create_user
def create_enterprise_user( attrs = {} )
new_user = create(:user, attrs)
new_user.spree_roles = [] # for some reason unbeknown to me, this new user gets admin permissions by default.
new_user.save
new_user
end
def login_to_admin_as user
quick_login_as user
visit spree.admin_path
#visit spree.admin_path
#fill_in 'spree_user_email', :with => user.email
#fill_in 'spree_user_password', :with => user.password
#click_button 'Login'
end
def login_to_consumer_section
user_role = Spree::Role.find_or_create_by_name!('user')
user = create_enterprise_user({
:email => 'someone@ofn.org',
:password => 'passw0rd',
:password_confirmation => 'passw0rd',
:remember_me => false,
:persistence_token => 'pass',
:login => 'someone@ofn.org'})
user.spree_roles << user_role
visit spree.login_path
fill_in_and_submit_login_form user
end
def fill_in_and_submit_login_form(user)
fill_in "email", with: user.email
fill_in "password", with: user.password
click_button "Login"
end
end
RSpec.configure do |config|
config.extend AuthenticationWorkflow, :type => :feature
end