@getjones/test-infra 4.5.7 → 4.5.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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@getjones/test-infra",
3
- "version": "4.5.7",
3
+ "version": "4.5.9",
4
4
  "description": "Providing internal and openapi interface",
5
5
  "main": "src/index.js",
6
6
  "scripts": {
@@ -14,5 +14,31 @@ module.exports = {
14
14
  isAuditingAiEnabled: {
15
15
  on: { isAuditingAiEnabled: true },
16
16
  off: { isAuditingAiEnabled: false }
17
+ },
18
+ integrations: {
19
+ vendorsAndTenantsON: {
20
+ integrations: {
21
+ isVendorIntegrationsEnabled: true,
22
+ isTenantIntegrationsEnabled: true
23
+ }
24
+ },
25
+ vendorsAndTenantsOFF: {
26
+ integrations: {
27
+ isVendorIntegrationsEnabled: false,
28
+ isTenantIntegrationsEnabled: false
29
+ }
30
+ },
31
+ vendorsON: {
32
+ integrations: {
33
+ isVendorIntegrationsEnabled: true,
34
+ isTenantIntegrationsEnabled: false
35
+ }
36
+ },
37
+ tenantsON: {
38
+ integrations: {
39
+ isVendorIntegrationsEnabled: false,
40
+ isTenantIntegrationsEnabled: true
41
+ }
42
+ }
17
43
  }
18
44
  };
@@ -1,5 +1,6 @@
1
1
  module.exports = {
2
- COMPLAINCE_ISSUE: 'complianceIssue',
2
+ COMPLIANCE_ISSUE: 'complianceIssue',
3
3
  DRAFT: 'draft',
4
- MUTED: 'muted'
4
+ MUTED: 'muted',
5
+ NON_INTEGRATED: 'nonIntegrated'
5
6
  };
@@ -1,6 +1,11 @@
1
1
  const sortBy = {
2
2
  companyName: 'company_name',
3
- coi: 'coi'
3
+ coi: 'coi',
4
+ externalRecordId: 'external_record_id',
5
+ insuranceStatus: 'insurance_status',
6
+ expiryDate: 'min_policy_expiry',
7
+ projectName: 'project_name',
8
+ accountName: 'companyname'
4
9
  };
5
10
 
6
11
  const sortOrder = {
@@ -36,7 +36,8 @@ const prepareMetadataForAudit = async (
36
36
  recordId,
37
37
  {
38
38
  isProjectOnboarding = false,
39
- shouldSendNotificationToPM = false
39
+ shouldSendNotificationToPM = false,
40
+ dateStartedAudit
40
41
  } = {}) => {
41
42
  const metadata = {
42
43
  accountId,
@@ -50,19 +51,20 @@ const prepareMetadataForAudit = async (
50
51
  const isReauditResponse = await isReaudit(recordId, auditorContext);
51
52
  metadata.isReaudit = isReauditResponse.data.isReaudit;
52
53
 
54
+ // const enterAuditResponse = await auditApi.enterAudit(recordId, auditorContext); //moved up here //remove from here
55
+
53
56
  const recordDetailsResponse = await auditApi.getAuditRecordModel(recordId, auditorContext);
54
57
  const recordDetails = recordDetailsResponse.data;
55
58
 
56
59
  const auditResponse = await auditApi.getAuditMetadata(recordDetails.auditId, auditorContext);
57
60
  const { currentAudit } = auditResponse.data;
58
61
 
59
- const enterAuditResponse = await auditApi.enterAudit(recordId, auditorContext);
60
-
61
62
  metadata.certificateId = recordDetails.certificateDetails.certificateuploadId;
62
63
  metadata.auditDates = {
63
64
  contractorId: recordId,
64
65
  contractorDateModified: recordDetails.dateModified,
65
- dateStartedAudit: enterAuditResponse.data.dateStartedAudit,
66
+ dateStartedAudit: dateStartedAudit,
67
+ // dateStartedAudit: enterAuditResponse.data.dateStartedAudit,
66
68
  contractorOverrideDateModified: recordDetails.contractorOverrideDateModified,
67
69
  contractCreateDate: recordDetails.contractCreateDate,
68
70
  auditDateModified: currentAudit.dateModified
@@ -232,6 +232,7 @@ const prepareRecordForAutocomplete = async (
232
232
  }
233
233
 
234
234
  const auditConfig = auditConfigs.getCompliantAuditConfig({ glPolicyNumber });
235
+
235
236
  const auditResponse = await compliance.services.audit.auditRecord(
236
237
  auditorContext,
237
238
  accountId,
Binary file
@@ -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,14 +7,22 @@ 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
- const submitAudit = (auditRequestModel, context) => {
16
+ const submitAudit = async (auditRequestModel, context, { expectError } = {}) => {
16
17
  validateType(auditRequestModel, AuditRequestModel);
17
- return auditApi.submitAudit(auditRequestModel, context);
18
+
19
+ const submitAuditResponse = await auditApi.submitAudit(auditRequestModel, context);
20
+
21
+ if (submitAuditResponse.status !== httpResponseStatusCodes.NO_CONTENT && !expectError) {
22
+ throw new Error(`Failed to submit audit for record: ${auditRequestModel.auditDates.contractorId}. \n${submitAuditResponse.status}`);
23
+ }
24
+
25
+ return submitAuditResponse;
18
26
  };
19
27
 
20
28
  const revertCoi = (contractorId, dateModified, context) => {
@@ -35,24 +43,31 @@ const getAuditorContractorList = (auditListParametersModel, context) => {
35
43
  return auditApi.getAuditorContractorList(auditListParametersModel, context);
36
44
  };
37
45
 
38
- const getAuditRequestModelAfterEnterAudit = async (auditConfigForModelAfterEnterAudit, accountId, projectId, requirementId, recordId, context) => {
39
- const metadata = await prepareMetadataForAudit(context, accountId, projectId, requirementId, recordId);
40
- const auditEntities = await getAuditEntities(recordId, auditConfigForModelAfterEnterAudit, context);
46
+ const getAuditRequestModelAfterEnterAudit = async (accountId, projectId, requirementId, recordId, auditConfig, context, { shouldSendNotificationToPM, dateStartedAudit } = {}) => {
47
+ const metadata = await prepareMetadataForAudit(context, accountId, projectId, requirementId, recordId, { shouldSendNotificationToPM, dateStartedAudit });
48
+ const auditEntities = await getAuditEntities(recordId, auditConfig, context);
41
49
  const auditRequestModel = getAuditRequestModel(metadata, auditEntities);
42
50
 
43
51
  return auditRequestModel;
44
52
  };
45
53
 
46
- const enterAudit = async (recordId, context, { auditConfigForModelAfterEnterAudit, accountId, projectId, requirementId } = {}) => {
54
+ const enterAudit = async (recordId, context, { shouldSendNotificationToPM, shouldGetAuditRequestModelAfterEnterAudit, accountId, projectId, requirementId, auditConfig } = {}) => {
47
55
  const enterAuditResponse = await auditApi.enterAudit(recordId, context);
48
56
 
49
57
  if (enterAuditResponse.status !== httpResponseStatusCodes.OK) {
50
58
  throw Error(`Failed to enter audit\n$response - ${enterAuditResponse.status}\n${JSON.stringify(enterAuditResponse.data)}`);
51
59
  }
52
60
 
53
- return auditConfigForModelAfterEnterAudit ?
54
- getAuditRequestModelAfterEnterAudit(auditConfigForModelAfterEnterAudit, accountId, projectId, requirementId, recordId, context) :
55
- enterAuditResponse;
61
+ if (shouldGetAuditRequestModelAfterEnterAudit) {
62
+ const dateStartedAudit = enterAuditResponse.data.dateStartedAudit;
63
+ return getAuditRequestModelAfterEnterAudit(accountId, projectId, requirementId, recordId, auditConfig, context, { shouldSendNotificationToPM, dateStartedAudit });
64
+ } else {
65
+ return enterAuditResponse;
66
+ }
67
+
68
+ // return auditConfig ?
69
+ // getAuditRequestModelAfterEnterAudit(auditConfig, accountId, projectId, requirementId, recordId, context) :
70
+ // enterAuditResponse;
56
71
  };
57
72
 
58
73
  const getAuditRecordModel = (recordId, context) => {
@@ -80,7 +95,8 @@ const prepareMetadataForAudit = async (
80
95
  recordId,
81
96
  {
82
97
  isProjectOnboarding,
83
- shouldSendNotificationToPM
98
+ shouldSendNotificationToPM,
99
+ dateStartedAudit
84
100
  } = {}
85
101
  ) => {
86
102
  return complianceUtil.prepareMetadataForAudit(
@@ -91,7 +107,8 @@ const prepareMetadataForAudit = async (
91
107
  recordId,
92
108
  {
93
109
  isProjectOnboarding,
94
- shouldSendNotificationToPM
110
+ shouldSendNotificationToPM,
111
+ dateStartedAudit
95
112
  }
96
113
  );
97
114
  };
@@ -169,19 +186,31 @@ const auditRecord = async function(
169
186
  requirementId,
170
187
  recordId,
171
188
  auditConfig,
172
- { shouldSendNotificationToPM = false } = {}
189
+ { shouldSendNotificationToPM = false, expectError } = {}
173
190
  ) {
174
- const auditMetadata = await prepareMetadataForAudit(auditorContext, accountId, projectId, requirementId, recordId, { shouldSendNotificationToPM });
191
+ // const dateStartedAudit = AuditRequestModel.auditDates.dateStartedAudit;
192
+ // const auditMetadata = await prepareMetadataForAudit(auditorContext, accountId, projectId, requirementId, recordId, { shouldSendNotificationToPM, dateStartedAudit });
175
193
 
176
- const auditApiConfig = dataTypeUtils.isObject(auditConfig) ?
194
+ const apiAuditConfig = dataTypeUtils.isObject(auditConfig) ?
177
195
  auditUtil.parseAuditConfig(cloneObject(auditConfig)) :
178
196
  auditConfig;
179
197
 
180
- const auditEntities = await getAuditEntities(recordId, auditApiConfig, auditorContext);
181
- const auditRequestModel = getAuditRequestModel(auditMetadata, auditEntities);
198
+ //enter audit + extract enterAuditResponse.data.dateStartedAudit and send it to prepareMetadataForAudit
199
+ const auditRequestModel = await enterAudit(recordId, auditorContext, { shouldSendNotificationToPM, shouldGetAuditRequestModelAfterEnterAudit: true, auditConfig: apiAuditConfig, accountId, projectId, requirementId });
200
+
201
+ // const auditEntities = await getAuditEntities(recordId, apiAuditConfig, auditorContext);
202
+ // const auditRequestModel = getAuditRequestModel(auditMetadata, auditEntities);
203
+ // const auditResponse = await submitAudit(auditRequestModel, auditorContext); // switched to this
204
+ //call getAuditRequestModelAfterEnterAudit and not the model itself
205
+ return submitAudit(auditRequestModel, auditorContext, { expectError });
206
+ // return submitAudit(accountId, projectId, requirementId, recordId, apiAuditConfig, auditorContext, { shouldSendNotificationToPM, dateStartedAudit, expectError });
207
+
208
+ // const auditResponse = await audit(auditRequestModel, auditorContext);
209
+ // if (auditResponse.status !== httpResponseStatusCodes.NO_CONTENT && !expectError) {
210
+ // throw new Error(`Failed to submit audit for record: ${recordId}. \n${auditResponse.status}`); //see what comes back
211
+ // }
182
212
 
183
- const auditResponse = await audit(auditRequestModel, auditorContext);
184
- return auditResponse;
213
+ // return auditResponse;
185
214
  };
186
215
 
187
216
  const getOnHoldModel = (auditId, onHoldReason) => {
@@ -272,7 +301,7 @@ const getAttributeKey = attributeName => {
272
301
  };
273
302
 
274
303
  module.exports = {
275
- audit,
304
+ // audit,
276
305
  submitAudit,
277
306
  revertCoi,
278
307
  isReaudit,
@@ -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
  };
@@ -4,7 +4,7 @@ class HomepageRequestCriteriaModel {
4
4
  constructor({
5
5
  sortBy,
6
6
  sortOrder,
7
- attentionTab = AttentionTab.COMPLAINCE_ISSUE,
7
+ attentionTab = AttentionTab.COMPLIANCE_ISSUE,
8
8
  pageNumber = 1
9
9
  } = {}) {
10
10
  this.sortBy = sortBy,