add tests for objectid utils
This commit is contained in:
		
							parent
							
								
									7e5e4d00ee
								
							
						
					
					
						commit
						268034c3b6
					
				| @ -5,7 +5,6 @@ import { | |||||||
|   isExcelFormat, |   isExcelFormat, | ||||||
|   isISO8601DateTimeString, |   isISO8601DateTimeString, | ||||||
|   isISO9075DateString, |   isISO9075DateString, | ||||||
|   isMongoObjectId, |  | ||||||
|   isRFC3339DateString, |   isRFC3339DateString, | ||||||
|   isRFC7231DateString, |   isRFC7231DateString, | ||||||
|   isTimestamp, |   isTimestamp, | ||||||
| @ -129,20 +128,6 @@ describe('date-time-converter models', () => { | |||||||
|     }); |     }); | ||||||
|   }); |   }); | ||||||
| 
 | 
 | ||||||
|   describe('isMongoObjectId', () => { |  | ||||||
|     test('should return true for valid Mongo ObjectIds', () => { |  | ||||||
|       expect(isMongoObjectId('507f1f77bcf86cd799439011')).toBe(true); |  | ||||||
|       expect(isMongoObjectId('507f1f77bcf86cd799439012')).toBe(true); |  | ||||||
|     }); |  | ||||||
| 
 |  | ||||||
|     test('should return false for invalid Mongo ObjectIds', () => { |  | ||||||
|       expect(isMongoObjectId('507f1f77bcf86cd79943901')).toBe(false); |  | ||||||
|       expect(isMongoObjectId('507f1f77bcf86cd79943901z')).toBe(false); |  | ||||||
|       expect(isMongoObjectId('foo')).toBe(false); |  | ||||||
|       expect(isMongoObjectId('')).toBe(false); |  | ||||||
|     }); |  | ||||||
|   }); |  | ||||||
| 
 |  | ||||||
|   describe('isExcelFormat', () => { |   describe('isExcelFormat', () => { | ||||||
|     test('an Excel format string is a floating number that can be negative', () => { |     test('an Excel format string is a floating number that can be negative', () => { | ||||||
|       expect(isExcelFormat('0')).toBe(true); |       expect(isExcelFormat('0')).toBe(true); | ||||||
|  | |||||||
							
								
								
									
										47
									
								
								src/utils/objectId.test.ts
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										47
									
								
								src/utils/objectId.test.ts
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,47 @@ | |||||||
|  | import { describe, expect, test } from 'vitest'; | ||||||
|  | import { isValidObjectId, objectIdFromDate, objectIdToDate } from '@/utils/objectId'; | ||||||
|  | 
 | ||||||
|  | describe('ObejctId', () => { | ||||||
|  |   describe('isValidObjectId', () => { | ||||||
|  |     test('should return true for valid Mongo ObjectIds', () => { | ||||||
|  |       expect(isValidObjectId('507f1f77bcf86cd799439011')).toBe(true); | ||||||
|  |       expect(isValidObjectId('507f1f77bcf86cd799439012')).toBe(true); | ||||||
|  |     }); | ||||||
|  | 
 | ||||||
|  |     test('should return false for invalid Mongo ObjectIds', () => { | ||||||
|  |       expect(isValidObjectId('507f1f77bcf86cd79943901')).toBe(false); | ||||||
|  |       expect(isValidObjectId('507f1f77bcf86cd79943901z')).toBe(false); | ||||||
|  |       expect(isValidObjectId('foo')).toBe(false); | ||||||
|  |       expect(isValidObjectId('')).toBe(false); | ||||||
|  |     }); | ||||||
|  |   }); | ||||||
|  | 
 | ||||||
|  |   describe('objectIdToDate', () => { | ||||||
|  |     test('should return Date from Mongo ObjectIds', () => { | ||||||
|  |       expect(objectIdToDate('507f1f77bcf86cd799439011')).toStrictEqual(new Date('2012-10-17T23:13:27.000+0200')); | ||||||
|  |       expect(objectIdToDate('678fd477d9bc2e855fdedfb0')).toStrictEqual(new Date('2025-01-21T18:08:07.000+0100')); | ||||||
|  |     }); | ||||||
|  |   }); | ||||||
|  | 
 | ||||||
|  |   describe('objectIdFromDate', () => { | ||||||
|  |     test('should return Mongo ObjectId from Date', () => { | ||||||
|  |       let objectId = objectIdFromDate(new Date('2012-10-17T23:13:27.000+0200').getTime()); | ||||||
|  |       expect(isValidObjectId(objectId)).toBe(true); | ||||||
|  |       expect(objectId).toMatch(/^507f1f77/); | ||||||
|  | 
 | ||||||
|  |       objectId = objectIdFromDate(new Date('2025-01-21T18:08:07.000+0100').getTime()); | ||||||
|  |       expect(isValidObjectId(objectId)).toBe(true); | ||||||
|  |       expect(objectId).toMatch(/^678fd477/); | ||||||
|  |     }); | ||||||
|  | 
 | ||||||
|  |     test('should return Mongo ObjectId from Date, but only generate the date part', () => { | ||||||
|  |       let objectId = objectIdFromDate(new Date('2012-10-17T23:13:27.000+0200').getTime(), true); | ||||||
|  |       expect(isValidObjectId(objectId)).toBe(true); | ||||||
|  |       expect(objectId).toMatch(/^507f1f770000000000000000$/); | ||||||
|  | 
 | ||||||
|  |       objectId = objectIdFromDate(new Date('2025-01-21T18:08:07.000+0100').getTime(), true); | ||||||
|  |       expect(isValidObjectId(objectId)).toBe(true); | ||||||
|  |       expect(objectId).toMatch(/^678fd4770000000000000000$/); | ||||||
|  |     }); | ||||||
|  |   }); | ||||||
|  | }); | ||||||
		Loading…
	
		Reference in New Issue
	
	Block a user