@@ -31,6 +31,7 @@ import * as utils from '@/utils';
3131import * as keysUtils from '@/keys/utils' ;
3232import Token from '@/tokens/Token' ;
3333import { encodeGestaltNodeId , encodeGestaltIdentityId } from '@/gestalts/utils' ;
34+ import * as nodesUtils from '@/nodes/utils' ;
3435import * as testsGestaltsUtils from './utils' ;
3536import * as testsIdentitiesUtils from '../identities/utils' ;
3637import * as testsKeysUtils from '../keys/utils' ;
@@ -756,6 +757,11 @@ describe('GestaltGraph', () => {
756757 'getGestalts with nodes' ,
757758 [ fc . array ( gestaltNodeInfoComposedArb , { minLength : 2 } ) ] ,
758759 async ( gestaltNodeInfos ) => {
760+ const ids = new Set < string > ( ) ;
761+ for ( const gestaltNodeInfo of gestaltNodeInfos ) {
762+ ids . add ( nodesUtils . encodeNodeId ( gestaltNodeInfo . nodeId ) ) ;
763+ }
764+ fc . pre ( ids . size === gestaltNodeInfos . length ) ;
759765 const gestaltGraph = await GestaltGraph . createGestaltGraph ( {
760766 db,
761767 acl,
@@ -788,6 +794,13 @@ describe('GestaltGraph', () => {
788794 'getGestalts with identities' ,
789795 [ fc . array ( gestaltIdentityInfoComposedArb , { minLength : 2 } ) . noShrink ( ) ] ,
790796 async ( gestaltIdentityInfos ) => {
797+ const ids = new Set < string > ( ) ;
798+ for ( const gestaltIdentityInfo of gestaltIdentityInfos ) {
799+ ids . add (
800+ gestaltIdentityInfo . providerId + gestaltIdentityInfo . identityId ,
801+ ) ;
802+ }
803+ fc . pre ( ids . size === gestaltIdentityInfos . length ) ;
791804 const gestaltGraph = await GestaltGraph . createGestaltGraph ( {
792805 db,
793806 acl,
@@ -819,11 +832,27 @@ describe('GestaltGraph', () => {
819832 } ) ;
820833 }
821834 } ,
835+ { seed : 1958145926 , path : '81' , endOnFailure : true } ,
822836 ) ;
823837 testProp (
824838 'getGestalts with nodes and identities' ,
825839 [ fc . array ( gestaltInfoComposedArb , { minLength : 2 } ) ] ,
826840 async ( gestaltInfos ) => {
841+ const ids = new Set < string > ( ) ;
842+ for ( const gestaltInfo of gestaltInfos ) {
843+ const [ type , data ] = gestaltInfo ;
844+ switch ( type ) {
845+ case 'identity' :
846+ ids . add ( data . providerId + data . identityId ) ;
847+ break ;
848+ case 'node' :
849+ ids . add ( nodesUtils . encodeNodeId ( data . nodeId ) ) ;
850+ break ;
851+ default :
852+ break ;
853+ }
854+ }
855+ fc . pre ( ids . size === gestaltInfos . length ) ;
827856 const gestaltGraph = await GestaltGraph . createGestaltGraph ( {
828857 db,
829858 acl,
@@ -1140,9 +1169,17 @@ describe('GestaltGraph', () => {
11401169 fc
11411170 . record ( {
11421171 keyPairs : fc . array ( testsKeysUtils . keyPairArb , { minLength : 2 } ) ,
1143- identityInfos : fc . array ( gestaltIdentityInfoComposedArb , {
1144- minLength : 1 ,
1145- } ) ,
1172+ identityInfos : fc
1173+ . array ( gestaltIdentityInfoComposedArb , {
1174+ minLength : 1 ,
1175+ } )
1176+ . filter ( ( v ) => {
1177+ const ids = new Set < string > ( ) ;
1178+ for ( const identityInfo of v ) {
1179+ ids . add ( identityInfo . providerId + identityInfo . identityId ) ;
1180+ }
1181+ return ids . size === v . length ;
1182+ } ) ,
11461183 } )
11471184 . chain ( ( verticies ) => {
11481185 const { keyPairs, identityInfos } = verticies ;
0 commit comments