Sha256: cfc458755f3f376b06cad1975f6893fa151d2bf30dd6090dfd0a7d6d660f07e8

Contents?: true

Size: 1.27 KB

Versions: 11

Compression:

Stored size: 1.27 KB

Contents

require "test_helper"

module Godmin
  module Authorization
    class PolicyFinderTest < ActiveSupport::TestCase
      class Article; end
      class ArticlePolicy; end

      def test_find_by_model
        klass = Class.new do
          extend ActiveModel::Naming

          def self.name
            "Article"
          end
        end

        policy = PolicyFinder.find(klass, Godmin::Authorization::PolicyFinderTest)
        assert_equal ArticlePolicy, policy
      end

      def test_find_by_class
        policy = PolicyFinder.find(Article)
        assert_equal ArticlePolicy, policy
      end

      def test_find_by_symbol
        policy = PolicyFinder.find(:article, Godmin::Authorization::PolicyFinderTest)
        assert_equal ArticlePolicy, policy
      end

      def test_override_policy_class_on_class
        klass = Class.new do
          def self.policy_class
            ArticlePolicy
          end
        end

        policy = PolicyFinder.find(klass)
        assert_equal ArticlePolicy, policy
      end

      def test_override_policy_class_on_instance
        klass = Class.new do
          def policy_class
            ArticlePolicy
          end
        end

        policy = PolicyFinder.find(klass.new)
        assert_equal ArticlePolicy, policy
      end
    end
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
godmin-1.5.0 test/lib/godmin/policy_finder_test.rb
godmin-1.4.0 test/lib/godmin/policy_finder_test.rb
godmin-1.3.1 test/lib/godmin/policy_finder_test.rb
godmin-1.3.0 test/lib/godmin/policy_finder_test.rb
godmin-1.2.0 test/lib/godmin/policy_finder_test.rb
godmin-1.1.0 test/lib/godmin/policy_finder_test.rb
godmin-1.0.0 test/lib/godmin/policy_finder_test.rb
godmin-0.12.4 test/lib/godmin/policy_finder_test.rb
godmin-0.12.3 test/lib/godmin/policy_finder_test.rb
godmin-0.12.2 test/lib/godmin/policy_finder_test.rb
godmin-0.12.1 test/lib/godmin/policy_finder_test.rb