|
7 | 7 | YesNoEnum, |
8 | 8 | MultiselectQuestionsApplicationSectionEnum, |
9 | 9 | } from '@prisma/client'; |
| 10 | +import dayjs from 'dayjs'; |
| 11 | +import { randomInt } from 'crypto'; |
10 | 12 | import { generateConfirmationCode } from '../../src/utilities/applications-utilities'; |
11 | 13 | import { addressFactory } from './address-factory'; |
12 | 14 | import { randomNoun } from './word-generator'; |
@@ -56,16 +58,23 @@ export const applicationFactory = async (optionalParams?: { |
56 | 58 | if (optionalParams?.householdMember) { |
57 | 59 | householdSize = optionalParams.householdMember.length + 1; |
58 | 60 | } |
| 61 | + const createdAtDate = |
| 62 | + optionalParams?.createdAt || |
| 63 | + // Created at date sometime in the last 2 months |
| 64 | + dayjs(new Date()).subtract(randomInt(87_600), 'minutes').toDate(); |
59 | 65 | return { |
60 | | - createdAt: optionalParams?.createdAt || new Date(), |
| 66 | + createdAt: createdAtDate, |
61 | 67 | confirmationCode: generateConfirmationCode(), |
62 | 68 | applicant: { create: applicantFactory(optionalParams?.applicant) }, |
63 | 69 | appUrl: '', |
64 | 70 | status: ApplicationStatusEnum.submitted, |
65 | 71 | submissionType: |
66 | 72 | optionalParams?.submissionType ?? |
67 | 73 | ApplicationSubmissionTypeEnum.electronical, |
68 | | - submissionDate: new Date(), |
| 74 | + submissionDate: |
| 75 | + optionalParams?.submissionType !== ApplicationSubmissionTypeEnum.paper |
| 76 | + ? createdAtDate |
| 77 | + : dayjs(createdAtDate).add(2, 'days').toDate(), |
69 | 78 | householdSize: householdSize, |
70 | 79 | income: '40000', |
71 | 80 | incomePeriod: randomBoolean() |
|
0 commit comments