File tree Expand file tree Collapse file tree 2 files changed +18
-0
lines changed
test/action_policy/policy Expand file tree Collapse file tree 2 files changed +18
-0
lines changed Original file line number Diff line number Diff line change @@ -185,10 +185,12 @@ def details
185185 def allowed_to? ( rule , record = :__undef__ , **options )
186186 res =
187187 if ( record == :__undef__ || record == self . record ) && options . empty?
188+ rule = resolve_rule ( rule )
188189 policy = self
189190 with_clean_result { apply ( rule ) }
190191 else
191192 policy = policy_for ( record : record , **options )
193+ rule = policy . resolve_rule ( rule )
192194
193195 policy . apply ( rule )
194196 policy . result
Original file line number Diff line number Diff line change @@ -37,6 +37,16 @@ def create?
3737 end
3838end
3939
40+ class AliasesRuleTestBasePolicy < ActionPolicy ::Base
41+ def manage?
42+ user . admin?
43+ end
44+
45+ def update_or_destroy?
46+ allowed_to? ( :update? ) || allowed_to? ( :destroy? )
47+ end
48+ end
49+
4050class TestPolicyAliasesRule < Minitest ::Test
4151 def setup
4252 @policy = AliasesRuleTestPolicy . new
@@ -69,6 +79,12 @@ def test_alias_rule_within_policy
6979 assert policy . apply ( :update_or_destroy? )
7080 end
7181
82+ def test_alias_rule_within_base_policy
83+ policy = AliasesRuleTestBasePolicy . new ( user : User . new ( "admin" ) )
84+
85+ assert policy . apply ( :update_or_destroy? )
86+ end
87+
7288 if defined? ( ::DidYouMean ::SpellChecker )
7389 def test_suggest
7490 policy = AliasesRuleTestPolicy ::NoDefault . new
You can’t perform that action at this time.
0 commit comments