@@ -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