@getjones/test-infra 4.4.13 → 4.4.15

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.
Files changed (231) hide show
  1. package/package.json +30 -30
  2. package/src/common/commonFlows/auth/auth.js +40 -40
  3. package/src/common/commonFlows/index.js +4 -4
  4. package/src/common/commonFlows/records/records.js +243 -243
  5. package/src/common/consts/accountSettings.js +14 -14
  6. package/src/common/consts/activationStatuses.js +6 -6
  7. package/src/common/consts/autocomplete.js +10 -10
  8. package/src/common/consts/constantsForRecordsSortingAndFilters.js +40 -40
  9. package/src/common/consts/dashboardCharts.js +18 -18
  10. package/src/common/consts/ocrStatuses.js +6 -6
  11. package/src/common/consts/projectSettings.js +21 -21
  12. package/src/common/consts/recordTypes.js +5 -5
  13. package/src/common/consts/s3FileTypes.js +13 -13
  14. package/src/common/consts/userRoles.js +6 -6
  15. package/src/common/consts/userTypes.js +8 -8
  16. package/src/common/errorCodes.js +3 -3
  17. package/src/common/httpResponseStatusCodes.json +11 -11
  18. package/src/common/httpResponseTypes.json +2 -2
  19. package/src/common/requests/apiKeyAuth/requests.js +44 -44
  20. package/src/common/requests/cookieAuth/requests.js +40 -40
  21. package/src/common/requests/internalAuth/requests.js +48 -48
  22. package/src/common/requests/requestHandlers.js +80 -80
  23. package/src/common/utils/complianceUtil.js +114 -114
  24. package/src/common/utils/configsUtil.js +22 -22
  25. package/src/common/utils/dataTypeUtils.js +41 -41
  26. package/src/common/utils/numberUtils.js +22 -22
  27. package/src/common/utils/objectUtils.js +7 -7
  28. package/src/common/utils/timeUtils.js +177 -177
  29. package/src/common/validations/errorValidation.js +16 -16
  30. package/src/common/validations/typeValidations.js +36 -36
  31. package/src/defaults/configs/auditConfigs.js +125 -125
  32. package/src/defaults/configs/coverage.js +227 -227
  33. package/src/defaults/configs/polices.js +75 -75
  34. package/src/defaults/configs/requirement.js +32 -32
  35. package/src/defaults/index.js +6 -6
  36. package/src/env.js +57 -57
  37. package/src/factory/globalRecord/globalRecord.js +43 -43
  38. package/src/factory/index.js +8 -8
  39. package/src/factory/records/records.js +229 -229
  40. package/src/factory/users/users.js +86 -86
  41. package/src/index.js +97 -97
  42. package/src/saas/internal-api/accountDirectory/api/accountDirectory.api.js +50 -50
  43. package/src/saas/internal-api/accountDirectory/api/accountDirectory.service.js +182 -182
  44. package/src/saas/internal-api/accountDirectory/index.js +4 -4
  45. package/src/saas/internal-api/accountDirectory/models/accountDirectory.model.js +40 -40
  46. package/src/saas/internal-api/accounts/api/core/accounts.core.api.js +35 -35
  47. package/src/saas/internal-api/accounts/api/core/accounts.core.service.js +93 -93
  48. package/src/saas/internal-api/accounts/api/emailCustomization/accounts.email.customizations.api.js +29 -29
  49. package/src/saas/internal-api/accounts/api/emailCustomization/accounts.email.customizations.service.js +61 -61
  50. package/src/saas/internal-api/accounts/api/openapi/accounts.openapi.api.js +48 -48
  51. package/src/saas/internal-api/accounts/api/openapi/accounts.openapi.service.js +74 -74
  52. package/src/saas/internal-api/accounts/api/settings/settings.api.js +21 -21
  53. package/src/saas/internal-api/accounts/api/settings/settings.service.js +41 -41
  54. package/src/saas/internal-api/accounts/consts/consts.js +8 -8
  55. package/src/saas/internal-api/accounts/index.js +22 -22
  56. package/src/saas/internal-api/accounts/models/core/create.account.model.js +16 -16
  57. package/src/saas/internal-api/accounts/models/settings/update.settings.model.js +42 -42
  58. package/src/saas/internal-api/accounts/utils/utils.js +60 -60
  59. package/src/saas/internal-api/agreement/api/agreement.api.js +39 -39
  60. package/src/saas/internal-api/agreement/api/agreement.service.js +121 -121
  61. package/src/saas/internal-api/agreement/consts/consts.js +10 -10
  62. package/src/saas/internal-api/agreement/index.js +12 -12
  63. package/src/saas/internal-api/agreement/models/create.agreement.model.js +12 -12
  64. package/src/saas/internal-api/agreement/models/createAgreementByAuditorModel.js +11 -11
  65. package/src/saas/internal-api/agreement/models/createAgreementByPMModel.js +13 -13
  66. package/src/saas/internal-api/auditCustomerRules/api/customer.rules.api.js +43 -43
  67. package/src/saas/internal-api/auditCustomerRules/api/customer.rules.service.js +105 -105
  68. package/src/saas/internal-api/auditCustomerRules/consts/customer.rule.js +11 -11
  69. package/src/saas/internal-api/auditCustomerRules/index.js +6 -6
  70. package/src/saas/internal-api/auditCustomerRules/models/customer.rule.model.js +46 -46
  71. package/src/saas/internal-api/auditCustomerRules/utils/customer.rule.util.js +19 -19
  72. package/src/saas/internal-api/auditNotes/api/audit.notes.api.js +40 -40
  73. package/src/saas/internal-api/auditNotes/api/audit.notes.service.js +115 -115
  74. package/src/saas/internal-api/auditNotes/index.js +4 -4
  75. package/src/saas/internal-api/auditNotes/models/audit.note.model.js +30 -30
  76. package/src/saas/internal-api/auth/api/auth.api.js +27 -27
  77. package/src/saas/internal-api/auth/api/auth.service.js +90 -90
  78. package/src/saas/internal-api/auth/index.js +3 -3
  79. package/src/saas/internal-api/coi/api/coi.api.js +45 -45
  80. package/src/saas/internal-api/coi/api/coi.service.js +39 -39
  81. package/src/saas/internal-api/coi/consts/hashes.js +4 -4
  82. package/src/saas/internal-api/coi/consts/uploaderTypes.js +5 -5
  83. package/src/saas/internal-api/coi/index.js +14 -14
  84. package/src/saas/internal-api/coi/models/Combine.last.two.cois.model.js +25 -25
  85. package/src/saas/internal-api/coi/models/submit.coi.model.js +19 -19
  86. package/src/saas/internal-api/coi/utils/utils.js +117 -117
  87. package/src/saas/internal-api/compliance/api/audit/audit.api.js +115 -115
  88. package/src/saas/internal-api/compliance/api/audit/audit.service.js +300 -300
  89. package/src/saas/internal-api/compliance/api/convert/convert.api.js +17 -17
  90. package/src/saas/internal-api/compliance/api/convert/convert.service.js +11 -11
  91. package/src/saas/internal-api/compliance/api/coverage/coverage.api.js +33 -33
  92. package/src/saas/internal-api/compliance/api/coverage/coverage.service.js +48 -48
  93. package/src/saas/internal-api/compliance/api/overrideGap/override.gap.api.js +38 -38
  94. package/src/saas/internal-api/compliance/api/overrideGap/override.gap.service.js +182 -182
  95. package/src/saas/internal-api/compliance/consts/audit.js +111 -111
  96. package/src/saas/internal-api/compliance/index.js +33 -33
  97. package/src/saas/internal-api/compliance/models/audit/audit.model.js +96 -96
  98. package/src/saas/internal-api/compliance/models/waive/waive.model.js +49 -49
  99. package/src/saas/internal-api/compliance/utils/auditUtil.js +254 -254
  100. package/src/saas/internal-api/compliance/utils/coverageUtil.js +40 -40
  101. package/src/saas/internal-api/contractors/api/contractors.api.js +209 -209
  102. package/src/saas/internal-api/contractors/api/contractors.service.js +361 -361
  103. package/src/saas/internal-api/contractors/consts/consts.js +6 -6
  104. package/src/saas/internal-api/contractors/index.js +8 -8
  105. package/src/saas/internal-api/contractors/models/assign.requirement.model.js +10 -10
  106. package/src/saas/internal-api/contractors/models/edit.contractor.model.js +62 -62
  107. package/src/saas/internal-api/contractors/models/link.request.model.js +10 -10
  108. package/src/saas/internal-api/contractors/models/subscription.contractor.model.js +13 -13
  109. package/src/saas/internal-api/contractors/models/verification.contractor.model.js +27 -27
  110. package/src/saas/internal-api/contractors/utils.js +25 -25
  111. package/src/saas/internal-api/dashboard/api/recordList.api.js +38 -38
  112. package/src/saas/internal-api/dashboard/api/recordList.service.js +60 -60
  113. package/src/saas/internal-api/dashboard/index.js +5 -5
  114. package/src/saas/internal-api/dashboard/models/dashboard.filter.criteria.model.js +38 -38
  115. package/src/saas/internal-api/dbEmails/api/db.emails.api.js +25 -25
  116. package/src/saas/internal-api/dbEmails/api/db.emails.service.js +156 -156
  117. package/src/saas/internal-api/dbEmails/consts/consts.js +55 -55
  118. package/src/saas/internal-api/dbEmails/index.js +6 -6
  119. package/src/saas/internal-api/dbEmails/models/db.emails.model.js +22 -22
  120. package/src/saas/internal-api/dbEmails/utils/util.js +87 -87
  121. package/src/saas/internal-api/emailCustomization/api/email.customization.api.js +26 -26
  122. package/src/saas/internal-api/emailCustomization/api/email.customization.service.js +50 -50
  123. package/src/saas/internal-api/emailCustomization/index.js +3 -3
  124. package/src/saas/internal-api/globalRecord/api/global.record.api.js +95 -101
  125. package/src/saas/internal-api/globalRecord/api/global.record.service.js +112 -117
  126. package/src/saas/internal-api/globalRecord/consts.js +20 -20
  127. package/src/saas/internal-api/globalRecord/index.js +6 -6
  128. package/src/saas/internal-api/globalRecord/models/global.record.model.js +60 -60
  129. package/src/saas/internal-api/globalRecord/utils/util.js +161 -161
  130. package/src/saas/internal-api/homepageCharts/api/charts.api.js +12 -12
  131. package/src/saas/internal-api/homepageCharts/api/charts.service.js +7 -7
  132. package/src/saas/internal-api/homepageCharts/index.js +3 -3
  133. package/src/saas/internal-api/policyFile/api/policy.file.api.js +31 -25
  134. package/src/saas/internal-api/policyFile/api/policy.file.service.js +73 -39
  135. package/src/saas/internal-api/policyFile/consts.js +21 -21
  136. package/src/saas/internal-api/policyFile/index.js +11 -11
  137. package/src/saas/internal-api/policyFile/models/create.policy.file.model.js +11 -11
  138. package/src/saas/internal-api/projects/api/core/projects.api.js +39 -39
  139. package/src/saas/internal-api/projects/api/core/projects.service.js +77 -77
  140. package/src/saas/internal-api/projects/api/settings/project.settings.api.js +18 -18
  141. package/src/saas/internal-api/projects/api/settings/project.settings.service.js +35 -35
  142. package/src/saas/internal-api/projects/consts/defaultProject.js +3 -3
  143. package/src/saas/internal-api/projects/index.js +24 -24
  144. package/src/saas/internal-api/projects/models/core/create.project.model.js +41 -41
  145. package/src/saas/internal-api/projects/models/core/update.project.model.js +47 -47
  146. package/src/saas/internal-api/projects/models/settings/update.project.settings.model.js +40 -40
  147. package/src/saas/internal-api/projects/utils/utils.js +155 -155
  148. package/src/saas/internal-api/recordHub/api/record.hub.api.js +14 -14
  149. package/src/saas/internal-api/recordHub/api/record.hub.service.js +21 -21
  150. package/src/saas/internal-api/recordHub/index.js +3 -3
  151. package/src/saas/internal-api/recordNotes/api/record.notes.api.js +38 -38
  152. package/src/saas/internal-api/recordNotes/api/record.notes.service.js +47 -47
  153. package/src/saas/internal-api/recordNotes/api/record.notes.utils.js +12 -12
  154. package/src/saas/internal-api/recordNotes/index.js +3 -3
  155. package/src/saas/internal-api/reports/api/reports.api.js +62 -62
  156. package/src/saas/internal-api/reports/api/reports.service.js +79 -79
  157. package/src/saas/internal-api/reports/consts/consts.js +74 -74
  158. package/src/saas/internal-api/reports/index.js +15 -15
  159. package/src/saas/internal-api/reports/models/report.model.js +27 -27
  160. package/src/saas/internal-api/requests/api/requests.api.js +120 -120
  161. package/src/saas/internal-api/requests/api/requests.service.js +274 -274
  162. package/src/saas/internal-api/requests/index.js +21 -20
  163. package/src/saas/internal-api/requests/models/create.request.model.js +36 -35
  164. package/src/saas/internal-api/requests/models/draft.request.criteria.model.js +18 -18
  165. package/src/saas/internal-api/requests/models/draft.request.report.model.js +14 -14
  166. package/src/saas/internal-api/requests/models/edit.request.model.js +31 -31
  167. package/src/saas/internal-api/requests/models/requestListCriteriaModel.js +17 -17
  168. package/src/saas/internal-api/requests/models/tenant.request.model.js +9 -9
  169. package/src/saas/internal-api/requests/utils.js +16 -8
  170. package/src/saas/internal-api/requestsTable/api/requests.table.api.js +20 -20
  171. package/src/saas/internal-api/requestsTable/api/requests.table.service.js +14 -14
  172. package/src/saas/internal-api/requestsTable/index.js +3 -3
  173. package/src/saas/internal-api/requirements/api/requirements.api.js +57 -57
  174. package/src/saas/internal-api/requirements/api/requirements.service.js +177 -177
  175. package/src/saas/internal-api/requirements/consts/attributeTypes.json +8 -8
  176. package/src/saas/internal-api/requirements/consts/consts.js +6 -6
  177. package/src/saas/internal-api/requirements/index.js +10 -10
  178. package/src/saas/internal-api/requirements/models/create.requirement.model.js +17 -17
  179. package/src/saas/internal-api/requirements/models/policy.model.js +35 -35
  180. package/src/saas/internal-api/requirements/models/update.requirement.model.js +19 -19
  181. package/src/saas/internal-api/requirements/utils/utils.js +129 -129
  182. package/src/saas/internal-api/serviceArea/api/coordinates.api.js +12 -12
  183. package/src/saas/internal-api/serviceArea/api/coordinates.service.js +7 -7
  184. package/src/saas/internal-api/serviceArea/index.js +4 -4
  185. package/src/saas/internal-api/serviceArea/utils/utils.js +8 -8
  186. package/src/saas/internal-api/tabs/api/tabs.api.js +32 -32
  187. package/src/saas/internal-api/tabs/api/tabs.service.js +54 -54
  188. package/src/saas/internal-api/tabs/index.js +3 -3
  189. package/src/saas/internal-api/tabs/models/tabs.model.js +19 -19
  190. package/src/saas/internal-api/thread-scheduler/runner.js +55 -55
  191. package/src/saas/internal-api/uploadFiles/api/upload.file.api.js +43 -43
  192. package/src/saas/internal-api/uploadFiles/api/upload.file.service.js +106 -106
  193. package/src/saas/internal-api/uploadFiles/consts.js +12 -12
  194. package/src/saas/internal-api/uploadFiles/index.js +5 -5
  195. package/src/saas/internal-api/users/api/tenantApp/tenant.app.api.js +38 -38
  196. package/src/saas/internal-api/users/api/tenantApp/tenant.app.service.js +108 -108
  197. package/src/saas/internal-api/users/api/users.api.js +127 -127
  198. package/src/saas/internal-api/users/api/users.service.js +258 -243
  199. package/src/saas/internal-api/users/index.js +16 -16
  200. package/src/saas/internal-api/users/models/create.inner.system.user.model.js +18 -18
  201. package/src/saas/internal-api/users/models/notification.settings.model.js +12 -12
  202. package/src/saas/internal-api/users/models/tenent.user.model.js +11 -11
  203. package/src/saas/internal-api/users/models/users.model.js +43 -42
  204. package/src/saas/internal-api/users/utils/util.js +39 -39
  205. package/src/saas/internal-api/vendorProfile/api/vendor.profile.api.js +26 -20
  206. package/src/saas/internal-api/vendorProfile/api/vendor.profile.service.js +19 -14
  207. package/src/saas/internal-api/vendorProfile/index.js +3 -3
  208. package/src/saas/openapi/accounts/accounts.api.js +17 -17
  209. package/src/saas/openapi/accounts/accounts.service.js +11 -11
  210. package/src/saas/openapi/coi/coi.api.js +30 -30
  211. package/src/saas/openapi/coi/coi.service.js +43 -43
  212. package/src/saas/openapi/projects/projects.api.js +83 -83
  213. package/src/saas/openapi/projects/projects.service.js +64 -64
  214. package/src/saas/openapi/requests/index.js +7 -7
  215. package/src/saas/openapi/requests/models/invite.request.model.js +40 -40
  216. package/src/saas/openapi/requests/models/update.request.model.js +35 -35
  217. package/src/saas/openapi/requests/requests.api.js +87 -87
  218. package/src/saas/openapi/requests/requests.service.js +81 -81
  219. package/src/saas/openapi/requirements/index.js +6 -6
  220. package/src/saas/openapi/requirements/models/copy.requirement.model.js +10 -10
  221. package/src/saas/openapi/requirements/requirements.api.js +41 -41
  222. package/src/saas/openapi/requirements/requirements.service.js +49 -49
  223. package/src/saas/openapi/tabs/index.js +6 -6
  224. package/src/saas/openapi/tabs/models/create.tab.model.js +6 -6
  225. package/src/saas/openapi/tabs/tabs.api.js +27 -27
  226. package/src/saas/openapi/tabs/tabs.service.js +19 -19
  227. package/src/saas/openapi/users/user.model.js +10 -10
  228. package/src/saas/openapi/users/users.api.js +33 -33
  229. package/src/saas/openapi/users/users.service.js +41 -41
  230. package/tests/env.test.js +40 -40
  231. package/tests/validation.test.js +83 -83
@@ -1,161 +1,161 @@
1
- const globalRecordServices = require('../api/global.record.service');
2
- const globalRecordModels = require('../models/global.record.model');
3
-
4
- const { CreateGlobalRecordModel } = globalRecordModels;
5
- const { createGlobalRecord, getAllGlobalRecordsInPage } = globalRecordServices;
6
-
7
- const {
8
- getCapitalLetterUnicodeValueList,
9
- getUniqueNumber
10
- } = require('../../../../common/utils/numberUtils');
11
-
12
- const { SERVICE_AREAS } = require('../consts');
13
- const { cloneObject } = require('../../../../common/utils/objectUtils');
14
-
15
- const createGlobalRecordConfig = (
16
- name,
17
- { stateIndex, glPolicyNumbers } = {}
18
- ) => {
19
- const serviceArea = getServiceAreaByIndex(stateIndex || 0);
20
- const uniqueNumbers = glPolicyNumbers || getUniqueNumber();
21
- const emailBase = name.replace(/\s+/g, '').toLowerCase();
22
- return {
23
- header: `${name}Header`,
24
- recordName: `${name}Name`,
25
- additionalContacts: [
26
- `${emailBase}@additional1.jon`,
27
- `${emailBase}@additional2.jon`
28
- ],
29
- brokerEmails: [`${emailBase}@broker1.jon`, `${emailBase}@broker2.jon`],
30
- expirationDate: '2030-12-09',
31
- publishDate: '',
32
- lastPublishUserName: '',
33
- glPolicyNumbers: [uniqueNumbers.toString()],
34
- numberOfAssociatedRequests: 0,
35
- numberOfFilledMandatory: 0,
36
- dba: '',
37
- primaryEmail: '',
38
- serviceAreas: [getServiceArea(serviceArea)],
39
- __v: 0,
40
- recordType: ['Vendors']
41
- };
42
- };
43
-
44
- const getServiceArea = state => {
45
- return {
46
- city: `${state}TestCity`,
47
- state: state
48
- };
49
- };
50
-
51
- const createGlobalRecordConfigs = (
52
- nameList,
53
- { stateIndexes, glPolicyNumbers } = {}
54
- ) => {
55
- return nameList.map((name, index) =>
56
- createGlobalRecordConfig(name, {
57
- stateIndex: stateIndexes ? stateIndexes[index] : index,
58
- glPolicyNumbers: glPolicyNumbers ? glPolicyNumbers[index] : null
59
- })
60
- );
61
- };
62
-
63
- const createGlobalRecordModel = config => {
64
- return new CreateGlobalRecordModel(
65
- config.header,
66
- config.expirationDate,
67
- config.glPolicyNumbers,
68
- config.numberOfAssociatedRequests,
69
- config.numberOfFilledMandatory,
70
- {
71
- id: config.id,
72
- recordName: config.recordName,
73
- additionalContacts: config.additionalContacts,
74
- brokerEmails: config.brokerEmails,
75
- publishDate: config.publishDate,
76
- serviceAreas: config.serviceAreas,
77
- primaryEmail: config.primaryEmail,
78
- dba: config.dba,
79
- lastPublishUserName: config.lastPublishUserName,
80
- __v: config.__v,
81
- recordType: config.recordType
82
- }
83
- );
84
- };
85
-
86
- const createGlobalRecordModels = configList => {
87
- return configList.map(config => createGlobalRecordModel(config));
88
- };
89
-
90
- const getCreateRandomGlobalRecordModels = nameList => {
91
- const configList = createGlobalRecordConfigs(nameList);
92
- return createGlobalRecordModels(configList);
93
- };
94
-
95
- const createGlobalRecords = async (globalRecordModelList, context) => {
96
- const newGlobalRecodDetailsList = new Array();
97
- for (globalRecordModel of globalRecordModelList) {
98
- const newGlobalRecordDetails = await createGlobalRecord(
99
- globalRecordModel,
100
- context
101
- );
102
- newGlobalRecodDetailsList.push(newGlobalRecordDetails);
103
- }
104
-
105
- return newGlobalRecodDetailsList;
106
- };
107
-
108
- const getGlobalRecordsByNumberOfPages = async (numberOfPages, context) => {
109
- const allGlobalRecords = new Array();
110
-
111
- for (let pageNumber = 1; pageNumber <= numberOfPages; pageNumber++) {
112
- const allGlobalRecordsInPage = await getAllGlobalRecordsInPage(
113
- pageNumber,
114
- context
115
- );
116
- allGlobalRecords.push(allGlobalRecordsInPage);
117
- }
118
-
119
- return allGlobalRecords;
120
- };
121
-
122
- const getServiceAreaByIndex = stateIndex => {
123
- return SERVICE_AREAS[Object.keys(SERVICE_AREAS)[stateIndex % 10]];
124
- };
125
-
126
- const getGlobalRecordsDefaultNameList = (nameBase, listLength) => {
127
- const letterUnicodeValueList = getCapitalLetterUnicodeValueList({
128
- listLength
129
- });
130
-
131
- //How much times same letter will appear in one index on the array
132
- const repeatTimes = 4;
133
- return letterUnicodeValueList.map(
134
- unicode =>
135
- `${nameBase} ${String.fromCharCode(unicode).repeat(repeatTimes)}`
136
- );
137
- };
138
-
139
- const createPublishGlobalConfig = (recordName, id, primaryEmail, { additionalContacts, brokerEmails } = {}) => {
140
- return cloneObject({
141
- recordName,
142
- id,
143
- primaryEmail,
144
- additionalContacts: additionalContacts || [],
145
- brokerEmails: brokerEmails || []
146
-
147
- });
148
- };
149
-
150
- module.exports = {
151
- createGlobalRecords,
152
- createGlobalRecordConfig,
153
- createGlobalRecordConfigs,
154
- createGlobalRecordModel,
155
- createGlobalRecordModels,
156
- createPublishGlobalConfig,
157
- getCreateRandomGlobalRecordModels,
158
- getGlobalRecordsDefaultNameList,
159
- getGlobalRecordsByNumberOfPages,
160
- getServiceArea
161
- };
1
+ const globalRecordServices = require('../api/global.record.service');
2
+ const globalRecordModels = require('../models/global.record.model');
3
+
4
+ const { CreateGlobalRecordModel } = globalRecordModels;
5
+ const { createGlobalRecord, getAllGlobalRecordsInPage } = globalRecordServices;
6
+
7
+ const {
8
+ getCapitalLetterUnicodeValueList,
9
+ getUniqueNumber
10
+ } = require('../../../../common/utils/numberUtils');
11
+
12
+ const { SERVICE_AREAS } = require('../consts');
13
+ const { cloneObject } = require('../../../../common/utils/objectUtils');
14
+
15
+ const createGlobalRecordConfig = (
16
+ name,
17
+ { stateIndex, glPolicyNumbers } = {}
18
+ ) => {
19
+ const serviceArea = getServiceAreaByIndex(stateIndex || 0);
20
+ const uniqueNumbers = glPolicyNumbers || getUniqueNumber();
21
+ const emailBase = name.replace(/\s+/g, '').toLowerCase();
22
+ return {
23
+ header: `${name}Header`,
24
+ recordName: `${name}Name`,
25
+ additionalContacts: [
26
+ `${emailBase}@additional1.jon`,
27
+ `${emailBase}@additional2.jon`
28
+ ],
29
+ brokerEmails: [`${emailBase}@broker1.jon`, `${emailBase}@broker2.jon`],
30
+ expirationDate: '2030-12-09',
31
+ publishDate: '',
32
+ lastPublishUserName: '',
33
+ glPolicyNumbers: [uniqueNumbers.toString()],
34
+ numberOfAssociatedRequests: 0,
35
+ numberOfFilledMandatory: 0,
36
+ dba: '',
37
+ primaryEmail: '',
38
+ serviceAreas: [getServiceArea(serviceArea)],
39
+ __v: 0,
40
+ recordType: ['Vendors']
41
+ };
42
+ };
43
+
44
+ const getServiceArea = state => {
45
+ return {
46
+ city: `${state}TestCity`,
47
+ state: state
48
+ };
49
+ };
50
+
51
+ const createGlobalRecordConfigs = (
52
+ nameList,
53
+ { stateIndexes, glPolicyNumbers } = {}
54
+ ) => {
55
+ return nameList.map((name, index) =>
56
+ createGlobalRecordConfig(name, {
57
+ stateIndex: stateIndexes ? stateIndexes[index] : index,
58
+ glPolicyNumbers: glPolicyNumbers ? glPolicyNumbers[index] : null
59
+ })
60
+ );
61
+ };
62
+
63
+ const createGlobalRecordModel = config => {
64
+ return new CreateGlobalRecordModel(
65
+ config.header,
66
+ config.expirationDate,
67
+ config.glPolicyNumbers,
68
+ config.numberOfAssociatedRequests,
69
+ config.numberOfFilledMandatory,
70
+ {
71
+ id: config.id,
72
+ recordName: config.recordName,
73
+ additionalContacts: config.additionalContacts,
74
+ brokerEmails: config.brokerEmails,
75
+ publishDate: config.publishDate,
76
+ serviceAreas: config.serviceAreas,
77
+ primaryEmail: config.primaryEmail,
78
+ dba: config.dba,
79
+ lastPublishUserName: config.lastPublishUserName,
80
+ __v: config.__v,
81
+ recordType: config.recordType
82
+ }
83
+ );
84
+ };
85
+
86
+ const createGlobalRecordModels = configList => {
87
+ return configList.map(config => createGlobalRecordModel(config));
88
+ };
89
+
90
+ const getCreateRandomGlobalRecordModels = nameList => {
91
+ const configList = createGlobalRecordConfigs(nameList);
92
+ return createGlobalRecordModels(configList);
93
+ };
94
+
95
+ const createGlobalRecords = async (globalRecordModelList, context) => {
96
+ const newGlobalRecodDetailsList = new Array();
97
+ for (globalRecordModel of globalRecordModelList) {
98
+ const newGlobalRecordDetails = await createGlobalRecord(
99
+ globalRecordModel,
100
+ context
101
+ );
102
+ newGlobalRecodDetailsList.push(newGlobalRecordDetails);
103
+ }
104
+
105
+ return newGlobalRecodDetailsList;
106
+ };
107
+
108
+ const getGlobalRecordsByNumberOfPages = async (numberOfPages, context) => {
109
+ const allGlobalRecords = new Array();
110
+
111
+ for (let pageNumber = 1; pageNumber <= numberOfPages; pageNumber++) {
112
+ const allGlobalRecordsInPage = await getAllGlobalRecordsInPage(
113
+ pageNumber,
114
+ context
115
+ );
116
+ allGlobalRecords.push(allGlobalRecordsInPage);
117
+ }
118
+
119
+ return allGlobalRecords;
120
+ };
121
+
122
+ const getServiceAreaByIndex = stateIndex => {
123
+ return SERVICE_AREAS[Object.keys(SERVICE_AREAS)[stateIndex % 10]];
124
+ };
125
+
126
+ const getGlobalRecordsDefaultNameList = (nameBase, listLength) => {
127
+ const letterUnicodeValueList = getCapitalLetterUnicodeValueList({
128
+ listLength
129
+ });
130
+
131
+ //How much times same letter will appear in one index on the array
132
+ const repeatTimes = 4;
133
+ return letterUnicodeValueList.map(
134
+ unicode =>
135
+ `${nameBase} ${String.fromCharCode(unicode).repeat(repeatTimes)}`
136
+ );
137
+ };
138
+
139
+ const createPublishGlobalConfig = (recordName, id, primaryEmail, { additionalContacts, brokerEmails } = {}) => {
140
+ return cloneObject({
141
+ recordName,
142
+ id,
143
+ primaryEmail,
144
+ additionalContacts: additionalContacts || [],
145
+ brokerEmails: brokerEmails || []
146
+
147
+ });
148
+ };
149
+
150
+ module.exports = {
151
+ createGlobalRecords,
152
+ createGlobalRecordConfig,
153
+ createGlobalRecordConfigs,
154
+ createGlobalRecordModel,
155
+ createGlobalRecordModels,
156
+ createPublishGlobalConfig,
157
+ getCreateRandomGlobalRecordModels,
158
+ getGlobalRecordsDefaultNameList,
159
+ getGlobalRecordsByNumberOfPages,
160
+ getServiceArea
161
+ };
@@ -1,12 +1,12 @@
1
- const requests = require('../../../../common/requests/cookieAuth/requests');
2
- const { backendUrl } = require('../../../../env').getEnv();
3
-
4
- const Endpoints = {
5
- getHomePageChartsDataApi: () => `${backendUrl}/saas/user/properties/compliance-summary`
6
- };
7
-
8
- const getHomePageChartsData = context => {
9
- return requests.postRequestHandler(Endpoints.getHomePageChartsDataApi(), {}, context);
10
- };
11
-
12
- module.exports = { getHomePageChartsData };
1
+ const requests = require('../../../../common/requests/cookieAuth/requests');
2
+ const { backendUrl } = require('../../../../env').getEnv();
3
+
4
+ const Endpoints = {
5
+ getHomePageChartsDataApi: () => `${backendUrl}/saas/user/properties/compliance-summary`
6
+ };
7
+
8
+ const getHomePageChartsData = context => {
9
+ return requests.postRequestHandler(Endpoints.getHomePageChartsDataApi(), {}, context);
10
+ };
11
+
12
+ module.exports = { getHomePageChartsData };
@@ -1,7 +1,7 @@
1
- const chartsAPI = require('./charts.api');
2
-
3
- const getHomePageChartsData = context => {
4
- return chartsAPI.getHomePageChartsData(context);
5
- };
6
-
7
- module.exports = { getHomePageChartsData };
1
+ const chartsAPI = require('./charts.api');
2
+
3
+ const getHomePageChartsData = context => {
4
+ return chartsAPI.getHomePageChartsData(context);
5
+ };
6
+
7
+ module.exports = { getHomePageChartsData };
@@ -1,3 +1,3 @@
1
- const services = require('./api/charts.service');
2
-
3
- module.exports = { services };
1
+ const services = require('./api/charts.service');
2
+
3
+ module.exports = { services };
@@ -1,25 +1,31 @@
1
- const requests = require('../../../../common/requests/cookieAuth/requests');
2
- const { backendUrl } = require('../../../../env').getEnv();
3
-
4
- const Endpoints = {
5
- getPolicyFilesForVendorReport: requestId => `${backendUrl}/saas/request/${requestId}/policy-files`,
6
- getPreSignedUrlByPolicyId: policyFileId => `${backendUrl}/saas/policy-file/${policyFileId}`,
7
- getAuditPolicyFilesByAuditId: (recordId, auditId) => `${backendUrl}/saas/integration-tests/record/${recordId}/audit/${auditId}/policy-files`
8
- };
9
- const getPolicyFilesForVendorReport = async (requestId, context) => {
10
- return requests.getRequestHandler(Endpoints.getPolicyFilesForVendorReport(requestId), {}, context);
11
- };
12
-
13
- const getPreSignedUrlByPolicyId = async (policyFileId, context) => {
14
- return requests.getRequestHandler(Endpoints.getPreSignedUrlByPolicyId(policyFileId), {}, context);
15
- };
16
-
17
- const getAuditPolicyFiles = async (recordId, auditId, context) => {
18
- return requests.getRequestHandler(Endpoints.getAuditPolicyFilesByAuditId(recordId, auditId), {}, context);
19
- };
20
-
21
- module.exports = {
22
- getPolicyFilesForVendorReport,
23
- getPreSignedUrlByPolicyId,
24
- getAuditPolicyFiles
25
- };
1
+ const requests = require('../../../../common/requests/cookieAuth/requests');
2
+ const { backendUrl } = require('../../../../env').getEnv();
3
+
4
+ const Endpoints = {
5
+ getPolicyFilesForVendorReport: requestId => `${backendUrl}/saas/request/${requestId}/policy-files`,
6
+ getPreSignedUrlByPolicyId: policyFileId => `${backendUrl}/saas/policy-file/${policyFileId}`,
7
+ getAuditPolicyFilesByAuditId: (recordId, auditId) => `${backendUrl}/saas/integration-tests/record/${recordId}/audit/${auditId}/policy-files`,
8
+ getPolicyFilesRequireAudit: recordId => `${backendUrl}/saas/integration-tests/record/${recordId}/policy-files-to-audit`
9
+ };
10
+ const getPolicyFilesForVendorReport = async (requestId, context) => {
11
+ return requests.getRequestHandler(Endpoints.getPolicyFilesForVendorReport(requestId), {}, context);
12
+ };
13
+
14
+ const getPreSignedUrlByPolicyId = async (policyFileId, context) => {
15
+ return requests.getRequestHandler(Endpoints.getPreSignedUrlByPolicyId(policyFileId), {}, context);
16
+ };
17
+
18
+ const getAuditPolicyFiles = async (recordId, auditId, context) => {
19
+ return requests.getRequestHandler(Endpoints.getAuditPolicyFilesByAuditId(recordId, auditId), {}, context);
20
+ };
21
+
22
+ const getPolicyFilesRequireAudit = async (recordId, context) => {
23
+ return requests.getRequestHandler(Endpoints.getPolicyFilesRequireAudit(recordId), {}, context);
24
+ };
25
+
26
+ module.exports = {
27
+ getPolicyFilesForVendorReport,
28
+ getPreSignedUrlByPolicyId,
29
+ getAuditPolicyFiles,
30
+ getPolicyFilesRequireAudit
31
+ };
@@ -1,39 +1,73 @@
1
- const policyFileApi = require('./policy.file.api');
2
-
3
- const httpResponseStatusCodes = require('../../../../common/httpResponseStatusCodes.json');
4
-
5
- const getPolicyFilesForVendorReport = async (requestId, context, { shouldExpectError } = {}) => {
6
- const getPolicyResponse = await policyFileApi.getPolicyFilesForVendorReport(requestId, context);
7
-
8
- if (getPolicyResponse.status !== httpResponseStatusCodes.OK && !shouldExpectError) {
9
- throw new Error('Failed to get policy files for PM');
10
- }
11
-
12
- return getPolicyResponse;
13
- };
14
-
15
- const getPreSignedUrlByPolicyId = async (policyFileId, context, { shouldExpectError } = {}) => {
16
- const getPolicyLinkResponse = await policyFileApi.getPreSignedUrlByPolicyId(policyFileId, context);
17
-
18
- if (getPolicyLinkResponse.status !== httpResponseStatusCodes.OK && !shouldExpectError) {
19
- throw new Error('Failed to get policy view only link');
20
- }
21
-
22
- return getPolicyLinkResponse;
23
- };
24
-
25
- const getAuditPolicyFiles = async (recordId, auditId, context) => {
26
- const getAuditPolicyFilesResponse = await policyFileApi.getAuditPolicyFiles(recordId, auditId, context);
27
-
28
- if (getAuditPolicyFilesResponse.status !== httpResponseStatusCodes.OK) {
29
- throw new Error('Failed to get policy files by audit id');
30
- }
31
-
32
- return getAuditPolicyFilesResponse;
33
- };
34
-
35
- module.exports = {
36
- getPolicyFilesForVendorReport,
37
- getPreSignedUrlByPolicyId,
38
- getAuditPolicyFiles
39
- };
1
+ const policyFileApi = require('./policy.file.api');
2
+ const timeUtils = require('../../../../common/utils/timeUtils');
3
+
4
+ const httpResponseStatusCodes = require('../../../../common/httpResponseStatusCodes.json');
5
+
6
+ const getPolicyFilesForVendorReport = async (requestId, context, { shouldExpectError } = {}) => {
7
+ const getPolicyResponse = await policyFileApi.getPolicyFilesForVendorReport(requestId, context);
8
+
9
+ if (getPolicyResponse.status !== httpResponseStatusCodes.OK && !shouldExpectError) {
10
+ throw new Error('Failed to get policy files for PM');
11
+ }
12
+
13
+ return getPolicyResponse;
14
+ };
15
+
16
+ const getPreSignedUrlByPolicyId = async (policyFileId, context, { shouldExpectError } = {}) => {
17
+ const getPolicyLinkResponse = await policyFileApi.getPreSignedUrlByPolicyId(policyFileId, context);
18
+
19
+ if (getPolicyLinkResponse.status !== httpResponseStatusCodes.OK && !shouldExpectError) {
20
+ throw new Error('Failed to get policy view only link');
21
+ }
22
+
23
+ return getPolicyLinkResponse;
24
+ };
25
+
26
+ const getAuditPolicyFiles = async (recordId, auditId, context) => {
27
+ const getAuditPolicyFilesResponse = await policyFileApi.getAuditPolicyFiles(recordId, auditId, context);
28
+
29
+ if (getAuditPolicyFilesResponse.status !== httpResponseStatusCodes.OK) {
30
+ throw new Error('Failed to get policy files by audit id');
31
+ }
32
+
33
+ return getAuditPolicyFilesResponse;
34
+ };
35
+
36
+ const getPolicyFilesIfExist = async (recordId, context) => {
37
+ let retries = 10;
38
+ let policiesToReviewResponse;
39
+ let policyFiles = [];
40
+
41
+ while (policyFiles.length === 0 && retries > 0) {
42
+ //Busy wait for it takes time to get policy file to review
43
+ await timeUtils.waitFor(0.5).seconds;
44
+
45
+ policiesToReviewResponse = await policyFileApi.getPolicyFilesRequireAudit(recordId, context);
46
+ policyFiles = policiesToReviewResponse.data;
47
+
48
+ retries--;
49
+ }
50
+
51
+ if (policyFiles.length === 0) {
52
+ throw new Error(`No policy files to review where found for record ${recordId}`);
53
+ }
54
+
55
+ return policiesToReviewResponse;
56
+ };
57
+
58
+ const getPolicyFilesRequireAudit = async (recordId, context) => {
59
+ const getPolicyFilesResponse = await getPolicyFilesIfExist(recordId, context);
60
+
61
+ if (getPolicyFilesResponse.status !== httpResponseStatusCodes.OK) {
62
+ throw new Error('Failed to get policy files that require audit');
63
+ }
64
+
65
+ return getPolicyFilesResponse;
66
+ };
67
+
68
+ module.exports = {
69
+ getPolicyFilesForVendorReport,
70
+ getPreSignedUrlByPolicyId,
71
+ getAuditPolicyFiles,
72
+ getPolicyFilesRequireAudit
73
+ };
@@ -1,21 +1,21 @@
1
- const policyType = {
2
- generalLiability: 'GENERAL_LIABILITY',
3
- umbrella: 'UMBRELLA_EXCESS_LIABILITY',
4
- workersCompensation: 'WORKERS_COMPENSATION',
5
- automobileLiability: 'AUTOMOBILE_LIABILITY',
6
- propertyInsurance: 'PROPERTY_INSURANCE',
7
- professionalLiability: 'PROFESSIONAL_LIABILITY',
8
- businessInterruptions: 'BUSINESS_INTERRUPTION_INCOME_INSURANCE',
9
- environmentalLiability: 'POLLUTION_LIABILITY',
10
- crimeLiability: 'CRIME_LIABILITY',
11
- liquorLiability: 'LIQUOR_LIABILITY',
12
- directorsAndOfficers: 'DIRECTORS_AND_OFFICERS_LIABILITY',
13
- employmentPractice: 'EMPLOYMENT_PRACTICES_LIABILITY',
14
- cyberLiability: 'CYBER_LIABILITY',
15
- garageLiability: 'GARAGE_LIABILITY',
16
- garageKeepers: 'GARAGE_KEEPERS_LIABILITY'
17
- };
18
-
19
- module.exports = {
20
- policyType
21
- };
1
+ const policyType = {
2
+ generalLiability: 'GENERAL_LIABILITY',
3
+ umbrella: 'UMBRELLA_EXCESS_LIABILITY',
4
+ workersCompensation: 'WORKERS_COMPENSATION',
5
+ automobileLiability: 'AUTOMOBILE_LIABILITY',
6
+ propertyInsurance: 'PROPERTY_INSURANCE',
7
+ professionalLiability: 'PROFESSIONAL_LIABILITY',
8
+ businessInterruptions: 'BUSINESS_INTERRUPTION_INCOME_INSURANCE',
9
+ environmentalLiability: 'POLLUTION_LIABILITY',
10
+ crimeLiability: 'CRIME_LIABILITY',
11
+ liquorLiability: 'LIQUOR_LIABILITY',
12
+ directorsAndOfficers: 'DIRECTORS_AND_OFFICERS_LIABILITY',
13
+ employmentPractice: 'EMPLOYMENT_PRACTICES_LIABILITY',
14
+ cyberLiability: 'CYBER_LIABILITY',
15
+ garageLiability: 'GARAGE_LIABILITY',
16
+ garageKeepers: 'GARAGE_KEEPERS_LIABILITY'
17
+ };
18
+
19
+ module.exports = {
20
+ policyType
21
+ };
@@ -1,11 +1,11 @@
1
- const services = require('./api/policy.file.service');
2
-
3
- const { CreatePolicyFileModel } = require('../policyFile/models/create.policy.file.model');
4
-
5
- const models = {
6
- CreatePolicyFileModel
7
- };
8
-
9
- const consts = require('./consts');
10
-
11
- module.exports = { services, models, consts };
1
+ const services = require('./api/policy.file.service');
2
+
3
+ const { CreatePolicyFileModel } = require('../policyFile/models/create.policy.file.model');
4
+
5
+ const models = {
6
+ CreatePolicyFileModel
7
+ };
8
+
9
+ const consts = require('./consts');
10
+
11
+ module.exports = { services, models, consts };
@@ -1,11 +1,11 @@
1
- class CreatePolicyFileModel {
2
- constructor(
3
- policyFileName,
4
- policyType
5
- ) {
6
- this.policyFileName = policyFileName;
7
- this.policyType = policyType;
8
- }
9
- }
10
-
11
- module.exports = { CreatePolicyFileModel };
1
+ class CreatePolicyFileModel {
2
+ constructor(
3
+ policyFileName,
4
+ policyType
5
+ ) {
6
+ this.policyFileName = policyFileName;
7
+ this.policyType = policyType;
8
+ }
9
+ }
10
+
11
+ module.exports = { CreatePolicyFileModel };