Added date faker
This commit is contained in:
parent
40fa6f7ef3
commit
5874cb901b
|
|
@ -1,6 +1,9 @@
|
|||
import { NestFactory } from '@nestjs/core';
|
||||
import { AppModule } from '@/app.module';
|
||||
import { openApi } from '@/openApi';
|
||||
import { openApi } from '@/utils/openApi';
|
||||
import { setDate } from '@/utils/fake-date';
|
||||
|
||||
setDate('2023-02-14 14:00:00 UTC');
|
||||
|
||||
async function bootstrap() {
|
||||
const app = await NestFactory.create(AppModule);
|
||||
|
|
@ -9,4 +12,5 @@ async function bootstrap() {
|
|||
|
||||
await app.listen(3000);
|
||||
}
|
||||
|
||||
bootstrap();
|
||||
|
|
|
|||
|
|
@ -0,0 +1,32 @@
|
|||
// Save an instance of the original Date object
|
||||
const ODate = Date;
|
||||
|
||||
export function setDate(date: string) {
|
||||
console.warn(`Time mocking has been set to ${date}`);
|
||||
|
||||
Date = new Proxy(Date, {
|
||||
construct(
|
||||
Target: DateConstructor,
|
||||
argArray: Parameters<DateConstructor>,
|
||||
): Date {
|
||||
if (argArray.length === 0) {
|
||||
return new Target(date);
|
||||
}
|
||||
|
||||
return new Target(...argArray);
|
||||
},
|
||||
get(Target, prop) {
|
||||
if (prop === 'now') {
|
||||
return () => new Target(date).valueOf();
|
||||
}
|
||||
|
||||
return Reflect.get(Target, prop);
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
export function resetDate() {
|
||||
console.warn(`Time mocking is now disabled`);
|
||||
|
||||
Date = ODate;
|
||||
}
|
||||
Loading…
Reference in New Issue