Skip to content
This repository was archived by the owner on Jul 6, 2022. It is now read-only.

Commit 258c367

Browse files
author
Victor Wiebe
committed
feat: 🎸 getPermissions and associated test
1 parent 841a12e commit 258c367

File tree

2 files changed

+33
-1
lines changed

2 files changed

+33
-1
lines changed

‎src/contract_wrappers/modules/transfer_manager/__tests__/lock_up_transfer_manager_wrapper.test.ts‎

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,13 @@ import {
1515
bytes32ArrayToStringArray,
1616
bytes32ToString,
1717
dateToBigNumber,
18+
parsePermBytes32Value,
1819
stringArrayToBytes32Array,
1920
stringToBytes32,
2021
valueToWei,
2122
weiToValue,
2223
} from '../../../../utils/convert';
23-
import { Partition } from '../../../../types';
24+
import { Partition, Perm } from '../../../../types';
2425

2526
describe('LockUpTransferManagerWrapper', () => {
2627
let target: LockUpTransferManagerWrapper;
@@ -570,6 +571,27 @@ describe('LockUpTransferManagerWrapper', () => {
570571
});
571572
});
572573

574+
describe('getPermissions', () => {
575+
test('should call to getPermissions', async () => {
576+
const expectedResult = stringArrayToBytes32Array([Perm.Admin]);
577+
578+
// Mocked method
579+
const mockedMethod = mock(MockedCallMethod);
580+
// Stub the method
581+
when(mockedContract.getPermissions).thenReturn(instance(mockedMethod));
582+
// Stub the request
583+
when(mockedMethod.callAsync()).thenResolve(expectedResult);
584+
585+
// Real call
586+
const result = await target.getPermissions();
587+
// Result expectation
588+
expect(result).toEqual(expectedResult.map(parsePermBytes32Value));
589+
// Verifications
590+
verify(mockedContract.getPermissions).once();
591+
verify(mockedMethod.callAsync()).once();
592+
});
593+
});
594+
573595
describe('verifyTransfer', () => {
574596
test('should verify Transfer', async () => {
575597
const statusCode = new BigNumber(2);

‎src/contract_wrappers/modules/transfer_manager/lock_up_transfer_manager_wrapper.ts‎

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ import {
2424
GetLogs,
2525
GetLogsAsyncParams,
2626
Partition,
27+
Perm,
2728
Subscribe,
2829
SubscribeAsyncParams,
2930
TransferResult,
@@ -33,6 +34,7 @@ import {
3334
bigNumberToDate,
3435
bytes32ArrayToStringArray,
3536
bytes32ToString,
37+
parsePermBytes32Value,
3638
parseTransferResult,
3739
stringToBytes32,
3840
valueToWei,
@@ -312,6 +314,14 @@ export default class LockUpTransferManagerWrapper extends ModuleWrapper {
312314
);
313315
};
314316

317+
/**
318+
* getPermissions
319+
*/
320+
public getPermissions = async (): Promise<Perm[]> => {
321+
const permissions = await (await this.contract).getPermissions.callAsync();
322+
return permissions.map(parsePermBytes32Value);
323+
};
324+
315325
/*
316326
* verifyTransfer
317327
*/

0 commit comments

Comments
 (0)