mirror of
https://github.com/CorentinTh/it-tools.git
synced 2025-04-24 00:36:14 -04:00
add tests for objectid utils
This commit is contained in:
parent
7e5e4d00ee
commit
268034c3b6
2 changed files with 47 additions and 15 deletions
|
@ -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…
Add table
Add a link
Reference in a new issue