Files
openfoodnetwork/lib/spree/api/testing_support/setup.rb

38 lines
1.1 KiB
Ruby

module Spree
module Api
module TestingSupport
module Setup
# enterprises is an array of variable names of let defines
# eg.
# let(:enterprise) { ... }
# sign_in_as_enterprise_user! [:enterprise]
def sign_in_as_enterprise_user!(enterprises)
let!(:current_api_user) do
user = create(:user)
user.spree_roles = []
enterprises.each do |enterprise|
user.enterprise_roles.create(enterprise: public_send(enterprise))
end
user.save!
user
end
end
def sign_in_as_admin!
let!(:current_api_user) do
user = Spree::LegacyUser.new(email: "ofn@example.com")
user.stub(:has_spree_role?).with("admin").and_return(true)
# Stub enterprises, needed for cancan ability checks
user.stub(:enterprises) { [] }
user.stub(:owned_groups) { [] }
user.stub(:spree_api_key) { "admin_spree_api_key" }
user
end
end
end
end
end
end