@@ -498,3 +498,103 @@ contract TransferableDocumentStore_supportsInterface_Test is TranferableDocument
498
498
assertTrue (documentStore.supportsInterface (type (IAccessControl).interfaceId));
499
499
}
500
500
}
501
+
502
+ contract TransferableDocumentStore_Pause_Test is TranferableDocumentStoreCommonTest {
503
+ function testPause () public {
504
+ vm.prank (owner);
505
+ documentStore.pause ();
506
+
507
+ assertTrue (documentStore.paused (), "Document store should be paused " );
508
+ }
509
+
510
+ function testUnpause () public {
511
+ vm.prank (owner);
512
+ documentStore.pause ();
513
+ vm.prank (owner);
514
+ documentStore.unpause ();
515
+
516
+ assertFalse (documentStore.paused (), "Document store should not be paused " );
517
+ }
518
+
519
+ function testPauseAsNonAdminRevert () public {
520
+ address nonAdmin = vm.addr (69 );
521
+
522
+ vm.expectRevert (
523
+ abi.encodeWithSelector (
524
+ IAccessControl.AccessControlUnauthorizedAccount.selector ,
525
+ nonAdmin,
526
+ documentStore.DEFAULT_ADMIN_ROLE ()
527
+ )
528
+ );
529
+
530
+ vm.prank (nonAdmin);
531
+ documentStore.pause ();
532
+ }
533
+
534
+ function testUnpauseAsNonAdminRevert () public {
535
+ address nonAdmin = vm.addr (69 );
536
+
537
+ vm.expectRevert (
538
+ abi.encodeWithSelector (
539
+ IAccessControl.AccessControlUnauthorizedAccount.selector ,
540
+ nonAdmin,
541
+ documentStore.DEFAULT_ADMIN_ROLE ()
542
+ )
543
+ );
544
+
545
+ vm.prank (nonAdmin);
546
+ documentStore.unpause ();
547
+ }
548
+ }
549
+
550
+ contract TransferableDocumentStore_Pausable_Test is TransferableDocumentStore_Initializer {
551
+ function setUp () public override {
552
+ super .setUp ();
553
+
554
+ vm.prank (owner);
555
+ documentStore.pause ();
556
+ }
557
+
558
+ function testIssueWhenPausedRevert () public {
559
+ bytes32 fakeDoc = "0x1234 " ;
560
+
561
+ vm.expectRevert (abi.encodeWithSelector (PausableUpgradeable.EnforcedPause.selector ));
562
+
563
+ vm.prank (issuer);
564
+ documentStore.issue (recipients[0 ], fakeDoc, false );
565
+ }
566
+
567
+ function testRevokeWhenPausedRevert () public {
568
+ bytes32 revokeDoc = documents ()[0 ];
569
+
570
+ vm.expectRevert (abi.encodeWithSelector (PausableUpgradeable.EnforcedPause.selector ));
571
+
572
+ vm.prank (revoker);
573
+ documentStore.revoke (revokeDoc);
574
+ }
575
+
576
+ function testNonlockedDocTransferFromWhenPausedRevert () public {
577
+ bytes32 transferNonLockedDoc = documents ()[0 ];
578
+
579
+ vm.expectRevert (abi.encodeWithSelector (PausableUpgradeable.EnforcedPause.selector ));
580
+
581
+ vm.prank (recipients[0 ]);
582
+ documentStore.transferFrom (recipients[0 ], recipients[1 ], uint256 (transferNonLockedDoc));
583
+ }
584
+
585
+ function testLockedDocTransferFromWhenPausedRevert () public {
586
+ bytes32 transferLockedDoc = documents ()[1 ];
587
+
588
+ vm.expectRevert (abi.encodeWithSelector (PausableUpgradeable.EnforcedPause.selector ));
589
+
590
+ vm.prank (recipients[0 ]);
591
+ documentStore.transferFrom (recipients[1 ], recipients[0 ], uint256 (transferLockedDoc));
592
+ }
593
+
594
+ function testSetBaseURIWhenPausedRevert () public {
595
+ vm.expectRevert (abi.encodeWithSelector (PausableUpgradeable.EnforcedPause.selector ));
596
+
597
+ vm.prank (owner);
598
+ documentStore.setBaseURI ("https://example.com/ " );
599
+ }
600
+ }
0 commit comments