Skip to content

Commit 77c4b32

Browse files
committed
feat: added a few additional tests to nodesClaimGet
1 parent ef13883 commit 77c4b32

File tree

1 file changed

+133
-1
lines changed

1 file changed

+133
-1
lines changed

tests/nodes/agent/handlers/nodesClaimsGet.test.ts

Lines changed: 133 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -197,5 +197,137 @@ describe('nodesClaimsGet', () => {
197197
expect(chainIds).toHaveLength(10);
198198
});
199199

200-
200+
test('Should get chain data with limit', async () => {
201+
202+
const srcNodeIdEncoded = nodesUtils.encodeNodeId(keyRing.getNodeId());
203+
// Add 10 claims
204+
for (let i = 1; i <= 5; i++) {
205+
const node2 = nodesUtils.encodeNodeId(
206+
testNodesUtils.generateRandomNodeId(),
207+
);
208+
const nodeLink = {
209+
type: 'ClaimLinkNode',
210+
iss: srcNodeIdEncoded,
211+
sub: node2,
212+
};
213+
await sigchain.addClaim(nodeLink);
214+
}
215+
for (let i = 6; i <= 10; i++) {
216+
const identityLink = {
217+
type: 'ClaimLinkIdentity',
218+
iss: srcNodeIdEncoded,
219+
sub: encodeProviderIdentityId([
220+
('ProviderId' + i.toString()) as ProviderId,
221+
('IdentityId' + i.toString()) as IdentityId,
222+
]),
223+
};
224+
await sigchain.addClaim(identityLink);
225+
}
226+
227+
228+
let limitVal = 5;
229+
230+
const response = await rpcClient.methods.nodesClaimsGet({
231+
limit: limitVal,
232+
});
233+
const chainIds: Array<string> = [];
234+
for await (const claim of response) {
235+
chainIds.push(claim.claimIdEncoded ?? '');
236+
}
237+
expect(chainIds).toHaveLength(5);
238+
});
239+
240+
test('Should get chain data with order desc', async () => {
241+
const srcNodeIdEncoded = nodesUtils.encodeNodeId(keyRing.getNodeId());
242+
// Add 10 claims
243+
for (let i = 1; i <= 5; i++) {
244+
const node2 = nodesUtils.encodeNodeId(
245+
testNodesUtils.generateRandomNodeId(),
246+
);
247+
const nodeLink = {
248+
type: 'ClaimLinkNode',
249+
iss: srcNodeIdEncoded,
250+
sub: node2,
251+
};
252+
await sigchain.addClaim(nodeLink);
253+
}
254+
for (let i = 6; i <= 10; i++) {
255+
const identityLink = {
256+
type: 'ClaimLinkIdentity',
257+
iss: srcNodeIdEncoded,
258+
sub: encodeProviderIdentityId([
259+
('ProviderId' + i.toString()) as ProviderId,
260+
('IdentityId' + i.toString()) as IdentityId,
261+
]),
262+
};
263+
await sigchain.addClaim(identityLink);
264+
}
265+
266+
const response = await rpcClient.methods.nodesClaimsGet({
267+
order: 'desc',
268+
});
269+
const chainIds: Array<string> = [];
270+
for await (const claim of response) {
271+
chainIds.push(claim.claimIdEncoded ?? '');
272+
}
273+
274+
275+
//Verify that chainIds are in descending order
276+
let isSorted = true;
277+
for (let i = 0; i < chainIds.length - 1; i++) {
278+
if (chainIds[i] < chainIds[i + 1]) {
279+
isSorted = false;
280+
break;
281+
}
282+
}
283+
expect(isSorted).toBe(true);
284+
285+
});
286+
287+
test('Should get chain data with order asc', async () => {
288+
const srcNodeIdEncoded = nodesUtils.encodeNodeId(keyRing.getNodeId());
289+
// Add 10 claims
290+
for (let i = 1; i <= 5; i++) {
291+
const node2 = nodesUtils.encodeNodeId(
292+
testNodesUtils.generateRandomNodeId(),
293+
);
294+
const nodeLink = {
295+
type: 'ClaimLinkNode',
296+
iss: srcNodeIdEncoded,
297+
sub: node2,
298+
};
299+
await sigchain.addClaim(nodeLink);
300+
}
301+
for (let i = 6; i <= 10; i++) {
302+
const identityLink = {
303+
type: 'ClaimLinkIdentity',
304+
iss: srcNodeIdEncoded,
305+
sub: encodeProviderIdentityId([
306+
('ProviderId' + i.toString()) as ProviderId,
307+
('IdentityId' + i.toString()) as IdentityId,
308+
]),
309+
};
310+
await sigchain.addClaim(identityLink);
311+
}
312+
313+
const response = await rpcClient.methods.nodesClaimsGet({
314+
order: 'asc',
315+
});
316+
const chainIds: Array<string> = [];
317+
for await (const claim of response) {
318+
chainIds.push(claim.claimIdEncoded ?? '');
319+
}
320+
321+
//Verify that chainIds are in ascending order
322+
let isSorted = true;
323+
for (let i = 0; i < chainIds.length - 1; i++) {
324+
if (chainIds[i] > chainIds[i + 1]) {
325+
isSorted = false;
326+
break;
327+
}
328+
}
329+
expect(isSorted).toBe(true);
330+
});
331+
332+
201333
});

0 commit comments

Comments
 (0)