@getjones/test-infra 2.7.7 → 2.7.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/defaults/configs/auditConfigs.js +3 -1
- package/src/factory/records/records.js +1 -1
- package/src/saas/internal-api/accounts/api/settings/settings.service.js +1 -1
- package/src/saas/internal-api/compliance/api/{waive/waive.api.js → overrideGap/override.gap.api.js} +14 -2
- package/src/saas/internal-api/compliance/api/{waive/waive.service.js → overrideGap/override.gap.service.js} +16 -4
- package/src/saas/internal-api/compliance/index.js +8 -3
- package/src/saas/internal-api/compliance/models/waive/waive.model.js +3 -2
- package/src/saas/internal-api/contractors/api/contractors.service.js +2 -2
- package/src/saas/internal-api/requests/api/requests.service.js +5 -5
- package/src/saas/internal-api/requests/models/create.request.model.js +21 -15
- package/src/saas/internal-api/requirements/api/requirements.service.js +12 -1
package/package.json
CHANGED
|
@@ -4,7 +4,9 @@ const { getOneWeekAgoDate, getOneWeekAheadDate } = require('../../common/utils/t
|
|
|
4
4
|
|
|
5
5
|
const DEFAULT_POLICY_DATE = '24/05/2030';
|
|
6
6
|
const DEFAULT_AM_SCORE = 'A';
|
|
7
|
-
|
|
7
|
+
|
|
8
|
+
//Excluded from creating global record: 'ABC-12345-XYZ', 'ABC-123-XYZ', 'ABC-123'. When GR is needed - use different GL number.
|
|
9
|
+
const DEFAULT_POLICY_NUMBER = 'ABC-12345-XYZ';
|
|
8
10
|
|
|
9
11
|
const {
|
|
10
12
|
certificateIssueDate,
|
|
@@ -113,7 +113,7 @@ const prepareWaivedRecord = async (recordCompany, recordEmail, tabId, requiremen
|
|
|
113
113
|
const recordId = await prepareRecord(recordCompany, recordEmail, complianceStatuses.notCompliant, tabId, requirementId, context);
|
|
114
114
|
|
|
115
115
|
const { data: record } = await contractors.services.getContractorById(recordId, context);
|
|
116
|
-
await compliance.services.
|
|
116
|
+
await compliance.services.overrideGap.waiveAll(record, context);
|
|
117
117
|
|
|
118
118
|
return recordId;
|
|
119
119
|
};
|
|
@@ -27,7 +27,7 @@ const setAccountSettings = async (accountId, settings, context) => {
|
|
|
27
27
|
const updateResponse = await updateAccountSettings(settingsModel, context);
|
|
28
28
|
|
|
29
29
|
if (updateResponse.status !== httpResponseStatusCodes.OK) {
|
|
30
|
-
throw new Error(`Failed to set account: ${accountId} settings\n${updateResponse}`);
|
|
30
|
+
throw new Error(`Failed to set account: ${accountId} settings\n${updateResponse.data}`);
|
|
31
31
|
}
|
|
32
32
|
|
|
33
33
|
return updateResponse;
|
package/src/saas/internal-api/compliance/api/{waive/waive.api.js → overrideGap/override.gap.api.js}
RENAMED
|
@@ -3,7 +3,9 @@ const { backendUrl } = require('../../../../../env').getEnv();
|
|
|
3
3
|
|
|
4
4
|
const Endpoints = {
|
|
5
5
|
waive: contractorId => `${backendUrl}/saas/contractors/${contractorId}/waiver`,
|
|
6
|
-
retract: contractorId => `${backendUrl}/saas/contractors/${contractorId}/waiver
|
|
6
|
+
retract: contractorId => `${backendUrl}/saas/contractors/${contractorId}/waiver`,
|
|
7
|
+
overrideGap: `${backendUrl}/saas/record/override-gap`,
|
|
8
|
+
retractOverride: `${backendUrl}/saas/record/retract-override`
|
|
7
9
|
};
|
|
8
10
|
|
|
9
11
|
const waive = async (contractorId, waiveRequestModel, context) => {
|
|
@@ -18,4 +20,14 @@ const retract = async (contractorId, retractRequestModel, context) => {
|
|
|
18
20
|
return requests.postRequestHandler(Endpoints.retract(contractorId), retractRequestModel, context, {}, { status });
|
|
19
21
|
};
|
|
20
22
|
|
|
21
|
-
|
|
23
|
+
const overrideGap = (waiveRequestModel, isTestingBackwardCompatibility, context) => {
|
|
24
|
+
const headers = {};
|
|
25
|
+
const params = { isTestingBackwardCompatibility };
|
|
26
|
+
return requests.postRequestHandler(Endpoints.overrideGap, waiveRequestModel, context, headers, params);
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
const retractOverride = (retractRequestModel, context) => {
|
|
30
|
+
return requests.postRequestHandler(Endpoints.retractOverride, retractRequestModel, context);
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
module.exports = { waive, retract, overrideGap, retractOverride };
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
const env = require('../../../../../env');
|
|
2
2
|
|
|
3
|
-
const
|
|
3
|
+
const overrideGapApi = require('./override.gap.api');
|
|
4
4
|
const { WaiveRequestModel, RetractRequestModel, WAIVER_REASONS } = require('../../models/waive/waive.model');
|
|
5
5
|
const { validateType } = require('../../../../../common/validations/typeValidations');
|
|
6
6
|
const auditUtil = require('../../utils/auditUtil');
|
|
@@ -11,12 +11,22 @@ const userTypes = require('../../../../../common/consts/userTypes');
|
|
|
11
11
|
|
|
12
12
|
const waive = (waiveRequestModel, context) => {
|
|
13
13
|
validateType(waiveRequestModel, WaiveRequestModel);
|
|
14
|
-
return
|
|
14
|
+
return overrideGapApi.waive(waiveRequestModel.contractorId, waiveRequestModel, context);
|
|
15
15
|
};
|
|
16
16
|
|
|
17
17
|
const retract = (retractRequestModel, context) => {
|
|
18
18
|
validateType(retractRequestModel, RetractRequestModel);
|
|
19
|
-
return
|
|
19
|
+
return overrideGapApi.retract(retractRequestModel.contractorId, retractRequestModel, context);
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
const overrideGap = ({ waiveRequestModel, isTestingBackwardCompatibility = false, context }) => {
|
|
23
|
+
validateType(waiveRequestModel, WaiveRequestModel);
|
|
24
|
+
return overrideGapApi.overrideGap(waiveRequestModel, isTestingBackwardCompatibility, context);
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
const retractOverride = (retractRequestModel, context) => {
|
|
28
|
+
validateType(retractRequestModel, RetractRequestModel);
|
|
29
|
+
return overrideGapApi.retractOverride(retractRequestModel, context);
|
|
20
30
|
};
|
|
21
31
|
|
|
22
32
|
const getWaiveModel = (
|
|
@@ -111,5 +121,7 @@ module.exports = {
|
|
|
111
121
|
retract,
|
|
112
122
|
getWaiveModel,
|
|
113
123
|
getRetractModel,
|
|
114
|
-
getWaiveModelByGap
|
|
124
|
+
getWaiveModelByGap,
|
|
125
|
+
overrideGap,
|
|
126
|
+
retractOverride
|
|
115
127
|
};
|
|
@@ -2,12 +2,13 @@ const auditModels = require('./models/audit/audit.model');
|
|
|
2
2
|
const auditServices = require('./api/audit/audit.service');
|
|
3
3
|
|
|
4
4
|
const waiveModels = require('./models/waive/waive.model');
|
|
5
|
-
const
|
|
5
|
+
const overrideGapServices = require('./api/overrideGap/override.gap.service');
|
|
6
6
|
|
|
7
7
|
const convertServices = require('./api/convert/convert.service');
|
|
8
8
|
const coverageServices = require('./api/coverage/coverage.service');
|
|
9
9
|
|
|
10
10
|
const auditConsts = require('./consts/audit');
|
|
11
|
+
const auditUtils = require('./utils/auditUtil');
|
|
11
12
|
|
|
12
13
|
const models = {
|
|
13
14
|
audit: auditModels,
|
|
@@ -18,11 +19,15 @@ const consts = {
|
|
|
18
19
|
audit: auditConsts
|
|
19
20
|
};
|
|
20
21
|
|
|
22
|
+
const utils = {
|
|
23
|
+
audit: auditUtils
|
|
24
|
+
};
|
|
25
|
+
|
|
21
26
|
const services = {
|
|
22
27
|
audit: auditServices,
|
|
23
|
-
|
|
28
|
+
overrideGap: overrideGapServices,
|
|
24
29
|
convert: convertServices,
|
|
25
30
|
coverage: coverageServices
|
|
26
31
|
};
|
|
27
32
|
|
|
28
|
-
module.exports = { services, models, consts };
|
|
33
|
+
module.exports = { services, models, consts, utils };
|
|
@@ -5,8 +5,9 @@ const WAIVE_ACTIONS = {
|
|
|
5
5
|
|
|
6
6
|
const WAIVER_REASONS = {
|
|
7
7
|
BUSINESS_DECISION: 'Business Decision',
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
EXECUTIVE_APPROVAL: 'Executive Approval',
|
|
9
|
+
ACCEPT_NO_EXPOSURE: 'Accept / No Exposure',
|
|
10
|
+
NO_EXPOSURE: 'No Exposure' // DEPRECATED - BACKWARD COMPATIBILITY
|
|
10
11
|
};
|
|
11
12
|
|
|
12
13
|
function WaiveRequestModel({
|
|
@@ -127,9 +127,9 @@ const deleteAllRecordsInAccount = async (accountId, context, { activationStatus
|
|
|
127
127
|
}
|
|
128
128
|
};
|
|
129
129
|
|
|
130
|
-
const getRecordVerificationModel = async (recordId, context) => {
|
|
130
|
+
const getRecordVerificationModel = async (recordId, context, { requirementId, requirementDateModified } = {}) => {
|
|
131
131
|
const { data: recordData } = await getContractorById(recordId, context);
|
|
132
|
-
return new RecordModifyDateVerificationModel(recordData.id, { contractorDateModified: recordData.dateModified });
|
|
132
|
+
return new RecordModifyDateVerificationModel(recordData.id, { contractorDateModified: recordData.dateModified, requirementId, requirementDateModified });
|
|
133
133
|
};
|
|
134
134
|
|
|
135
135
|
const getAssignRequirementModel = (requirementId, companyName, emailAddress) => {
|
|
@@ -52,7 +52,7 @@ const getRequestsByAccountId = (accountId, context, activationStatus) => {
|
|
|
52
52
|
return requestsAPI.getRequestsByAccountId(accountId, context, params);
|
|
53
53
|
};
|
|
54
54
|
|
|
55
|
-
const getCreateRequestModel = (requirementId, contractor, { tabId, publicLink, sendMail } = {}) => {
|
|
55
|
+
const getCreateRequestModel = (requirementId, contractor, { tabId, publicLink, sendMail, requirementDateModified } = {}) => {
|
|
56
56
|
const { recordType, email, companyName, additionalEmails } = contractor;
|
|
57
57
|
const contractorInfoModel = new ContractorInfo(recordType, email, companyName, additionalEmails);
|
|
58
58
|
|
|
@@ -63,12 +63,13 @@ const getCreateRequestModel = (requirementId, contractor, { tabId, publicLink, s
|
|
|
63
63
|
{
|
|
64
64
|
tabId,
|
|
65
65
|
publicLink,
|
|
66
|
-
sendMail
|
|
66
|
+
sendMail,
|
|
67
|
+
requirementDateModified
|
|
67
68
|
}
|
|
68
69
|
);
|
|
69
70
|
};
|
|
70
71
|
|
|
71
|
-
const getOrCreateRequest = async (context, tabId, requirementId, contractor, activationStatus, { sendMail } = {}) => {
|
|
72
|
+
const getOrCreateRequest = async (context, tabId, requirementId, contractor, activationStatus, { sendMail, requirementDateModified } = {}) => {
|
|
72
73
|
const { data: existingRequests } = await getRequestsByTabId(tabId, context, activationStatus);
|
|
73
74
|
|
|
74
75
|
const filteredRequests = Array.isArray(existingRequests) ? existingRequests.filter(({ record }) =>
|
|
@@ -78,8 +79,7 @@ const getOrCreateRequest = async (context, tabId, requirementId, contractor, act
|
|
|
78
79
|
return filteredRequests[0];
|
|
79
80
|
}
|
|
80
81
|
|
|
81
|
-
const createContractorModel = getCreateRequestModel(requirementId, contractor, { tabId, sendMail });
|
|
82
|
-
//JON-8788: add optional parameter dateModified otherwise doesn't work for updated req
|
|
82
|
+
const createContractorModel = getCreateRequestModel(requirementId, contractor, { tabId, sendMail, requirementDateModified });
|
|
83
83
|
const createContractorResponse = await createRequest(createContractorModel, context);
|
|
84
84
|
return createContractorResponse.data;
|
|
85
85
|
};
|
|
@@ -1,27 +1,33 @@
|
|
|
1
1
|
const { getEnv } = require('../../../../env');
|
|
2
2
|
const { credentials } = getEnv();
|
|
3
3
|
|
|
4
|
-
const { validateType } = require('../../../../common/validations/typeValidations');
|
|
4
|
+
const { validateType, validateDateString } = require('../../../../common/validations/typeValidations');
|
|
5
5
|
|
|
6
6
|
const superUserEmail = credentials.superUser;
|
|
7
7
|
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
8
|
+
class CreateRequestModel {
|
|
9
|
+
constructor(requirementId, inviterEmail, vendorInfo, { tabId = null, sendMail = false, publicLink, requirementDateModified } = {}) {
|
|
10
|
+
this.reqId = requirementId;
|
|
11
|
+
this.inviterEmail = inviterEmail || superUserEmail;
|
|
12
|
+
this.vendorInfo = vendorInfo;
|
|
13
|
+
this.disableMail = !sendMail;
|
|
14
|
+
this.tabId = tabId;
|
|
15
|
+
this.publicLink = publicLink;
|
|
16
|
+
this.dateModified = requirementDateModified;
|
|
15
17
|
|
|
16
|
-
|
|
18
|
+
vendorInfo && validateType(vendorInfo, ContractorInfo);
|
|
19
|
+
requirementDateModified && validateDateString(requirementDateModified);
|
|
20
|
+
}
|
|
17
21
|
}
|
|
18
22
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
23
|
+
class ContractorInfo {
|
|
24
|
+
constructor(recordType, email, companyName, additionalEmails) {
|
|
25
|
+
this.recordType = recordType;
|
|
26
|
+
this.email = email;
|
|
27
|
+
this.companyName = companyName;
|
|
28
|
+
this.title = email;
|
|
29
|
+
this.additionalEmails = additionalEmails;
|
|
30
|
+
}
|
|
25
31
|
}
|
|
26
32
|
|
|
27
33
|
module.exports = { CreateRequestModel, ContractorInfo };
|
|
@@ -106,6 +106,16 @@ const getUpdatedRequirementModel = async (updatedRequirement, tabId, context, {
|
|
|
106
106
|
return requirementUtils.getUpdateRequirementModel(updatedRequirement);
|
|
107
107
|
};
|
|
108
108
|
|
|
109
|
+
const getRequirementDateModified = async (tabId, requirementName, context) => {
|
|
110
|
+
const requirementRes = await getRequirementByName(tabId, requirementName, context);
|
|
111
|
+
|
|
112
|
+
if (!requirementRes) {
|
|
113
|
+
throw new Error(`Failed to retrieve requirement - ${requirementName}`);
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
return requirementRes.dateModified;
|
|
117
|
+
};
|
|
118
|
+
|
|
109
119
|
module.exports = {
|
|
110
120
|
createRequirement,
|
|
111
121
|
getRequirementById,
|
|
@@ -119,5 +129,6 @@ module.exports = {
|
|
|
119
129
|
deleteRequirementByName,
|
|
120
130
|
deleteAllRequirementsInTabs,
|
|
121
131
|
getCreateRequirementModel,
|
|
122
|
-
getUpdatedRequirementModel
|
|
132
|
+
getUpdatedRequirementModel,
|
|
133
|
+
getRequirementDateModified
|
|
123
134
|
};
|