Sha256: 6e4ed4dc7335e4922f447645e358a8dc7ece1fed616d79e3f6b2f55f1c19c17a
Contents?: true
Size: 1.94 KB
Versions: 7
Compression:
Stored size: 1.94 KB
Contents
module Spree module TestingSupport module AuthorizationHelpers module CustomAbility def build_ability(&block) block ||= proc { |_u| can :manage, :all } Class.new do include CanCan::Ability define_method(:initialize, block) end end end module Controller include CustomAbility def stub_authorization!(&block) ability_class = build_ability(&block) before do allow(controller).to receive(:current_ability).and_return(ability_class.new(nil)) end end end module Request include CustomAbility def stub_authorization! ability = build_ability ability_class = Spree::Dependencies.ability_class.constantize after(:all) do ability_class.remove_ability(ability) end before(:all) do ability_class.register_ability(ability) end let(:admin_token) { Doorkeeper::AccessToken.create!(scopes: 'admin read write').token } before do allow(Spree.user_class).to receive(:find_by).and_return(Spree.user_class.new) if defined?(Spree::Admin) allow_any_instance_of(Spree::Admin::BaseController).to receive(:admin_oauth_token).and_return(admin_token) end end end def custom_authorization!(&block) ability = build_ability(&block) ability_class = Spree::Dependencies.ability_class.constantize after(:all) do ability_class.remove_ability(ability) end before(:all) do ability_class.register_ability(ability) end end end end end end RSpec.configure do |config| config.extend Spree::TestingSupport::AuthorizationHelpers::Controller, type: :controller config.extend Spree::TestingSupport::AuthorizationHelpers::Request, type: :feature end
Version data entries
7 entries across 7 versions & 1 rubygems