@@ -206,84 +206,20 @@ describe('Validation Library', () => {
206206 expect ( validator . test ( 123 as any ) ) . toBe ( false )
207207 } )
208208
209- test ( 'min date validation' , ( ) => {
210- const minDate = new Date ( '2023-01-01' )
211- const validator = v . date ( ) . min ( minDate )
212- expect ( validator . test ( new Date ( '2023-01-01' ) ) ) . toBe ( true )
213- expect ( validator . test ( new Date ( '2023-02-01' ) ) ) . toBe ( true )
214- expect ( validator . test ( new Date ( '2022-12-31' ) ) ) . toBe ( false )
215- } )
216-
217- test ( 'max date validation' , ( ) => {
218- const maxDate = new Date ( '2023-12-31' )
219- const validator = v . date ( ) . max ( maxDate )
220- expect ( validator . test ( new Date ( '2023-12-31' ) ) ) . toBe ( true )
221- expect ( validator . test ( new Date ( '2023-06-15' ) ) ) . toBe ( true )
222- expect ( validator . test ( new Date ( '2024-01-01' ) ) ) . toBe ( false )
223- } )
224-
225- test ( 'between dates validation' , ( ) => {
226- const start = new Date ( '2023-01-01' )
227- const end = new Date ( '2023-12-31' )
228- const validator = v . date ( ) . between ( start , end )
229- expect ( validator . test ( new Date ( '2023-06-15' ) ) ) . toBe ( true )
230- expect ( validator . test ( new Date ( '2023-01-01' ) ) ) . toBe ( true )
231- expect ( validator . test ( new Date ( '2023-12-31' ) ) ) . toBe ( true )
232- expect ( validator . test ( new Date ( '2022-12-31' ) ) ) . toBe ( false )
233- expect ( validator . test ( new Date ( '2024-01-01' ) ) ) . toBe ( false )
234- } )
235-
236- test ( 'isBefore validation' , ( ) => {
237- const date = new Date ( '2023-12-31' )
238- const validator = v . date ( ) . isBefore ( date )
239- expect ( validator . test ( new Date ( '2023-12-30' ) ) ) . toBe ( true )
240- expect ( validator . test ( new Date ( '2023-12-31' ) ) ) . toBe ( false )
241- expect ( validator . test ( new Date ( '2024-01-01' ) ) ) . toBe ( false )
242- } )
243-
244- test ( 'isAfter validation' , ( ) => {
245- const date = new Date ( '2023-01-01' )
246- const validator = v . date ( ) . isAfter ( date )
247- expect ( validator . test ( new Date ( '2023-01-02' ) ) ) . toBe ( true )
248- expect ( validator . test ( new Date ( '2023-01-01' ) ) ) . toBe ( false )
249- expect ( validator . test ( new Date ( '2022-12-31' ) ) ) . toBe ( false )
250- } )
251-
252- test ( 'isToday validation' , ( ) => {
253- const validator = v . date ( ) . isToday ( )
254- expect ( validator . test ( new Date ( ) ) ) . toBe ( true )
255- expect ( validator . test ( new Date ( '2023-01-01' ) ) ) . toBe ( false )
256- } )
257-
258- test ( 'isWeekend validation' , ( ) => {
259- const validator = v . date ( ) . isWeekend ( )
260- // Saturday
261- expect ( validator . test ( new Date ( '2023-01-07' ) ) ) . toBe ( true )
262- // Sunday
263- expect ( validator . test ( new Date ( '2023-01-08' ) ) ) . toBe ( true )
264- // Monday
265- expect ( validator . test ( new Date ( '2023-01-09' ) ) ) . toBe ( false )
266- } )
267-
268- test ( 'isWeekday validation' , ( ) => {
269- const validator = v . date ( ) . isWeekday ( )
270- // Monday
271- expect ( validator . test ( new Date ( '2023-01-09' ) ) ) . toBe ( true )
272- // Friday
273- expect ( validator . test ( new Date ( '2023-01-13' ) ) ) . toBe ( true )
274- // Saturday
275- expect ( validator . test ( new Date ( '2023-01-07' ) ) ) . toBe ( false )
276- // Sunday
277- expect ( validator . test ( new Date ( '2023-01-08' ) ) ) . toBe ( false )
278- } )
279-
280- test ( 'custom date validation' , ( ) => {
281- const validator = v . date ( ) . custom (
282- date => date . getFullYear ( ) >= 2023 ,
283- 'Must be in 2023 or later' ,
284- )
285- expect ( validator . test ( new Date ( '2023-01-01' ) ) ) . toBe ( true )
286- expect ( validator . test ( new Date ( '2022-12-31' ) ) ) . toBe ( false )
209+ test ( 'timestamp validation' , ( ) => {
210+ const validator = v . date ( ) . timestamp ( )
211+ expect ( validator . test ( new Date ( 1683912345000 ) ) ) . toBe ( true )
212+ expect ( validator . test ( new Date ( 0 ) ) ) . toBe ( true )
213+ expect ( validator . test ( new Date ( - 1 ) ) ) . toBe ( false )
214+ expect ( validator . test ( new Date ( Number . MAX_SAFE_INTEGER + 1 ) ) ) . toBe ( false )
215+ } )
216+
217+ test ( 'datetime validation' , ( ) => {
218+ const validator = v . date ( ) . datetime ( )
219+ expect ( validator . test ( new Date ( 1683912345000 ) ) ) . toBe ( true )
220+ expect ( validator . test ( new Date ( 0 ) ) ) . toBe ( true )
221+ expect ( validator . test ( new Date ( - 1 ) ) ) . toBe ( false )
222+ expect ( validator . test ( new Date ( Number . MAX_SAFE_INTEGER + 1 ) ) ) . toBe ( false )
287223 } )
288224 } )
289225
0 commit comments