Module: Moat::RSpec::PolicyMatchers
Instance Method Summary collapse
- #generate_failure_message(incorrectly_permitted: [], incorrectly_denied: []) ⇒ Object
- #permitted_authorizations(policy_class) ⇒ Object
- #permitted_through_filters(policy_class) ⇒ Object
- #role ⇒ Object
Instance Method Details
#generate_failure_message(incorrectly_permitted: [], incorrectly_denied: []) ⇒ Object
118 119 120 121 122 123 124 125 126 127 |
# File 'lib/moat/rspec.rb', line 118 def (incorrectly_permitted: [], incorrectly_denied: []) failure_descriptions = [] unless incorrectly_permitted.empty? failure_descriptions << "Incorrectly permitted to #{role}: #{incorrectly_permitted.to_sentence}" end unless incorrectly_denied.empty? failure_descriptions << "Incorrectly denied to #{role}: #{incorrectly_denied.to_sentence}" end failure_descriptions.join("\n") end |
#permitted_authorizations(policy_class) ⇒ Object
133 134 135 136 137 138 |
# File 'lib/moat/rspec.rb', line 133 def (policy_class) policy_instance = policy_class::Authorization.new(public_send(role), policy_example_resource) .select do || policy_instance.public_send() end end |
#permitted_through_filters(policy_class) ⇒ Object
140 141 142 143 144 145 |
# File 'lib/moat/rspec.rb', line 140 def permitted_through_filters(policy_class) policy_instance = policy_class::Filter.new(public_send(role), policy_example_scope) policy_filters.select do |filter| policy_instance.public_send(filter).include?(policy_example_resource) end end |
#role ⇒ Object
129 130 131 |
# File 'lib/moat/rspec.rb', line 129 def role ::RSpec.current_example..fetch(:role) end |