Skip to content

Commit 743af7f

Browse files
committed
Add test for module pagination
1 parent c36bcab commit 743af7f

File tree

1 file changed

+30
-1
lines changed

1 file changed

+30
-1
lines changed

test/core/GnosisSafe.ModuleManager.spec.ts

Lines changed: 30 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import { AddressOne } from "../../src/utils/constants";
99

1010
describe("ModuleManager", async () => {
1111

12-
const [user1, user2] = waffle.provider.getWallets();
12+
const [user1, user2, user3] = waffle.provider.getWallets();
1313

1414
const setupTests = deployments.createFixture(async ({ deployments }) => {
1515
await deployments.fixture();
@@ -244,4 +244,33 @@ describe("ModuleManager", async () => {
244244
).to.be.deep.eq([false, "0x08c379a000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000013536f6d652072616e646f6d206d65737361676500000000000000000000000000"])
245245
})
246246
})
247+
248+
describe("getModulesPaginated", async () => {
249+
it('Returns all modules over multiple pages', async () => {
250+
const { safe } = await setupTests()
251+
await expect(
252+
executeContractCallWithSigners(safe, safe, "enableModule", [user1.address], [user1])
253+
).to.emit(safe, "EnabledModule").withArgs(user1.address)
254+
255+
await expect(
256+
executeContractCallWithSigners(safe, safe, "enableModule", [user2.address], [user1])
257+
).to.emit(safe, "EnabledModule").withArgs(user2.address)
258+
259+
await expect(
260+
executeContractCallWithSigners(safe, safe, "enableModule", [user3.address], [user1])
261+
).to.emit(safe, "EnabledModule").withArgs(user3.address)
262+
263+
await expect(await safe.isModuleEnabled(user1.address)).to.be.true
264+
await expect(await safe.isModuleEnabled(user2.address)).to.be.true
265+
await expect(await safe.isModuleEnabled(user3.address)).to.be.true
266+
/*
267+
This will pass the test which is not correct
268+
await expect(await safe.getModulesPaginated(AddressOne, 1)).to.be.deep.equal([[user3.address], user2.address])
269+
await expect(await safe.getModulesPaginated(user2.address, 1)).to.be.deep.equal([[user1.address], AddressOne])
270+
*/
271+
await expect(await safe.getModulesPaginated(AddressOne, 1)).to.be.deep.equal([[user3.address], user3.address])
272+
await expect(await safe.getModulesPaginated(user3.address, 1)).to.be.deep.equal([[user2.address], user2.address])
273+
await expect(await safe.getModulesPaginated(user2.address, 1)).to.be.deep.equal([[user1.address], AddressOne])
274+
})
275+
})
247276
})

0 commit comments

Comments
 (0)