@getjones/test-infra 4.5.6 → 4.5.8

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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@getjones/test-infra",
3
- "version": "4.5.6",
3
+ "version": "4.5.8",
4
4
  "description": "Providing internal and openapi interface",
5
5
  "main": "src/index.js",
6
6
  "scripts": {
@@ -10,5 +10,31 @@ module.exports = {
10
10
  isPolicyVerificationEnabled: {
11
11
  on: { hasPolicyVerification: true },
12
12
  off: { hasPolicyVerification: false }
13
+ },
14
+ integrations: {
15
+ vendorsAndTenantsON: {
16
+ integrations: {
17
+ isVendorIntegrationsEnabled: true,
18
+ isTenantIntegrationsEnabled: true
19
+ }
20
+ },
21
+ vendorsAndTenantsOFF: {
22
+ integrations: {
23
+ isVendorIntegrationsEnabled: false,
24
+ isTenantIntegrationsEnabled: false
25
+ }
26
+ },
27
+ vendorsON: {
28
+ integrations: {
29
+ isVendorIntegrationsEnabled: true,
30
+ isTenantIntegrationsEnabled: false
31
+ }
32
+ },
33
+ tenantsON: {
34
+ integrations: {
35
+ isVendorIntegrationsEnabled: false,
36
+ isTenantIntegrationsEnabled: true
37
+ }
38
+ }
13
39
  }
14
40
  };
@@ -1,5 +1,6 @@
1
1
  module.exports = {
2
2
  COMPLAINCE_ISSUE: 'complianceIssue',
3
3
  DRAFT: 'draft',
4
- MUTED: 'muted'
4
+ MUTED: 'muted',
5
+ NON_INTEGRATED: 'nonIntegrated'
5
6
  };
@@ -50,14 +50,14 @@ const prepareMetadataForAudit = async (
50
50
  const isReauditResponse = await isReaudit(recordId, auditorContext);
51
51
  metadata.isReaudit = isReauditResponse.data.isReaudit;
52
52
 
53
+ const enterAuditResponse = await auditApi.enterAudit(recordId, auditorContext); //moved up here
54
+
53
55
  const recordDetailsResponse = await auditApi.getAuditRecordModel(recordId, auditorContext);
54
56
  const recordDetails = recordDetailsResponse.data;
55
57
 
56
58
  const auditResponse = await auditApi.getAuditMetadata(recordDetails.auditId, auditorContext);
57
59
  const { currentAudit } = auditResponse.data;
58
60
 
59
- const enterAuditResponse = await auditApi.enterAudit(recordId, auditorContext);
60
-
61
61
  metadata.certificateId = recordDetails.certificateDetails.certificateuploadId;
62
62
  metadata.auditDates = {
63
63
  contractorId: recordId,
@@ -20,13 +20,13 @@ const Endpoints = {
20
20
  auditRawData: recordId => `${backendUrl}/saas/integration-tests/record/${recordId}/audit/raw`
21
21
  };
22
22
 
23
- const audit = async (contractorId, auditRequestModel, context) => {
24
- await enterAudit(contractorId, context);
25
- const auditResponse = await getAuditMetadata(auditRequestModel.auditId, context);
26
- const { currentAudit } = auditResponse.data;
27
- auditRequestModel.auditDates.auditDateModified = currentAudit.dateModified;
28
- return submitAudit(auditRequestModel, context);
29
- };
23
+ // const audit = async (contractorId, auditRequestModel, context) => {
24
+ // await enterAudit(contractorId, context);
25
+ // const auditResponse = await getAuditMetadata(auditRequestModel.auditId, context);
26
+ // const { currentAudit } = auditResponse.data;
27
+ // auditRequestModel.auditDates.auditDateModified = currentAudit.dateModified;
28
+ // return submitAudit(auditRequestModel, context);
29
+ // };
30
30
 
31
31
  const submitAudit = async (auditRequestModel, context) => {
32
32
  return requests.postRequestHandler(Endpoints.audit, auditRequestModel, context);
@@ -95,7 +95,7 @@ const getAuditRawData = (recordId, context) => {
95
95
  };
96
96
 
97
97
  module.exports = {
98
- audit,
98
+ // audit,
99
99
  submitAudit,
100
100
  revertCoi,
101
101
  wrongCoi,
@@ -7,10 +7,11 @@ const { cloneObject } = require('../../../../../common/utils/objectUtils');
7
7
  const complianceUtil = require('../../../../../common/utils/complianceUtil');
8
8
  const httpResponseStatusCodes = require('../../../../../common/httpResponseStatusCodes.json');
9
9
 
10
- const audit = (auditRequestModel, context) => {
11
- validateType(auditRequestModel, AuditRequestModel);
12
- return auditApi.audit(auditRequestModel.auditData.contractorId, auditRequestModel, context);
13
- };
10
+ // const audit = (auditRequestModel, context) => {
11
+ // validateType(auditRequestModel, AuditRequestModel);
12
+ // // return auditApi.audit(auditRequestModel.auditData.contractorId, auditRequestModel, context);
13
+ // return auditApi.submitAudit(auditRequestModel, context); //switched to this
14
+ // };
14
15
 
15
16
  const submitAudit = (auditRequestModel, context) => {
16
17
  validateType(auditRequestModel, AuditRequestModel);
@@ -35,24 +36,31 @@ const getAuditorContractorList = (auditListParametersModel, context) => {
35
36
  return auditApi.getAuditorContractorList(auditListParametersModel, context);
36
37
  };
37
38
 
38
- const getAuditRequestModelAfterEnterAudit = async (auditConfigForModelAfterEnterAudit, accountId, projectId, requirementId, recordId, context) => {
39
+ const getAuditRequestModelAfterEnterAudit = async (accountId, projectId, requirementId, recordId, auditConfig, context) => {
39
40
  const metadata = await prepareMetadataForAudit(context, accountId, projectId, requirementId, recordId);
40
- const auditEntities = await getAuditEntities(recordId, auditConfigForModelAfterEnterAudit, context);
41
+ const auditEntities = await getAuditEntities(recordId, auditConfig, context);
41
42
  const auditRequestModel = getAuditRequestModel(metadata, auditEntities);
42
43
 
43
44
  return auditRequestModel;
44
45
  };
45
46
 
46
- const enterAudit = async (recordId, context, { auditConfigForModelAfterEnterAudit, accountId, projectId, requirementId } = {}) => {
47
- const enterAuditResponse = await auditApi.enterAudit(recordId, context);
47
+ const enterAudit = async (recordId, context, { shouldGetAuditRequestModelAfterEnterAudit, auditConfig, accountId, projectId, requirementId } = {}) => {
48
+ // const enterAudit = async (recordId, context, { auditConfigForModelAfterEnterAudit, accountId, projectId, requirementId } = {}) => {
49
+ if (shouldGetAuditRequestModelAfterEnterAudit) {
50
+ return getAuditRequestModelAfterEnterAudit(accountId, projectId, requirementId, recordId, auditConfig, context);
51
+ } else {
52
+ const enterAuditResponse = await auditApi.enterAudit(recordId, context);
53
+
54
+ if (enterAuditResponse.status !== httpResponseStatusCodes.OK) {
55
+ throw Error(`Failed to enter audit\n$response - ${enterAuditResponse.status}\n${JSON.stringify(enterAuditResponse.data)}`);
56
+ }
48
57
 
49
- if (enterAuditResponse.status !== httpResponseStatusCodes.OK) {
50
- throw Error(`Failed to enter audit\n$response - ${enterAuditResponse.status}\n${JSON.stringify(enterAuditResponse.data)}`);
58
+ return enterAuditResponse;
51
59
  }
52
60
 
53
- return auditConfigForModelAfterEnterAudit ?
54
- getAuditRequestModelAfterEnterAudit(auditConfigForModelAfterEnterAudit, accountId, projectId, requirementId, recordId, context) :
55
- enterAuditResponse;
61
+ // return auditConfig ?
62
+ // getAuditRequestModelAfterEnterAudit(auditConfig, accountId, projectId, requirementId, recordId, context) :
63
+ // enterAuditResponse;
56
64
  };
57
65
 
58
66
  const getAuditRecordModel = (recordId, context) => {
@@ -180,7 +188,8 @@ const auditRecord = async function(
180
188
  const auditEntities = await getAuditEntities(recordId, auditApiConfig, auditorContext);
181
189
  const auditRequestModel = getAuditRequestModel(auditMetadata, auditEntities);
182
190
 
183
- const auditResponse = await audit(auditRequestModel, auditorContext);
191
+ const auditResponse = await submitAudit(auditRequestModel, auditorContext); // switched to this
192
+ // const auditResponse = await audit(auditRequestModel, auditorContext);
184
193
  return auditResponse;
185
194
  };
186
195
 
@@ -272,7 +281,7 @@ const getAttributeKey = attributeName => {
272
281
  };
273
282
 
274
283
  module.exports = {
275
- audit,
284
+ // audit,
276
285
  submitAudit,
277
286
  revertCoi,
278
287
  isReaudit,
@@ -9,13 +9,24 @@ const doesRecordHaveAgreementStep = async (recordId, context) => {
9
9
  const recordDataResponse = await getRecordHubDataByRecordId(recordId, context);
10
10
 
11
11
  if (recordDataResponse.status !== httpResponseStatusCodes.OK) {
12
- throw new Error(`Failed to get record hub data\n${recordDataResponse.status}`);
12
+ throw new Error(`Failed to get record hub data, response status - ${recordDataResponse.status}`);
13
13
  }
14
14
 
15
15
  return recordDataResponse?.data?.isVendorsAgreementSignNeeded;
16
16
  };
17
17
 
18
+ const isFullPolicyCopyInRequirementByRecordId = async (recordId, context) => {
19
+ const recordDataResponse = await getRecordHubDataByRecordId(recordId, context);
20
+
21
+ if (recordDataResponse.status !== httpResponseStatusCodes.OK) {
22
+ throw new Error(`Failed to get record hub data, response status - ${recordDataResponse.status}`);
23
+ }
24
+
25
+ return recordDataResponse?.data?.isFullPolicyCopyInRequirement;
26
+ };
27
+
18
28
  module.exports = {
19
29
  getRecordHubDataByRecordId,
20
- doesRecordHaveAgreementStep
30
+ doesRecordHaveAgreementStep,
31
+ isFullPolicyCopyInRequirementByRecordId
21
32
  };
@@ -21,7 +21,8 @@ const Endpoints = {
21
21
  homePageRequestsCount: `${backendUrl}/saas/requests/homepage/count`,
22
22
  draftFilterCounters: tabId => `${backendUrl}/saas/tab/${tabId}/requests/draft/filter/counter`,
23
23
  activityStatusCounter: tabId => `${backendUrl}/saas/tab/${tabId}/requests/activity-status/count`,
24
- requestsCounters: tabId => `${backendUrl}/saas/tab/${tabId}/requests/counters`
24
+ requestsCounters: tabId => `${backendUrl}/saas/tab/${tabId}/requests/counters`,
25
+ showIntegrations: `${backendUrl}/saas/requests/homepage/show-integrations`
25
26
  };
26
27
 
27
28
  const createRequest = (createRequestModel, context) => {
@@ -83,6 +84,10 @@ const getHomePageRequests = (requestListCriteriaModel, context) => {
83
84
  return requests.postRequestHandler(Endpoints.homePageRequests, requestListCriteriaModel, context);
84
85
  };
85
86
 
87
+ const isIntegrationsEnabled = context => {
88
+ return requests.getRequestHandler(Endpoints.showIntegrations, {}, context);
89
+ };
90
+
86
91
  const getHomePageRequestsCount = context => {
87
92
  return requests.getRequestHandler(Endpoints.homePageRequestsCount, {}, context);
88
93
  };
@@ -122,5 +127,6 @@ module.exports = {
122
127
  getDraftRequestList,
123
128
  getDraftFilterCountersByTabId,
124
129
  getActivityStatusCounterByTabId,
125
- getRequestsCountersByTabId
130
+ getRequestsCountersByTabId,
131
+ isIntegrationsEnabled
126
132
  };
@@ -270,6 +270,16 @@ const getRequestsCountersByTabId = async (tabId, context) => {
270
270
  return response.data;
271
271
  };
272
272
 
273
+ const isIntegrationsEnabled = async context => {
274
+ const response = await requestsAPI.isIntegrationsEnabled(context);
275
+
276
+ if (response.status !== httpResponseStatusCodes.OK) {
277
+ throw Error(`Failed to get the integrations enable status - ${response.status}`);
278
+ }
279
+
280
+ return response.data;
281
+ };
282
+
273
283
  module.exports = {
274
284
  createRequest,
275
285
  getAutocompleteAutoSelect,
@@ -297,5 +307,6 @@ module.exports = {
297
307
  getDraftRequestListByTabId,
298
308
  getDraftFilterCountersByTabId,
299
309
  getActivityStatusCounterByTabId,
300
- getRequestsCountersByTabId
310
+ getRequestsCountersByTabId,
311
+ isIntegrationsEnabled
301
312
  };
@@ -98,9 +98,11 @@ const deleteRequirementByName = async (requirementName, tabId, context) => {
98
98
  const deleteAllRequirementsInTabs = async (tabIds, context) => {
99
99
  const failedToDeleteRequirements = [];
100
100
  const successfulDeleteRes = [];
101
+ let requirementsToDelete = [];
101
102
 
102
103
  for (const tabId of tabIds) {
103
104
  const { data: existingRequirements } = await getRequirementsByTabId(tabId, context);
105
+ requirementsToDelete = existingRequirements || [];
104
106
 
105
107
  for (const requirement of existingRequirements) {
106
108
  const response = await deleteByRequirementId(requirement.id, context);
@@ -110,6 +112,11 @@ const deleteAllRequirementsInTabs = async (tabIds, context) => {
110
112
  failedToDeleteRequirements.push(response);
111
113
  }
112
114
 
115
+ if (response.data.result === 'linked') {
116
+ console.error('Requirement is linked to a record and cannot be deleted', requirement.id);
117
+ failedToDeleteRequirements.push(response);
118
+ }
119
+
113
120
  if (response.status === httpResponseStatusCodes.OK) {
114
121
  successfulDeleteRes.push(response.data.result);
115
122
  }
@@ -117,7 +124,7 @@ const deleteAllRequirementsInTabs = async (tabIds, context) => {
117
124
  }
118
125
 
119
126
  if (failedToDeleteRequirements.length) {
120
- throw Error(`Failed to delete ${failedToDeleteRequirements.length} of ${existingRequirements.length} requirements in account. Failed with status: ${ failedToDeleteRequirements[0].status }`);
127
+ throw Error(`Failed to delete ${failedToDeleteRequirements.length} of ${requirementsToDelete.length} requirements in account. Failed with status: ${ failedToDeleteRequirements[0].status }`);
121
128
  }
122
129
 
123
130
  return successfulDeleteRes;