Skip to content

Commit a8dda70

Browse files
committed
tests: added for non fungible chain account
1 parent cec3c4e commit a8dda70

File tree

3 files changed

+155
-0
lines changed

3 files changed

+155
-0
lines changed
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
import { gql } from 'graphql-request';
2+
3+
export const getNonFungibleChainAccountQuery = (params: any): string => {
4+
if (Object.keys(params).length === 0) {
5+
throw new Error('No parameters provided to getNonFungibleChainAccountQuery.');
6+
}
7+
8+
const query = Object.entries(params)
9+
.map(([key, value]) => `${key}: ${typeof value === 'string' ? `"${value}"` : value}`)
10+
.join(', ');
11+
12+
const queryGql = gql`
13+
query {
14+
nonFungibleChainAccount(${query}) {
15+
id
16+
accountName
17+
nonFungibleTokenBalances {
18+
id
19+
accountName
20+
chainId
21+
guard {
22+
raw
23+
}
24+
info {
25+
precision
26+
supply
27+
uri
28+
}
29+
tokenId
30+
version
31+
}
32+
}
33+
}
34+
`;
35+
36+
return queryGql;
37+
};
Lines changed: 100 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,100 @@
1+
export const nonFungibleChainAccountFixture001 = {
2+
data: {
3+
nonFungibleChainAccount: {
4+
id: 'Tm9uRnVuZ2libGVDaGFpbkFjY291bnQ6WyI4Iiwiazo0OGYzYzhlZTNmMTQ5NDNlMjBhZGJiMzAyY2Q3ZTc0MDMwYWU0ZWQxY2ZjYmI2MzEzYjhhYzUzNjdjMWEzZGY0Il0=',
5+
accountName: 'k:48f3c8ee3f14943e20adbb302cd7e74030ae4ed1cfcbb6313b8ac5367c1a3df4',
6+
nonFungibleTokenBalances: [
7+
{
8+
id: 'Tm9uRnVuZ2libGVUb2tlbkJhbGFuY2U6WyIiLCJrOjQ4ZjNjOGVlM2YxNDk0M2UyMGFkYmIzMDJjZDdlNzQwMzBhZTRlZDFjZmNiYjYzMTNiOGFjNTM2N2MxYTNkZjQiLCI4Il0=',
9+
accountName: 'k:48f3c8ee3f14943e20adbb302cd7e74030ae4ed1cfcbb6313b8ac5367c1a3df4',
10+
chainId: '8',
11+
guard: {
12+
raw: '{"keys":[],"predicate":""}',
13+
},
14+
info: {
15+
precision: 0,
16+
supply: 0,
17+
uri: 'unknown',
18+
},
19+
tokenId: '',
20+
version: 'unknown',
21+
},
22+
{
23+
id: 'Tm9uRnVuZ2libGVUb2tlbkJhbGFuY2U6WyJ0OjdyTHhnY2ptNFZmenJVcGRGVENlOUVZSFBSOU5rNlR1YkVKTVd6Ny03MTQiLCJrOjQ4ZjNjOGVlM2YxNDk0M2UyMGFkYmIzMDJjZDdlNzQwMzBhZTRlZDFjZmNiYjYzMTNiOGFjNTM2N2MxYTNkZjQiLCI4Il0=',
24+
accountName: 'k:48f3c8ee3f14943e20adbb302cd7e74030ae4ed1cfcbb6313b8ac5367c1a3df4',
25+
chainId: '8',
26+
guard: {
27+
raw: '{"keys":["48f3c8ee3f14943e20adbb302cd7e74030ae4ed1cfcbb6313b8ac5367c1a3df4"],"predicate":"keys-all"}',
28+
},
29+
info: {
30+
precision: 0,
31+
supply: 1,
32+
uri: 'https://olimpia.54.wtf/uploads/20250122/9b93f6473e9914819c4da9da2b960705.json?root=155327&dna=24',
33+
},
34+
tokenId: 't:7rLxgcjm4VfzrUpdFTCe9EYHPR9Nk6TubEJMWz7-714',
35+
version: '1',
36+
},
37+
{
38+
id: 'Tm9uRnVuZ2libGVUb2tlbkJhbGFuY2U6WyJ0OmJuM2d0UVdYLUwtaUp1dnFQTXlNNjlqOUh1WkpweHRpSWJsNllVNy16Y2MiLCJrOjQ4ZjNjOGVlM2YxNDk0M2UyMGFkYmIzMDJjZDdlNzQwMzBhZTRlZDFjZmNiYjYzMTNiOGFjNTM2N2MxYTNkZjQiLCI4Il0=',
39+
accountName: 'k:48f3c8ee3f14943e20adbb302cd7e74030ae4ed1cfcbb6313b8ac5367c1a3df4',
40+
chainId: '8',
41+
guard: {
42+
raw: '{"keys":["48f3c8ee3f14943e20adbb302cd7e74030ae4ed1cfcbb6313b8ac5367c1a3df4"],"predicate":"keys-all"}',
43+
},
44+
info: {
45+
precision: 0,
46+
supply: 1,
47+
uri: 'https://olimpia.54.wtf/uploads/20240119/6d73318d08b6d900dd168591f9a8e3a6.json?root=26011&dna=526',
48+
},
49+
tokenId: 't:bn3gtQWX-L-iJuvqPMyM69j9HuZJpxtiIbl6YU7-zcc',
50+
version: '1',
51+
},
52+
{
53+
id: 'Tm9uRnVuZ2libGVUb2tlbkJhbGFuY2U6WyJ0OlBmem94M1cwbURCZW1DVEVjek9IbnVidk9UNGdHY2R1SWo4QmdzOWdEX1EiLCJrOjQ4ZjNjOGVlM2YxNDk0M2UyMGFkYmIzMDJjZDdlNzQwMzBhZTRlZDFjZmNiYjYzMTNiOGFjNTM2N2MxYTNkZjQiLCI4Il0=',
54+
accountName: 'k:48f3c8ee3f14943e20adbb302cd7e74030ae4ed1cfcbb6313b8ac5367c1a3df4',
55+
chainId: '8',
56+
guard: {
57+
raw: '{"keys":["48f3c8ee3f14943e20adbb302cd7e74030ae4ed1cfcbb6313b8ac5367c1a3df4"],"predicate":"keys-all"}',
58+
},
59+
info: {
60+
precision: 0,
61+
supply: 1,
62+
uri: 'https://olimpia.54.wtf/uploads/20250122/9b93f6473e9914819c4da9da2b960705.json?root=155327&dna=25',
63+
},
64+
tokenId: 't:Pfzox3W0mDBemCTEczOHnubvOT4gGcduIj8Bgs9gD_Q',
65+
version: '1',
66+
},
67+
{
68+
id: 'Tm9uRnVuZ2libGVUb2tlbkJhbGFuY2U6WyJ0OnF0S2YwUDlqNm84bUJzZkpfbklkTnRfSTh5T2FiTHEzRGVuaEpzMU9taDAiLCJrOjQ4ZjNjOGVlM2YxNDk0M2UyMGFkYmIzMDJjZDdlNzQwMzBhZTRlZDFjZmNiYjYzMTNiOGFjNTM2N2MxYTNkZjQiLCI4Il0=',
69+
accountName: 'k:48f3c8ee3f14943e20adbb302cd7e74030ae4ed1cfcbb6313b8ac5367c1a3df4',
70+
chainId: '8',
71+
guard: {
72+
raw: '{"keys":["48f3c8ee3f14943e20adbb302cd7e74030ae4ed1cfcbb6313b8ac5367c1a3df4"],"predicate":"keys-all"}',
73+
},
74+
info: {
75+
precision: 0,
76+
supply: 1,
77+
uri: 'https://olimpia.54.wtf/uploads/20250122/9b93f6473e9914819c4da9da2b960705.json?root=155327&dna=23',
78+
},
79+
tokenId: 't:qtKf0P9j6o8mBsfJ_nIdNt_I8yOabLq3DenhJs1Omh0',
80+
version: '1',
81+
},
82+
{
83+
id: 'Tm9uRnVuZ2libGVUb2tlbkJhbGFuY2U6WyJ0Olo3MU9RMkxGQVpuRWdCZWpTMEZzaVlJcncwOVJsa3Zqa256RTdvbUxUUVEiLCJrOjQ4ZjNjOGVlM2YxNDk0M2UyMGFkYmIzMDJjZDdlNzQwMzBhZTRlZDFjZmNiYjYzMTNiOGFjNTM2N2MxYTNkZjQiLCI4Il0=',
84+
accountName: 'k:48f3c8ee3f14943e20adbb302cd7e74030ae4ed1cfcbb6313b8ac5367c1a3df4',
85+
chainId: '8',
86+
guard: {
87+
raw: '{"keys":["48f3c8ee3f14943e20adbb302cd7e74030ae4ed1cfcbb6313b8ac5367c1a3df4"],"predicate":"keys-all"}',
88+
},
89+
info: {
90+
precision: 0,
91+
supply: 1,
92+
uri: 'https://olimpia.54.wtf/uploads/20240119/598cdf5abaa4970f30d705bb681129c6.json?root=26034&dna=526',
93+
},
94+
tokenId: 't:Z71OQ2LFAZnEgBejS0FsiYIrw09RlkvjknzE7omLTQQ',
95+
version: '1',
96+
},
97+
],
98+
},
99+
},
100+
};
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
import { GraphQLClient } from 'graphql-request';
2+
import { nonFungibleChainAccountFixture001 } from './fixtures/non-fungible-chain-account/non-fungible-chain-account.fixture.001';
3+
import { getNonFungibleChainAccountQuery } from './builders/non-fungible-chain-account.builder';
4+
5+
const client = new GraphQLClient(process.env.API_URL ?? 'http://localhost:3001/graphql');
6+
7+
describe('Non Fungible Chain Account', () => {
8+
it('#001', async () => {
9+
const query = getNonFungibleChainAccountQuery({
10+
accountName: 'k:48f3c8ee3f14943e20adbb302cd7e74030ae4ed1cfcbb6313b8ac5367c1a3df4',
11+
chainId: '8',
12+
});
13+
14+
const data = await client.request(query);
15+
16+
expect(nonFungibleChainAccountFixture001.data).toMatchObject(data);
17+
});
18+
});

0 commit comments

Comments
 (0)