@@ -921,7 +921,7 @@ describe('useRealPolicyWorkbench', () => {
921921 expect ( state . createGroupOverrideDisabledReason ) . toBeNull ( )
922922 } )
923923
924- it ( 'blocks creating group rule only when system rule explicitly disallows child override' , ( ) => {
924+ it ( 'allows instance admin to create group rule even when system rule disallows child override' , ( ) => {
925925 // Single allowedValues → backend signals allowChildOverride = false
926926 getPolicy . mockReturnValue ( {
927927 effectiveValue : 'parallel' ,
@@ -931,6 +931,21 @@ describe('useRealPolicyWorkbench', () => {
931931 const state = createRealPolicyWorkbenchState ( )
932932 state . openSetting ( 'signature_flow' )
933933
934+ expect ( state . inheritedSystemRule ?. allowChildOverride ) . toBe ( false )
935+ expect ( state . createGroupOverrideDisabledReason ) . toBeNull ( )
936+ } )
937+
938+ it ( 'blocks group-admin from creating group rule when system rule disallows child override' , ( ) => {
939+ currentUserState . isAdmin = false
940+ getPolicy . mockReturnValue ( {
941+ effectiveValue : 'parallel' ,
942+ allowedValues : [ 'parallel' ] ,
943+ } )
944+
945+ const state = createRealPolicyWorkbenchState ( )
946+ state . setViewMode ( 'group-admin' )
947+ state . openSetting ( 'signature_flow' )
948+
934949 expect ( state . inheritedSystemRule ?. allowChildOverride ) . toBe ( false )
935950 expect ( state . createGroupOverrideDisabledReason ) . not . toBeNull ( )
936951 } )
0 commit comments