11import { z } from "zod" ;
22import { getMeta } from "../../src/metadata" ;
33import { ez } from "../../src" ;
4- import { describe , expect , test } from "vitest" ;
4+ import { beforeAll , describe , expect , test , vi } from "vitest" ;
5+
6+ describe . each ( [ "current" , "legacy" ] ) ( "ez.dateIn() %s mode" , ( mode ) => {
7+ // @todo remove after min zod v3.23 (v19)
8+ beforeAll ( ( ) => {
9+ if ( mode === "legacy" ) {
10+ vi . spyOn ( z . ZodString . prototype , "date" ) . mockImplementation (
11+ ( ) => null as unknown as z . ZodString ,
12+ ) ;
13+ }
14+ } ) ;
515
6- describe ( "ez.dateIn()" , ( ) => {
716 describe ( "creation" , ( ) => {
817 test ( "should create an instance" , ( ) => {
918 const schema = ez . dateIn ( ) ;
@@ -18,15 +27,7 @@ describe("ez.dateIn()", () => {
1827 const result = schema . safeParse ( 123 ) ;
1928 expect ( result . success ) . toBeFalsy ( ) ;
2029 if ( ! result . success ) {
21- expect ( result . error . issues ) . toEqual ( [
22- {
23- code : "invalid_type" ,
24- expected : "string" ,
25- message : "Expected string, received number" ,
26- path : [ ] ,
27- received : "number" ,
28- } ,
29- ] ) ;
30+ expect ( result . error . issues ) . toMatchSnapshot ( ) ;
3031 }
3132 } ) ;
3233
@@ -50,13 +51,7 @@ describe("ez.dateIn()", () => {
5051 const result = schema . safeParse ( "2022-01-32" ) ;
5152 expect ( result . success ) . toBeFalsy ( ) ;
5253 if ( ! result . success ) {
53- expect ( result . error . issues ) . toEqual ( [
54- {
55- code : "invalid_date" ,
56- message : "Invalid date" ,
57- path : [ ] ,
58- } ,
59- ] ) ;
54+ expect ( result . error . issues ) . toMatchSnapshot ( ) ;
6055 }
6156 } ) ;
6257
@@ -65,14 +60,7 @@ describe("ez.dateIn()", () => {
6560 const result = schema . safeParse ( "12.01.2021" ) ;
6661 expect ( result . success ) . toBeFalsy ( ) ;
6762 if ( ! result . success ) {
68- expect ( result . error . issues ) . toEqual ( [
69- {
70- code : "invalid_string" ,
71- message : "Invalid" ,
72- validation : "regex" ,
73- path : [ ] ,
74- } ,
75- ] ) ;
63+ expect ( result . error . issues ) . toMatchSnapshot ( ) ;
7664 }
7765 } ) ;
7866 } ) ;
0 commit comments