module Pundit::Testing::Assertions

Public Instance Methods

assert_forbidden(user, record, query, message = nil) click to toggle source
# File lib/pundit/testing/assertions.rb, line 9
def assert_forbidden(user, record, query, message = nil)
  message ||= "Expected not to grant #{query} on #{record} but it did"
  assert !run_authorization(user, record, query), message
end
assert_permitted(user, record, query, message = nil) click to toggle source
# File lib/pundit/testing/assertions.rb, line 4
def assert_permitted(user, record, query, message = nil)
  message ||= "Expected to grant #{query} on #{record} but it didn't"
  assert run_authorization(user, record, query), message
end

Private Instance Methods

run_authorization(user, record, query) click to toggle source
# File lib/pundit/testing/assertions.rb, line 16
def run_authorization(user, record, query)
  self.class.to_s.gsub(/Test/, '').constantize.new(user, record).public_send(query)
end