Sha256: ef5ddc88609ddc42da72e4b2caf1bb7ad86e5732f034209a91d677c27416ccff
Contents?: true
Size: 1.84 KB
Versions: 1
Compression:
Stored size: 1.84 KB
Contents
# frozen_string_literal: true require 'cancan' 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 after(:all) do Spree::Ability.remove_ability(ability) end before(:all) do Spree::Ability.register_ability(ability) end before do allow(Spree.user_class).to receive(:find_by). and_return(create(:user)) allow_any_instance_of(Spree.user_class).to receive(:valid_token?). and_return(true) end end def custom_authorization!(&block) ability = build_ability(&block) after(:all) do Spree::Ability.remove_ability(ability) end before(:all) do Spree::Ability.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 config.extend Spree::TestingSupport::AuthorizationHelpers::Request, type: :request end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
solidus_core_devise_token_auth-2.8.0.alpha.1 | lib/spree/testing_support/authorization_helpers.rb |