Skip to content

Commit a82b073

Browse files
authored
[NFDIV-4712] Update access code post controller to work for /respondent (#4080)
* Update access code post controller to work for /respondent * Lint corrections
1 parent 8c2f5f3 commit a82b073

File tree

1 file changed

+11
-10
lines changed

1 file changed

+11
-10
lines changed

src/main/app/access-code/AccessCodePostController.ts

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { Logger } from '@hmcts/nodejs-logging';
22
import autobind from 'autobind-decorator';
33
import { Response } from 'express';
44

5-
import { APPLICANT_2, HOME_URL, SIGN_OUT_URL } from '../../steps/urls';
5+
import { APPLICANT_2, HOME_URL, RESPONDENT, SIGN_OUT_URL } from '../../steps/urls';
66
import { getSystemUser } from '../auth/user/oidc';
77
import { getCaseApi } from '../case/case-api';
88
import { SYSTEM_LINK_APPLICANT_1, SYSTEM_LINK_APPLICANT_2, SYSTEM_UNLINK_APPLICANT, State } from '../case/definition';
@@ -26,7 +26,7 @@ export class AccessCodePostController {
2626
const { saveAndSignOut, saveBeforeSessionTimeout, _csrf, ...formData } = form.getParsedBody(req.body);
2727

2828
//Set app2 name in form data only when state is AwaitingApplicant2Response
29-
if (req.path.includes(APPLICANT_2)) {
29+
if (this.joiningCaseAsApplicant2(req)) {
3030
formData.applicant2Email = req.session.user.email;
3131
formData.respondentUserId = req.session.user.id;
3232
const caseState = req.session.userCase?.state;
@@ -47,7 +47,9 @@ export class AccessCodePostController {
4747

4848
logger.info(`AccessCodePostController invoked for case ID: ${caseReference}`);
4949

50-
const expectedAccessCode = req.path.includes(APPLICANT_2) ? caseData.accessCode : caseData.accessCodeApplicant1;
50+
const expectedAccessCode = this.joiningCaseAsApplicant2(req)
51+
? caseData.accessCode
52+
: caseData.accessCodeApplicant1;
5153
if (expectedAccessCode !== formData.accessCode?.replace(/\s/g, '').toUpperCase()) {
5254
req.session.errors.push({ errorType: 'invalidAccessCode', propertyName: 'accessCode' });
5355
const formattedAccessCode = formData.accessCode?.replace(/\s/g, '').toUpperCase();
@@ -65,17 +67,12 @@ export class AccessCodePostController {
6567
}
6668

6769
if (req.session.errors.length === 0) {
68-
const systemEvent = req.path.includes(APPLICANT_2) ? SYSTEM_LINK_APPLICANT_2 : SYSTEM_LINK_APPLICANT_1;
70+
const systemEvent = this.joiningCaseAsApplicant2(req) ? SYSTEM_LINK_APPLICANT_2 : SYSTEM_LINK_APPLICANT_1;
6971

7072
logger.info(`Calling to link ${systemEvent} to case ID: ${caseReference}`);
7173
try {
7274
req.session.userCase = await caseworkerUserApi.triggerEvent(caseReference as string, formData, systemEvent);
73-
74-
if (req.path.includes(APPLICANT_2)) {
75-
req.session.isApplicant2 = true;
76-
} else {
77-
req.session.isApplicant2 = false;
78-
}
75+
req.session.isApplicant2 = this.joiningCaseAsApplicant2(req);
7976
} catch (err) {
8077
req.locals.logger.error(`Error linking applicant/respondent to case ${caseReference}, ${err}`);
8178
req.session.errors.push({ errorType: 'errorSaving', propertyName: '*' });
@@ -112,4 +109,8 @@ export class AccessCodePostController {
112109
res.redirect(nextStep);
113110
});
114111
}
112+
113+
private joiningCaseAsApplicant2(req: AppRequest<AnyObject>): boolean {
114+
return req.path.includes(APPLICANT_2) || req.path.includes(RESPONDENT);
115+
}
115116
}

0 commit comments

Comments
 (0)