blob: f1803b63274567941dc608d68c94ea39506de5cd (
plain)
| 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
 | require 'pundit/rspec'
module Support
  module ApplicationPolicy
    def add_permissions(*permissions, for_user:)
      for_user.permissions ||= []
      for_user.permissions += permissions.flatten
    end
    def create_user_context(user:, referential:)
      OpenStruct.new(user: user, context: {referential: referential})
    end
    def add_permissions(*permissions, for_user:)
      for_user.permissions ||= []
      for_user.permissions += permissions.flatten
    end
  end
  module ApplicationPolicyMacros
    def self.extended into
      into.module_eval do
        subject { described_class }
        let( :user_context ) { create_user_context(user: user, referential: referential)  }
        let( :referentail )  { create :referential }
        let( :user )         { create :user }
      end
    end
    
  end
end
RSpec.configure do | c |
  c.include Support::ApplicationPolicy, type: :policy
  c.extend Support::ApplicationPolicyMacros, type: :policy
end
 |