@@ -315,6 +315,58 @@ describe('Client filter tests ', () => {
315315 } ) ,
316316 ) . toResolveWithLength ( 2 ) ;
317317
318+ // between
319+ await expect (
320+ client . user . findMany ( {
321+ where : { email : { between : [ 'a@test.com' , 'a@test.com' ] } } ,
322+ } ) ,
323+ ) . toResolveWithLength ( 0 ) ;
324+ await expect (
325+ client . user . findMany ( {
326+ where : { email : { between : [ 'a@test.com' , 'b@test.com' ] } } ,
327+ } ) ,
328+ ) . toResolveWithLength ( 0 ) ;
329+ await expect (
330+ client . user . findMany ( {
331+ where : { email : { between : [ 'z@test.com' , 'a@test.com' ] } } ,
332+ } ) ,
333+ ) . toResolveWithLength ( 0 ) ;
334+ await expect (
335+ client . user . findMany ( {
336+ where : { email : { between : [ 'u1@test.com' , 'u1@test.com' ] } } ,
337+ } ) ,
338+ ) . toResolveWithLength ( 1 ) ;
339+ await expect (
340+ client . user . findMany ( {
341+ where : { email : { between : [ 'u2@test.com' , 'u2@test.com' ] } } ,
342+ } ) ,
343+ ) . toResolveWithLength ( 1 ) ;
344+ await expect (
345+ client . user . findMany ( {
346+ where : { email : { between : [ 'u1@test.com' , 'u2@test.com' ] } } ,
347+ } ) ,
348+ ) . toResolveWithLength ( 2 ) ;
349+ await expect (
350+ client . user . findMany ( {
351+ where : { email : { between : [ 'u2@test.com' , 'u3%@test.com' ] } } ,
352+ } ) ,
353+ ) . toResolveWithLength ( 2 ) ;
354+ await expect (
355+ client . user . findMany ( {
356+ where : { email : { between : [ 'a@test.com' , 'u3%@test.com' ] } } ,
357+ } ) ,
358+ ) . toResolveWithLength ( 3 ) ;
359+ await expect (
360+ client . user . findMany ( {
361+ where : { email : { between : [ 'a@test.com' , 'z@test.com' ] } } ,
362+ } ) ,
363+ ) . toResolveWithLength ( 3 ) ;
364+ await expect (
365+ client . user . findMany ( {
366+ where : { email : { between : [ 'u1@test.com' , 'u3%@test.com' ] } } ,
367+ } ) ,
368+ ) . toResolveWithLength ( 3 ) ;
369+
318370 // contains
319371 await expect (
320372 client . user . findFirst ( {
@@ -409,6 +461,14 @@ describe('Client filter tests ', () => {
409461 await expect ( client . profile . findMany ( { where : { age : { gte : 20 } } } ) ) . toResolveWithLength ( 1 ) ;
410462 await expect ( client . profile . findMany ( { where : { age : { gte : 21 } } } ) ) . toResolveWithLength ( 0 ) ;
411463
464+ // between
465+ await expect ( client . profile . findMany ( { where : { age : { between : [ 20 , 20 ] } } } ) ) . toResolveWithLength ( 1 ) ;
466+ await expect ( client . profile . findMany ( { where : { age : { between : [ 19 , 20 ] } } } ) ) . toResolveWithLength ( 1 ) ;
467+ await expect ( client . profile . findMany ( { where : { age : { between : [ 20 , 21 ] } } } ) ) . toResolveWithLength ( 1 ) ;
468+ await expect ( client . profile . findMany ( { where : { age : { between : [ 19 , 19 ] } } } ) ) . toResolveWithLength ( 0 ) ;
469+ await expect ( client . profile . findMany ( { where : { age : { between : [ 21 , 21 ] } } } ) ) . toResolveWithLength ( 0 ) ;
470+ await expect ( client . profile . findMany ( { where : { age : { between : [ 21 , 20 ] } } } ) ) . toResolveWithLength ( 0 ) ;
471+
412472 // not
413473 await expect (
414474 client . profile . findFirst ( {
@@ -460,11 +520,14 @@ describe('Client filter tests ', () => {
460520 } ) ;
461521
462522 it ( 'supports date filters' , async ( ) => {
523+ const now = new Date ( ) ;
524+ const past = new Date ( now . getTime ( ) - 1 ) ;
525+ const future = new Date ( now . getTime ( ) + 2 ) ;
463526 const user1 = await createUser ( 'u1@test.com' , {
464- createdAt : new Date ( ) ,
527+ createdAt : now ,
465528 } ) ;
466529 const user2 = await createUser ( 'u2@test.com' , {
467- createdAt : new Date ( Date . now ( ) + 1000 ) ,
530+ createdAt : new Date ( now . getTime ( ) + 1 ) ,
468531 } ) ;
469532
470533 // equals
@@ -577,6 +640,73 @@ describe('Client filter tests ', () => {
577640 } ) ,
578641 ) . resolves . toMatchObject ( user2 ) ;
579642
643+ // between
644+ await expect (
645+ client . user . findMany ( {
646+ where : { createdAt : { between : [ user1 . createdAt , user1 . createdAt ] } } ,
647+ } ) ,
648+ ) . toResolveWithLength ( 1 ) ;
649+ await expect (
650+ client . user . findMany ( {
651+ where : { createdAt : { between : [ user1 . createdAt , user2 . createdAt ] } } ,
652+ } ) ,
653+ ) . toResolveWithLength ( 2 ) ;
654+ await expect (
655+ client . user . findMany ( {
656+ where : { createdAt : { between : [ user2 . createdAt , user2 . createdAt ] } } ,
657+ } ) ,
658+ ) . toResolveWithLength ( 1 ) ;
659+ await expect (
660+ client . user . findMany ( {
661+ where : { createdAt : { between : [ user2 . createdAt , user1 . createdAt ] } } ,
662+ } ) ,
663+ ) . toResolveWithLength ( 0 ) ;
664+ await expect (
665+ client . user . findMany ( {
666+ where : { createdAt : { between : [ past , past ] } } ,
667+ } ) ,
668+ ) . toResolveWithLength ( 0 ) ;
669+ await expect (
670+ client . user . findMany ( {
671+ where : { createdAt : { between : [ past , user1 . createdAt ] } } ,
672+ } ) ,
673+ ) . toResolveWithLength ( 1 ) ;
674+ await expect (
675+ client . user . findMany ( {
676+ where : { createdAt : { between : [ past . toISOString ( ) , user1 . createdAt ] } } ,
677+ } ) ,
678+ ) . toResolveWithLength ( 1 ) ;
679+ await expect (
680+ client . user . findMany ( {
681+ where : { createdAt : { between : [ past , user2 . createdAt ] } } ,
682+ } ) ,
683+ ) . toResolveWithLength ( 2 ) ;
684+ await expect (
685+ client . user . findMany ( {
686+ where : { createdAt : { between : [ past , future ] } } ,
687+ } ) ,
688+ ) . toResolveWithLength ( 2 ) ;
689+ await expect (
690+ client . user . findMany ( {
691+ where : { createdAt : { between : [ past . toISOString ( ) , future . toISOString ( ) ] } } ,
692+ } ) ,
693+ ) . toResolveWithLength ( 2 ) ;
694+ await expect (
695+ client . user . findMany ( {
696+ where : { createdAt : { between : [ future , past ] } } ,
697+ } ) ,
698+ ) . toResolveWithLength ( 0 ) ;
699+ await expect (
700+ client . user . findMany ( {
701+ where : { createdAt : { between : [ future , user1 . createdAt ] } } ,
702+ } ) ,
703+ ) . toResolveWithLength ( 0 ) ;
704+ await expect (
705+ client . user . findMany ( {
706+ where : { createdAt : { between : [ future , future ] } } ,
707+ } ) ,
708+ ) . toResolveWithLength ( 0 ) ;
709+
580710 // not
581711 await expect (
582712 client . user . findFirst ( {
0 commit comments