@@ -41,7 +41,9 @@ describe('encryptQuery with searchableJson queryType', () => {
4141 expect ( data ) . toBeDefined ( )
4242 expect ( data ) . toMatchObject ( {
4343 i : { t : 'documents' , c : 'metadata' } ,
44+ v : 2 ,
4445 } )
46+ expect ( data ) . toHaveProperty ( 's' )
4547 } , 30000 )
4648
4749 it ( 'auto-infers ste_vec_term for object plaintext (containment)' , async ( ) => {
@@ -55,7 +57,9 @@ describe('encryptQuery with searchableJson queryType', () => {
5557 expect ( data ) . toBeDefined ( )
5658 expect ( data ) . toMatchObject ( {
5759 i : { t : 'documents' , c : 'metadata' } ,
60+ v : 2 ,
5861 } )
62+ expect ( data ) . toHaveProperty ( 'sv' )
5963 } , 30000 )
6064
6165 it ( 'auto-infers ste_vec_term for nested object' , async ( ) => {
@@ -72,7 +76,9 @@ describe('encryptQuery with searchableJson queryType', () => {
7276 expect ( data ) . toBeDefined ( )
7377 expect ( data ) . toMatchObject ( {
7478 i : { t : 'documents' , c : 'metadata' } ,
79+ v : 2 ,
7580 } )
81+ expect ( data ) . toHaveProperty ( 'sv' )
7682 } , 30000 )
7783
7884 it ( 'auto-infers ste_vec_term for array plaintext' , async ( ) => {
@@ -86,7 +92,9 @@ describe('encryptQuery with searchableJson queryType', () => {
8692 expect ( data ) . toBeDefined ( )
8793 expect ( data ) . toMatchObject ( {
8894 i : { t : 'documents' , c : 'metadata' } ,
95+ v : 2 ,
8996 } )
97+ expect ( data ) . toHaveProperty ( 'sv' )
9098 } , 30000 )
9199
92100 it ( 'returns null for null plaintext' , async ( ) => {
@@ -140,7 +148,9 @@ describe('encryptQuery with searchableJson column and omitted queryType', () =>
140148 expect ( data ) . toBeDefined ( )
141149 expect ( data ) . toMatchObject ( {
142150 i : { t : 'documents' , c : 'metadata' } ,
151+ v : 2 ,
143152 } )
153+ expect ( data ) . toHaveProperty ( 's' )
144154 } , 30000 )
145155
146156 it ( 'auto-infers ste_vec_term for object plaintext (containment)' , async ( ) => {
@@ -153,7 +163,9 @@ describe('encryptQuery with searchableJson column and omitted queryType', () =>
153163 expect ( data ) . toBeDefined ( )
154164 expect ( data ) . toMatchObject ( {
155165 i : { t : 'documents' , c : 'metadata' } ,
166+ v : 2 ,
156167 } )
168+ expect ( data ) . toHaveProperty ( 'sv' )
157169 } , 30000 )
158170
159171 it ( 'returns null for null plaintext' , async ( ) => {
@@ -235,8 +247,11 @@ describe('searchableJson batch operations', () => {
235247 const data = unwrapResult ( result )
236248 expect ( data ) . toHaveLength ( 3 )
237249 expect ( data [ 0 ] ) . toMatchObject ( { i : { t : 'documents' , c : 'metadata' } } )
250+ expect ( data [ 0 ] ) . toHaveProperty ( 's' )
238251 expect ( data [ 1 ] ) . toMatchObject ( { i : { t : 'documents' , c : 'metadata' } } )
252+ expect ( data [ 1 ] ) . toHaveProperty ( 'sv' )
239253 expect ( data [ 2 ] ) . toMatchObject ( { i : { t : 'documents' , c : 'metadata' } } )
254+ expect ( data [ 2 ] ) . toHaveProperty ( 'sv' )
240255 } , 30000 )
241256
242257 it ( 'handles null values in batch' , async ( ) => {
@@ -265,6 +280,7 @@ describe('searchableJson batch operations', () => {
265280 expect ( data ) . toHaveLength ( 3 )
266281 expect ( data [ 0 ] ) . toBeNull ( )
267282 expect ( data [ 1 ] ) . not . toBeNull ( )
283+ expect ( data [ 1 ] ) . toHaveProperty ( 's' )
268284 expect ( data [ 2 ] ) . toBeNull ( )
269285 } , 30000 )
270286
@@ -292,9 +308,9 @@ describe('searchableJson batch operations', () => {
292308
293309 const data = unwrapResult ( result )
294310 expect ( data ) . toHaveLength ( 3 )
295- expect ( data [ 0 ] ) . toBeDefined ( )
296- expect ( data [ 1 ] ) . toBeDefined ( )
297- expect ( data [ 2 ] ) . toBeDefined ( )
311+ expect ( data [ 0 ] ) . toHaveProperty ( 's' )
312+ expect ( data [ 1 ] ) . toHaveProperty ( 's' )
313+ expect ( data [ 2 ] ) . toHaveProperty ( 'sv' )
298314 } , 30000 )
299315
300316 it ( 'can omit queryType for searchableJson in batch' , async ( ) => {
@@ -318,8 +334,8 @@ describe('searchableJson batch operations', () => {
318334
319335 const data = unwrapResult ( result )
320336 expect ( data ) . toHaveLength ( 3 )
321- expect ( data [ 0 ] ) . toBeDefined ( )
322- expect ( data [ 1 ] ) . toBeDefined ( )
337+ expect ( data [ 0 ] ) . toHaveProperty ( 's' )
338+ expect ( data [ 1 ] ) . toHaveProperty ( 'sv' )
323339 expect ( data [ 2 ] ) . toBeNull ( )
324340 } , 30000 )
325341} )
@@ -403,7 +419,9 @@ describe('searchableJson with LockContext', () => {
403419 const data = unwrapResult ( result )
404420 expect ( data ) . toMatchObject ( {
405421 i : { t : 'documents' , c : 'metadata' } ,
422+ v : 2 ,
406423 } )
424+ expect ( data ) . toHaveProperty ( 's' )
407425 } , 30000 )
408426
409427 it ( 'executes object plaintext with LockContext mock' , async ( ) => {
@@ -429,7 +447,9 @@ describe('searchableJson with LockContext', () => {
429447 if ( result . data ) {
430448 expect ( result . data ) . toMatchObject ( {
431449 i : { t : 'documents' , c : 'metadata' } ,
450+ v : 2 ,
432451 } )
452+ expect ( result . data ) . toHaveProperty ( 'sv' )
433453 }
434454 } , 30000 )
435455
@@ -520,6 +540,7 @@ describe('searchableJson with LockContext', () => {
520540 const data = unwrapResult ( result )
521541 expect ( data ) . toHaveLength ( 1 )
522542 expect ( data [ 0 ] ) . toMatchObject ( { i : { t : 'documents' , c : 'metadata' } } )
543+ expect ( data [ 0 ] ) . toHaveProperty ( 's' )
523544 } , 30000 )
524545} )
525546
@@ -548,6 +569,8 @@ describe('searchableJson equivalence', () => {
548569
549570 expect ( explicitData . i ) . toEqual ( implicitData . i )
550571 expect ( explicitData . v ) . toEqual ( implicitData . v )
572+ expect ( explicitData ) . toHaveProperty ( 's' )
573+ expect ( implicitData ) . toHaveProperty ( 's' )
551574 } , 30000 )
552575
553576 it ( 'produces identical metadata to omitting queryType for object' , async ( ) => {
@@ -567,6 +590,8 @@ describe('searchableJson equivalence', () => {
567590
568591 expect ( explicitData . i ) . toEqual ( implicitData . i )
569592 expect ( explicitData . v ) . toEqual ( implicitData . v )
593+ expect ( explicitData ) . toHaveProperty ( 'sv' )
594+ expect ( implicitData ) . toHaveProperty ( 'sv' )
570595 } , 30000 )
571596
572597 it ( 'produces identical metadata to explicit steVecSelector for string' , async ( ) => {
@@ -587,6 +612,8 @@ describe('searchableJson equivalence', () => {
587612
588613 expect ( searchableJsonData . i ) . toEqual ( steVecSelectorData . i )
589614 expect ( searchableJsonData . v ) . toEqual ( steVecSelectorData . v )
615+ expect ( searchableJsonData ) . toHaveProperty ( 's' )
616+ expect ( steVecSelectorData ) . toHaveProperty ( 's' )
590617 } , 30000 )
591618
592619 it ( 'produces identical metadata to explicit steVecTerm for object' , async ( ) => {
@@ -607,6 +634,8 @@ describe('searchableJson equivalence', () => {
607634
608635 expect ( searchableJsonData . i ) . toEqual ( steVecTermData . i )
609636 expect ( searchableJsonData . v ) . toEqual ( steVecTermData . v )
637+ expect ( searchableJsonData ) . toHaveProperty ( 'sv' )
638+ expect ( steVecTermData ) . toHaveProperty ( 'sv' )
610639 } , 30000 )
611640} )
612641
@@ -629,7 +658,9 @@ describe('searchableJson edge cases', () => {
629658 const data = unwrapResult ( result )
630659 expect ( data ) . toMatchObject ( {
631660 i : { t : 'documents' , c : 'metadata' } ,
661+ v : 2 ,
632662 } )
663+ expect ( data ) . toHaveProperty ( 'sv' )
633664 } , 30000 )
634665
635666 it ( 'succeeds for empty array' , async ( ) => {
@@ -642,7 +673,9 @@ describe('searchableJson edge cases', () => {
642673 const data = unwrapResult ( result )
643674 expect ( data ) . toMatchObject ( {
644675 i : { t : 'documents' , c : 'metadata' } ,
676+ v : 2 ,
645677 } )
678+ expect ( data ) . toHaveProperty ( 'sv' )
646679 } , 30000 )
647680
648681 it ( 'succeeds for object with wrapped number' , async ( ) => {
@@ -655,7 +688,9 @@ describe('searchableJson edge cases', () => {
655688 const data = unwrapResult ( result )
656689 expect ( data ) . toMatchObject ( {
657690 i : { t : 'documents' , c : 'metadata' } ,
691+ v : 2 ,
658692 } )
693+ expect ( data ) . toHaveProperty ( 'sv' )
659694 } , 30000 )
660695
661696 it ( 'succeeds for object with wrapped boolean' , async ( ) => {
@@ -668,7 +703,9 @@ describe('searchableJson edge cases', () => {
668703 const data = unwrapResult ( result )
669704 expect ( data ) . toMatchObject ( {
670705 i : { t : 'documents' , c : 'metadata' } ,
706+ v : 2 ,
671707 } )
708+ expect ( data ) . toHaveProperty ( 'sv' )
672709 } , 30000 )
673710
674711 it ( 'succeeds for object with null value' , async ( ) => {
@@ -681,7 +718,9 @@ describe('searchableJson edge cases', () => {
681718 const data = unwrapResult ( result )
682719 expect ( data ) . toMatchObject ( {
683720 i : { t : 'documents' , c : 'metadata' } ,
721+ v : 2 ,
684722 } )
723+ expect ( data ) . toHaveProperty ( 'sv' )
685724 } , 30000 )
686725
687726 it ( 'succeeds for deeply nested object (3+ levels)' , async ( ) => {
@@ -704,7 +743,9 @@ describe('searchableJson edge cases', () => {
704743 const data = unwrapResult ( result )
705744 expect ( data ) . toMatchObject ( {
706745 i : { t : 'documents' , c : 'metadata' } ,
746+ v : 2 ,
707747 } )
748+ expect ( data ) . toHaveProperty ( 'sv' )
708749 } , 30000 )
709750
710751 // String edge cases for JSONPath selectors
@@ -719,7 +760,9 @@ describe('searchableJson edge cases', () => {
719760 const data = unwrapResult ( result )
720761 expect ( data ) . toMatchObject ( {
721762 i : { t : 'documents' , c : 'metadata' } ,
763+ v : 2 ,
722764 } )
765+ expect ( data ) . toHaveProperty ( 's' )
723766 } , 30000 )
724767
725768 it ( 'succeeds for JSONPath with wildcard' , async ( ) => {
@@ -732,7 +775,9 @@ describe('searchableJson edge cases', () => {
732775 const data = unwrapResult ( result )
733776 expect ( data ) . toMatchObject ( {
734777 i : { t : 'documents' , c : 'metadata' } ,
778+ v : 2 ,
735779 } )
780+ expect ( data ) . toHaveProperty ( 's' )
736781 } , 30000 )
737782} )
738783
@@ -765,6 +810,8 @@ describe('searchableJson batch edge cases', () => {
765810 expect ( batchData ) . toHaveLength ( 1 )
766811 expect ( batchData [ 0 ] . i ) . toEqual ( scalarData . i )
767812 expect ( batchData [ 0 ] . v ) . toEqual ( scalarData . v )
813+ expect ( scalarData ) . toHaveProperty ( 's' )
814+ expect ( batchData [ 0 ] ) . toHaveProperty ( 's' )
768815 } , 30000 )
769816
770817 it ( 'handles all-null batch' , async ( ) => {
@@ -815,10 +862,12 @@ describe('searchableJson batch edge cases', () => {
815862
816863 const data = unwrapResult ( result )
817864 expect ( data ) . toHaveLength ( 12 )
818- data . forEach ( ( item : any ) => {
865+ data . forEach ( ( item : any , idx : number ) => {
819866 expect ( item ) . toMatchObject ( {
820867 i : { t : 'documents' , c : 'metadata' } ,
868+ v : 2 ,
821869 } )
870+ expect ( item ) . toHaveProperty ( idx % 2 === 0 ? 's' : 'sv' )
822871 } )
823872 } , 30000 )
824873
@@ -860,8 +909,10 @@ describe('searchableJson batch edge cases', () => {
860909 expect ( data ) . toHaveLength ( 5 )
861910 expect ( data [ 0 ] ) . toBeNull ( )
862911 expect ( data [ 1 ] ) . not . toBeNull ( )
912+ expect ( data [ 1 ] ) . toHaveProperty ( 's' )
863913 expect ( data [ 2 ] ) . toBeNull ( )
864914 expect ( data [ 3 ] ) . not . toBeNull ( )
915+ expect ( data [ 3 ] ) . toHaveProperty ( 'sv' )
865916 expect ( data [ 4 ] ) . toBeNull ( )
866917 } , 30000 )
867918} )
0 commit comments