@@ -932,6 +932,34 @@ fn test_mutations_succeed_after_unpause() {
932932 assert ! ( client. is_subscriber( & fan, & creator) ) ;
933933}
934934
935+ #[ test]
936+ fn test_pause_non_admin_rejected ( ) {
937+ let ( env, client, admin, token, _token_admin) = setup_test ( ) ;
938+ let fee_recipient = Address :: generate ( & env) ;
939+
940+ client. init ( & admin, & 500 , & fee_recipient, & token. address , & 1000 ) ;
941+ env. set_auths ( & [ ] ) ;
942+
943+ let result = client. try_pause ( ) ;
944+ assert ! ( result. is_err( ) , "non-admin must not pause the contract" ) ;
945+ assert ! ( !client. is_paused( ) , "contract must remain unpaused after unauthorized pause attempt" ) ;
946+ }
947+
948+ #[ test]
949+ fn test_unpause_non_admin_rejected ( ) {
950+ let ( env, client, admin, token, _token_admin) = setup_test ( ) ;
951+ let fee_recipient = Address :: generate ( & env) ;
952+
953+ client. init ( & admin, & 500 , & fee_recipient, & token. address , & 1000 ) ;
954+ client. pause ( ) ;
955+ assert ! ( client. is_paused( ) ) ;
956+
957+ env. set_auths ( & [ ] ) ;
958+ let result = client. try_unpause ( ) ;
959+ assert ! ( result. is_err( ) , "non-admin must not unpause the contract" ) ;
960+ assert ! ( client. is_paused( ) , "contract must remain paused after unauthorized unpause attempt" ) ;
961+ }
962+
935963// ── set_fee_recipient (admin fee recipient rotation) ─────────────────────────
936964
937965#[ test]
0 commit comments