@@ -22,4 +22,78 @@ contract RuleBlacklistTest is Test, HelperContract {
2222 // Assert
2323 assertEq (message1, TEXT_CODE_NOT_FOUND);
2424 }
25+
26+ function testDetectTransferRestrictionOk () public {
27+ // Act
28+ resUint8 = ruleBlacklist.detectTransferRestriction (ADDRESS1, ADDRESS2, 20 );
29+ // Assert
30+ assertEq (resUint8, NO_ERROR);
31+
32+ // With tokenId
33+ resUint8 = ruleBlacklist.detectTransferRestriction (ADDRESS1, ADDRESS2, 0 , 20 );
34+ // Assert
35+ assertEq (resUint8, NO_ERROR);
36+
37+ // With tokenId
38+ resUint8 = ruleBlacklist.detectTransferRestriction (ADDRESS1, ADDRESS2, 0 , 20 );
39+ // Assert
40+ assertEq (resUint8, NO_ERROR);
41+
42+ // Act
43+ resBool = ruleBlacklist.canTransfer (ADDRESS1, ADDRESS2, 20 );
44+ // Assert
45+ assertEq (resBool, true );
46+ // Act
47+ resBool = ruleBlacklist.canTransfer (ADDRESS1, ADDRESS2, 0 , 20 );
48+ // Assert
49+ assertEq (resBool, true );
50+ }
51+
52+ function testDetectTransferRestrictionFRom () public {
53+ // Arrange
54+ vm.prank (DEFAULT_ADMIN_ADDRESS);
55+ ruleBlacklist.addAddress (ADDRESS1);
56+ // Act
57+ resUint8 = ruleBlacklist.detectTransferRestriction (ADDRESS1, ADDRESS2, 20 );
58+ // Assert
59+ assertEq (resUint8, CODE_ADDRESS_FROM_IS_BLACKLISTED);
60+
61+ // With tokenId
62+ resUint8 = ruleBlacklist.detectTransferRestriction (ADDRESS1, ADDRESS2, 0 , 20 );
63+ // Assert
64+ assertEq (resUint8, CODE_ADDRESS_FROM_IS_BLACKLISTED);
65+
66+ // Act
67+ resBool = ruleBlacklist.canTransfer (ADDRESS1, ADDRESS2, 20 );
68+ // Assert
69+ assertFalse (resBool);
70+
71+ // Act
72+ resBool = ruleBlacklist.canTransfer (ADDRESS1, ADDRESS2, 0 , 20 );
73+ // Assert
74+ assertFalse (resBool);
75+ }
76+
77+ function testDetectTransferRestrictionTO () public {
78+ // Arrange
79+ vm.prank (DEFAULT_ADMIN_ADDRESS);
80+ ruleBlacklist.addAddress (ADDRESS2);
81+ // Act
82+ resUint8 = ruleBlacklist.detectTransferRestriction (ADDRESS1, ADDRESS2, 20 );
83+
84+ // With tokenId
85+ resUint8 = ruleBlacklist.detectTransferRestriction (ADDRESS1, ADDRESS2, 0 , 20 );
86+ // Assert
87+ assertEq (resUint8, CODE_ADDRESS_TO_IS_BLACKLISTED);
88+
89+ // Act
90+ resBool = ruleBlacklist.canTransfer (ADDRESS1, ADDRESS2, 20 );
91+ // Assert
92+ assertFalse (resBool);
93+
94+ // Act
95+ resBool = ruleBlacklist.canTransfer (ADDRESS1, ADDRESS2, 0 , 20 );
96+ // Assert
97+ assertFalse (resBool);
98+ }
2599}
0 commit comments