Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit e42fb3c

Browse files
authoredJul 17, 2023
Update tests for permissions enumerable (#427)
update tests for permissions enumerable
1 parent 0d44311 commit e42fb3c

File tree

2 files changed

+115
-0
lines changed

2 files changed

+115
-0
lines changed
 

‎src/test/drop/DropERC721.t.sol

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -146,6 +146,7 @@ contract DropERC721Test is BaseTest {
146146
drop.grantRole(role, address(4));
147147

148148
roleMemberCount = drop.getRoleMemberCount(role);
149+
assertEq(roleMemberCount, 5);
149150
console.log(roleMemberCount);
150151
for (uint256 i = 0; i < roleMemberCount; i++) {
151152
console.log(drop.getRoleMember(role, i));
@@ -154,6 +155,7 @@ contract DropERC721Test is BaseTest {
154155

155156
drop.revokeRole(role, address(2));
156157
roleMemberCount = drop.getRoleMemberCount(role);
158+
assertEq(roleMemberCount, 4);
157159
console.log(roleMemberCount);
158160
for (uint256 i = 0; i < roleMemberCount; i++) {
159161
console.log(drop.getRoleMember(role, i));
@@ -162,6 +164,7 @@ contract DropERC721Test is BaseTest {
162164

163165
drop.revokeRole(role, address(0));
164166
roleMemberCount = drop.getRoleMemberCount(role);
167+
assertEq(roleMemberCount, 3);
165168
console.log(roleMemberCount);
166169
for (uint256 i = 0; i < roleMemberCount; i++) {
167170
console.log(drop.getRoleMember(role, i));
@@ -170,6 +173,7 @@ contract DropERC721Test is BaseTest {
170173

171174
drop.grantRole(role, address(5));
172175
roleMemberCount = drop.getRoleMemberCount(role);
176+
assertEq(roleMemberCount, 4);
173177
console.log(roleMemberCount);
174178
for (uint256 i = 0; i < roleMemberCount; i++) {
175179
console.log(drop.getRoleMember(role, i));
@@ -178,6 +182,7 @@ contract DropERC721Test is BaseTest {
178182

179183
drop.grantRole(role, address(0));
180184
roleMemberCount = drop.getRoleMemberCount(role);
185+
assertEq(roleMemberCount, 5);
181186
console.log(roleMemberCount);
182187
for (uint256 i = 0; i < roleMemberCount; i++) {
183188
console.log(drop.getRoleMember(role, i));
@@ -186,6 +191,25 @@ contract DropERC721Test is BaseTest {
186191

187192
drop.grantRole(role, address(6));
188193
roleMemberCount = drop.getRoleMemberCount(role);
194+
assertEq(roleMemberCount, 6);
195+
console.log(roleMemberCount);
196+
for (uint256 i = 0; i < roleMemberCount; i++) {
197+
console.log(drop.getRoleMember(role, i));
198+
}
199+
console.log("");
200+
201+
drop.revokeRole(role, address(0));
202+
roleMemberCount = drop.getRoleMemberCount(role);
203+
assertEq(roleMemberCount, 5);
204+
console.log(roleMemberCount);
205+
for (uint256 i = 0; i < roleMemberCount; i++) {
206+
console.log(drop.getRoleMember(role, i));
207+
}
208+
console.log("");
209+
210+
drop.revokeRole(role, address(4));
211+
roleMemberCount = drop.getRoleMemberCount(role);
212+
assertEq(roleMemberCount, 4);
189213
console.log(roleMemberCount);
190214
for (uint256 i = 0; i < roleMemberCount; i++) {
191215
console.log(drop.getRoleMember(role, i));

‎src/test/marketplace/DirectListings.t.sol

Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -155,6 +155,97 @@ contract MarketplaceDirectListingsTest is BaseTest {
155155
Miscellaneous
156156
//////////////////////////////////////////////////////////////*/
157157

158+
/**
159+
* @dev Tests contract state for Lister role.
160+
*/
161+
function test_state_getRoleMember_listerRole() public {
162+
bytes32 role = keccak256("LISTER_ROLE");
163+
164+
uint256 roleMemberCount = PermissionsEnumerable(marketplace).getRoleMemberCount(role);
165+
assertEq(roleMemberCount, 1);
166+
167+
address roleMember = PermissionsEnumerable(marketplace).getRoleMember(role, 1);
168+
assertEq(roleMember, address(0));
169+
170+
vm.startPrank(marketplaceDeployer);
171+
Permissions(marketplace).grantRole(role, address(2));
172+
Permissions(marketplace).grantRole(role, address(3));
173+
Permissions(marketplace).grantRole(role, address(4));
174+
175+
roleMemberCount = PermissionsEnumerable(marketplace).getRoleMemberCount(role);
176+
assertEq(roleMemberCount, 4);
177+
console.log(roleMemberCount);
178+
for (uint256 i = 0; i < roleMemberCount; i++) {
179+
console.log(PermissionsEnumerable(marketplace).getRoleMember(role, i));
180+
}
181+
console.log("");
182+
183+
Permissions(marketplace).revokeRole(role, address(2));
184+
roleMemberCount = PermissionsEnumerable(marketplace).getRoleMemberCount(role);
185+
assertEq(roleMemberCount, 3);
186+
console.log(roleMemberCount);
187+
for (uint256 i = 0; i < roleMemberCount; i++) {
188+
console.log(PermissionsEnumerable(marketplace).getRoleMember(role, i));
189+
}
190+
console.log("");
191+
192+
Permissions(marketplace).grantRole(role, address(5));
193+
roleMemberCount = PermissionsEnumerable(marketplace).getRoleMemberCount(role);
194+
assertEq(roleMemberCount, 4);
195+
console.log(roleMemberCount);
196+
for (uint256 i = 0; i < roleMemberCount; i++) {
197+
console.log(PermissionsEnumerable(marketplace).getRoleMember(role, i));
198+
}
199+
console.log("");
200+
201+
Permissions(marketplace).grantRole(role, address(0));
202+
roleMemberCount = PermissionsEnumerable(marketplace).getRoleMemberCount(role);
203+
assertEq(roleMemberCount, 5);
204+
console.log(roleMemberCount);
205+
for (uint256 i = 0; i < roleMemberCount; i++) {
206+
console.log(PermissionsEnumerable(marketplace).getRoleMember(role, i));
207+
}
208+
console.log("");
209+
210+
Permissions(marketplace).grantRole(role, address(6));
211+
roleMemberCount = PermissionsEnumerable(marketplace).getRoleMemberCount(role);
212+
assertEq(roleMemberCount, 6);
213+
console.log(roleMemberCount);
214+
for (uint256 i = 0; i < roleMemberCount; i++) {
215+
console.log(PermissionsEnumerable(marketplace).getRoleMember(role, i));
216+
}
217+
console.log("");
218+
219+
Permissions(marketplace).revokeRole(role, address(3));
220+
roleMemberCount = PermissionsEnumerable(marketplace).getRoleMemberCount(role);
221+
assertEq(roleMemberCount, 5);
222+
console.log(roleMemberCount);
223+
for (uint256 i = 0; i < roleMemberCount; i++) {
224+
console.log(PermissionsEnumerable(marketplace).getRoleMember(role, i));
225+
}
226+
console.log("");
227+
228+
Permissions(marketplace).revokeRole(role, address(4));
229+
roleMemberCount = PermissionsEnumerable(marketplace).getRoleMemberCount(role);
230+
assertEq(roleMemberCount, 4);
231+
console.log(roleMemberCount);
232+
for (uint256 i = 0; i < roleMemberCount; i++) {
233+
console.log(PermissionsEnumerable(marketplace).getRoleMember(role, i));
234+
}
235+
console.log("");
236+
237+
Permissions(marketplace).revokeRole(role, address(0));
238+
roleMemberCount = PermissionsEnumerable(marketplace).getRoleMemberCount(role);
239+
assertEq(roleMemberCount, 3);
240+
console.log(roleMemberCount);
241+
for (uint256 i = 0; i < roleMemberCount; i++) {
242+
console.log(PermissionsEnumerable(marketplace).getRoleMember(role, i));
243+
}
244+
console.log("");
245+
246+
vm.stopPrank();
247+
}
248+
158249
function test_state_approvedCurrencies() public {
159250
(uint256 listingId, IDirectListings.ListingParameters memory listingParams) = _setup_updateListing();
160251
address currencyToApprove = address(erc20); // same currency as main listing

0 commit comments

Comments
 (0)