Skip to content

Commit 97797d6

Browse files
Add more complex namespaced contracts & test cases for them (#4472)
* Add more complex namespaced contracts & test cases for them. * Apply suggestions from code review * Update packages/api-contract/src/Abi/toLatest.spec.ts Co-authored-by: Jaco <[email protected]>
1 parent 88d7207 commit 97797d6

File tree

5 files changed

+26
-0
lines changed

5 files changed

+26
-0
lines changed

packages/api-contract/src/Abi/toLatest.spec.ts

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,17 @@ describe('v1ToLatest', (): void => {
6565
).toEqual(['flip', 'get']);
6666
});
6767

68+
it('has the correct messages with namespaced method name', (): void => {
69+
const contract = registry.createType('ContractMetadata', { V1: abis.ink_v1_psp22.V1 });
70+
const latest = v1ToLatest(registry, contract.asV1);
71+
72+
expect(
73+
latest.spec.messages.map(({ label }) => label.toString())
74+
).toEqual(['PSP22Metadata,token_name', 'PSP22Metadata,token_symbol', 'PSP22Metadata,token_decimals', 'PSP22Mintable,mint',
75+
'PSP22,decrease_allowance', 'PSP22,transfer', 'PSP22,approve', 'PSP22,allowance', 'PSP22,transfer_from', 'PSP22,balance_of', 'PSP22,increase_allowance',
76+
'PSP22,total_supply', 'pause', 'unpause']);
77+
});
78+
6879
it('has the correct constructor arguments', (): void => {
6980
expect(
7081
latest.spec.constructors[0].args.map(({ label }) => label.toString())
@@ -97,4 +108,13 @@ describe('v3ToLatest', (): void => {
97108
latest.spec.constructors[1].payable.isTrue
98109
).toEqual(true);
99110
});
111+
112+
it('has the correct messages', (): void => {
113+
const contract = registry.createType('ContractMetadata', { V3: abis.ink_v3_trait_erc20.V3 });
114+
const latest = v3ToLatest(registry, contract.asV3);
115+
116+
expect(
117+
latest.spec.messages.map(({ label }) => label.toString())
118+
).toEqual(['BaseErc20::total_supply', 'BaseErc20::balance_of', 'BaseErc20::allowance', 'BaseErc20::transfer', 'BaseErc20::approve', 'BaseErc20::transfer_from']);
119+
});
100120
});

packages/api-contract/src/test/contracts/ink/v1/index.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,3 +2,5 @@
22
// SPDX-License-Identifier: Apache-2.0
33

44
export { default as flipper } from './flipper.contract.json';
5+
// A complex contract example with traits.
6+
export { default as psp22 } from './psp22_minter_pauser.contract.json';

packages/api-contract/src/test/contracts/ink/v1/psp22_minter_pauser.contract.json

Lines changed: 1 addition & 0 deletions
Large diffs are not rendered by default.

packages/api-contract/src/test/contracts/ink/v3/index.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,3 +2,5 @@
22
// SPDX-License-Identifier: Apache-2.0
33

44
export { default as flipper } from './flipper.contract.json';
5+
// A complex contract example with traits.
6+
export { default as traitErc20 } from './trait_erc20.contract.json';

packages/api-contract/src/test/contracts/ink/v3/trait_erc20.contract.json

Lines changed: 1 addition & 0 deletions
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)