@ministryofjustice/hmpps-digital-prison-reporting-frontend 4.16.1 → 4.17.1

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 (211) hide show
  1. package/dpr/components/_catalogue/catalogue/utils.js +1 -1
  2. package/dpr/components/_catalogue/catalogue/utils.js.map +3 -3
  3. package/dpr/components/_catalogue/catalogue/utils.test.ts +15 -1
  4. package/dpr/components/_catalogue/catalogue/utils.ts +22 -4
  5. package/dpr/components/_catalogue/catalogue/view.njk +2 -1
  6. package/dpr/components/_catalogue/catalogue-filters/view.njk +2 -2
  7. package/dpr/components/_catalogue/catalogue-list/utils.js +1 -1
  8. package/dpr/components/_catalogue/catalogue-list/utils.js.map +3 -3
  9. package/dpr/components/_catalogue/catalogue-list/utils.ts +4 -5
  10. package/dpr/components/_catalogue/catalogue-search/clientClass.mjs +14 -0
  11. package/dpr/components/_catalogue/catalogue-search/view.njk +24 -1
  12. package/dpr/components/_charts/chart/Buckets.js +1 -1
  13. package/dpr/components/_charts/chart/Buckets.js.map +3 -3
  14. package/dpr/components/_charts/chart/Buckets.ts +44 -36
  15. package/dpr/components/_charts/chart/heatmap/HeatmapChart.js +1 -1
  16. package/dpr/components/_charts/chart/heatmap/HeatmapChart.js.map +2 -2
  17. package/dpr/components/_charts/chart/heatmap/HeatmapChart.ts +22 -14
  18. package/dpr/components/_charts/chart/heatmap/types.js +2 -0
  19. package/dpr/components/_charts/chart/heatmap/types.js.map +7 -0
  20. package/dpr/components/_charts/chart/heatmap/types.ts +6 -0
  21. package/dpr/components/_charts/utils.js +1 -1
  22. package/dpr/components/_charts/utils.js.map +3 -3
  23. package/dpr/components/_charts/utils.test.ts +10 -7
  24. package/dpr/components/_charts/utils.ts +57 -50
  25. package/dpr/components/_dashboards/dashboard/view.njk +1 -1
  26. package/dpr/components/_dashboards/dashboard-list/utils.js +1 -1
  27. package/dpr/components/_dashboards/dashboard-list/utils.js.map +2 -2
  28. package/dpr/components/_dashboards/dashboard-list/utils.test.ts +3 -3
  29. package/dpr/components/_dashboards/dashboard-list/utils.ts +16 -12
  30. package/dpr/components/_dashboards/dashboard-section/view.njk +1 -1
  31. package/dpr/components/_dashboards/dashboard-visualisation/DashboardVisualisation.js +2 -0
  32. package/dpr/components/_dashboards/dashboard-visualisation/DashboardVisualisation.js.map +7 -0
  33. package/dpr/components/_dashboards/dashboard-visualisation/DashboardVisualisation.ts +40 -0
  34. package/dpr/components/_dashboards/dashboard-visualisation/types.js +2 -0
  35. package/dpr/components/_dashboards/dashboard-visualisation/types.js.map +7 -0
  36. package/dpr/components/_dashboards/dashboard-visualisation/types.ts +102 -0
  37. package/dpr/components/_dashboards/dashboard-visualisation/view.njk +1 -1
  38. package/dpr/components/_dashboards/scorecard/Scorecard.js +1 -1
  39. package/dpr/components/_dashboards/scorecard/Scorecard.js.map +2 -2
  40. package/dpr/components/_dashboards/scorecard/Scorecard.ts +37 -29
  41. package/dpr/components/_dashboards/scorecard/types.js.map +1 -1
  42. package/dpr/components/_dashboards/scorecard/types.ts +1 -0
  43. package/dpr/components/_dashboards/scorecard/utils.js +1 -1
  44. package/dpr/components/_dashboards/scorecard/utils.js.map +2 -2
  45. package/dpr/components/_dashboards/scorecard/utils.test.ts +13 -4
  46. package/dpr/components/_dashboards/scorecard/utils.ts +6 -5
  47. package/dpr/components/_dashboards/scorecard/view.njk +6 -5
  48. package/dpr/components/_dashboards/scorecard-group/view.njk +4 -4
  49. package/dpr/components/_reports/report-actions/types.d.js.map +1 -1
  50. package/dpr/components/_reports/report-actions/types.d.ts +1 -1
  51. package/dpr/components/_reports/report-heading/view.njk +1 -1
  52. package/dpr/data/dashboardClient.js +1 -1
  53. package/dpr/data/dashboardClient.js.map +2 -2
  54. package/dpr/data/dashboardClient.ts +8 -7
  55. package/dpr/data/dprReportingClient.js +1 -1
  56. package/dpr/data/dprReportingClient.js.map +3 -3
  57. package/dpr/data/dprReportingClient.ts +2 -0
  58. package/dpr/data/reportingClient.js +1 -1
  59. package/dpr/data/reportingClient.js.map +1 -1
  60. package/dpr/data/reportingClient.ts +1 -1
  61. package/dpr/middleware/reportAuthoriser.js +1 -1
  62. package/dpr/middleware/reportAuthoriser.js.map +3 -3
  63. package/dpr/middleware/reportAuthoriser.ts +9 -20
  64. package/dpr/middleware/setUpDprResources.js +1 -1
  65. package/dpr/middleware/setUpDprResources.js.map +3 -3
  66. package/dpr/middleware/setUpDprResources.test.ts +7 -0
  67. package/dpr/middleware/setUpDprResources.ts +17 -2
  68. package/dpr/routes/journeys/download-report/controller.js +1 -1
  69. package/dpr/routes/journeys/download-report/controller.js.map +3 -3
  70. package/dpr/routes/journeys/download-report/controller.ts +4 -1
  71. package/dpr/routes/journeys/download-report/request-download/form/submitted/tests.cy.js +1 -1
  72. package/dpr/routes/journeys/download-report/request-download/form/submitted/tests.cy.js.map +2 -2
  73. package/dpr/routes/journeys/download-report/request-download/form/submitted/tests.cy.ts +1 -0
  74. package/dpr/routes/journeys/download-report/request-download/form/tests.cy.js +1 -1
  75. package/dpr/routes/journeys/download-report/request-download/form/tests.cy.js.map +2 -2
  76. package/dpr/routes/journeys/download-report/request-download/form/tests.cy.ts +1 -0
  77. package/dpr/routes/journeys/download-report/tests.cy.js +1 -1
  78. package/dpr/routes/journeys/download-report/tests.cy.js.map +2 -2
  79. package/dpr/routes/journeys/download-report/tests.cy.ts +2 -7
  80. package/dpr/routes/journeys/download-report/utils.js +1 -1
  81. package/dpr/routes/journeys/download-report/utils.js.map +3 -3
  82. package/dpr/routes/journeys/download-report/utils.ts +10 -7
  83. package/dpr/routes/journeys/my-reports/bookmarks/list/tests.cy.js +1 -1
  84. package/dpr/routes/journeys/my-reports/bookmarks/list/tests.cy.js.map +2 -2
  85. package/dpr/routes/journeys/my-reports/bookmarks/list/tests.cy.ts +1 -0
  86. package/dpr/routes/journeys/my-reports/bookmarks/tests.cy.js +1 -1
  87. package/dpr/routes/journeys/my-reports/bookmarks/tests.cy.js.map +3 -3
  88. package/dpr/routes/journeys/my-reports/bookmarks/tests.cy.ts +5 -12
  89. package/dpr/routes/journeys/my-reports/bookmarks/utils.js +1 -1
  90. package/dpr/routes/journeys/my-reports/bookmarks/utils.js.map +3 -3
  91. package/dpr/routes/journeys/my-reports/bookmarks/utils.ts +11 -5
  92. package/dpr/routes/journeys/my-reports/recently-viewed/list/tests.cy.js +1 -1
  93. package/dpr/routes/journeys/my-reports/recently-viewed/list/tests.cy.js.map +3 -3
  94. package/dpr/routes/journeys/my-reports/recently-viewed/list/tests.cy.ts +4 -6
  95. package/dpr/routes/journeys/my-reports/requested-reports/list/tests.cy.js +1 -1
  96. package/dpr/routes/journeys/my-reports/requested-reports/list/tests.cy.js.map +2 -2
  97. package/dpr/routes/journeys/my-reports/requested-reports/list/tests.cy.ts +1 -0
  98. package/dpr/routes/journeys/product-collection/routes.js +2 -0
  99. package/dpr/routes/journeys/product-collection/routes.js.map +7 -0
  100. package/dpr/routes/journeys/product-collection/routes.ts +28 -0
  101. package/dpr/routes/journeys/product-collection/selected/controller.js +2 -0
  102. package/dpr/routes/journeys/product-collection/selected/controller.js.map +7 -0
  103. package/dpr/routes/journeys/product-collection/selected/controller.ts +29 -0
  104. package/dpr/routes/journeys/product-collection/selected/routes.js +2 -0
  105. package/dpr/routes/journeys/product-collection/selected/routes.js.map +7 -0
  106. package/dpr/routes/journeys/product-collection/selected/routes.ts +15 -0
  107. package/dpr/routes/journeys/product-collection/selected/tests.cy.js +2 -0
  108. package/dpr/routes/journeys/product-collection/selected/tests.cy.js.map +7 -0
  109. package/dpr/routes/journeys/product-collection/selected/tests.cy.ts +54 -0
  110. package/dpr/routes/journeys/product-collection/selected/validation.js +2 -0
  111. package/dpr/routes/journeys/product-collection/selected/validation.js.map +7 -0
  112. package/dpr/routes/journeys/product-collection/selected/validation.ts +5 -0
  113. package/dpr/routes/journeys/request-missing-report/form/tests.cy.js +1 -1
  114. package/dpr/routes/journeys/request-missing-report/form/tests.cy.js.map +2 -2
  115. package/dpr/routes/journeys/request-missing-report/form/tests.cy.ts +1 -0
  116. package/dpr/routes/journeys/request-missing-report/tests.cy.js +1 -1
  117. package/dpr/routes/journeys/request-missing-report/tests.cy.js.map +2 -2
  118. package/dpr/routes/journeys/request-missing-report/tests.cy.ts +3 -4
  119. package/dpr/routes/journeys/request-report/filters/tests.cy.js +1 -1
  120. package/dpr/routes/journeys/request-report/filters/tests.cy.js.map +3 -3
  121. package/dpr/routes/journeys/request-report/filters/tests.cy.ts +3 -6
  122. package/dpr/routes/journeys/request-report/filters/utils.js +1 -1
  123. package/dpr/routes/journeys/request-report/filters/utils.js.map +2 -2
  124. package/dpr/routes/journeys/request-report/filters/utils.ts +2 -3
  125. package/dpr/routes/journeys/request-report/status/tests.cy.js +1 -1
  126. package/dpr/routes/journeys/request-report/status/tests.cy.js.map +2 -2
  127. package/dpr/routes/journeys/request-report/status/tests.cy.ts +2 -6
  128. package/dpr/routes/journeys/request-report/tests.cy.js +1 -1
  129. package/dpr/routes/journeys/request-report/tests.cy.js.map +3 -3
  130. package/dpr/routes/journeys/request-report/tests.cy.ts +5 -32
  131. package/dpr/routes/journeys/routes.js +1 -1
  132. package/dpr/routes/journeys/routes.js.map +2 -2
  133. package/dpr/routes/journeys/routes.ts +2 -0
  134. package/dpr/routes/journeys/view-report/async/controller.js.map +2 -2
  135. package/dpr/routes/journeys/view-report/async/controller.ts +2 -2
  136. package/dpr/routes/journeys/view-report/async/dashboard/tests.cy.js +1 -1
  137. package/dpr/routes/journeys/view-report/async/dashboard/tests.cy.js.map +2 -2
  138. package/dpr/routes/journeys/view-report/async/dashboard/tests.cy.ts +2 -9
  139. package/dpr/routes/journeys/view-report/async/dashboard/utils.js +1 -1
  140. package/dpr/routes/journeys/view-report/async/dashboard/utils.js.map +3 -3
  141. package/dpr/routes/journeys/view-report/async/dashboard/utils.ts +100 -95
  142. package/dpr/routes/journeys/view-report/async/report/controller.js +1 -1
  143. package/dpr/routes/journeys/view-report/async/report/controller.js.map +3 -3
  144. package/dpr/routes/journeys/view-report/async/report/controller.ts +4 -6
  145. package/dpr/routes/journeys/view-report/async/report/tests.cy.js +1 -1
  146. package/dpr/routes/journeys/view-report/async/report/tests.cy.js.map +2 -2
  147. package/dpr/routes/journeys/view-report/async/report/tests.cy.ts +8 -17
  148. package/dpr/routes/journeys/view-report/async/report/types.js +2 -0
  149. package/dpr/routes/journeys/view-report/async/report/types.js.map +7 -0
  150. package/dpr/routes/journeys/view-report/async/report/types.ts +31 -0
  151. package/dpr/routes/journeys/view-report/async/report/utils.js +1 -1
  152. package/dpr/routes/journeys/view-report/async/report/utils.js.map +3 -3
  153. package/dpr/routes/journeys/view-report/async/report/utils.ts +173 -136
  154. package/dpr/routes/journeys/view-report/sync/tests.cy.js +1 -1
  155. package/dpr/routes/journeys/view-report/sync/tests.cy.js.map +3 -3
  156. package/dpr/routes/journeys/view-report/sync/tests.cy.ts +3 -4
  157. package/dpr/services/dashboardService.js +1 -1
  158. package/dpr/services/dashboardService.js.map +2 -2
  159. package/dpr/services/dashboardService.ts +7 -5
  160. package/dpr/services/productCollection/productCollectionService.js +2 -0
  161. package/dpr/services/productCollection/productCollectionService.js.map +7 -0
  162. package/dpr/services/productCollection/productCollectionService.ts +25 -0
  163. package/dpr/services/productCollection/productCollectionStoreService.js +2 -0
  164. package/dpr/services/productCollection/productCollectionStoreService.js.map +7 -0
  165. package/dpr/services/productCollection/productCollectionStoreService.ts +26 -0
  166. package/dpr/services/reportingService.js +1 -1
  167. package/dpr/services/reportingService.js.map +1 -1
  168. package/dpr/services/reportingService.ts +1 -1
  169. package/dpr/types/AsyncReportUtils.js.map +1 -1
  170. package/dpr/types/AsyncReportUtils.ts +3 -4
  171. package/dpr/types/Charts.js +1 -1
  172. package/dpr/types/Charts.js.map +3 -3
  173. package/dpr/types/Charts.ts +0 -82
  174. package/dpr/types/Metrics.js +1 -1
  175. package/dpr/types/Metrics.js.map +1 -1
  176. package/dpr/types/Metrics.ts +7 -0
  177. package/dpr/types/ReportQuery.js +1 -1
  178. package/dpr/types/ReportQuery.js.map +3 -3
  179. package/dpr/types/ReportQuery.ts +24 -15
  180. package/dpr/types/ReportStore.js +1 -1
  181. package/dpr/types/ReportStore.js.map +1 -1
  182. package/dpr/types/ReportStore.ts +1 -0
  183. package/dpr/types/Services.d.js +1 -1
  184. package/dpr/types/Services.d.js.map +1 -1
  185. package/dpr/types/Services.d.ts +15 -0
  186. package/dpr/types/api.d.js +1 -1
  187. package/dpr/types/api.d.js.map +1 -1
  188. package/dpr/types/api.d.ts +197 -6
  189. package/dpr/utils/Personalisation/personalisationUtils.js +1 -1
  190. package/dpr/utils/Personalisation/personalisationUtils.js.map +3 -3
  191. package/dpr/utils/Personalisation/personalisationUtils.ts +15 -6
  192. package/dpr/utils/ReportStoreServiceUtils.js +1 -1
  193. package/dpr/utils/ReportStoreServiceUtils.js.map +3 -3
  194. package/dpr/utils/ReportStoreServiceUtils.ts +7 -0
  195. package/dpr/utils/UserStoreItemBuilder.js +1 -1
  196. package/dpr/utils/UserStoreItemBuilder.js.map +1 -1
  197. package/dpr/utils/UserStoreItemBuilder.ts +2 -2
  198. package/dpr/utils/datasetHelper.js +1 -1
  199. package/dpr/utils/datasetHelper.js.map +3 -3
  200. package/dpr/utils/datasetHelper.test.ts +11 -11
  201. package/dpr/utils/datasetHelper.ts +23 -8
  202. package/dpr/utils/logger.js +1 -1
  203. package/dpr/utils/logger.js.map +3 -3
  204. package/dpr/utils/logger.ts +6 -1
  205. package/package.json +2 -1
  206. package/dpr/components/_charts/chart/DashboardVisualisation.js +0 -2
  207. package/dpr/components/_charts/chart/DashboardVisualisation.js.map +0 -7
  208. package/dpr/components/_charts/chart/DashboardVisualisation.ts +0 -43
  209. package/dpr/components/_dashboards/dashboard/types.js +0 -2
  210. package/dpr/components/_dashboards/dashboard/types.js.map +0 -7
  211. package/dpr/components/_dashboards/dashboard/types.ts +0 -120
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/dpr/routes/journeys/request-report/filters/utils.ts"],
4
- "sourcesContent": ["/* eslint-disable no-param-reassign */\nimport { Request, Response, NextFunction } from 'express'\n\n// Utils\nimport FiltersFormUtils from '../../../../components/_async/async-filters-form/utils'\nimport LocalsHelper from '../../../../utils/localsHelper'\nimport FiltersUtils from '../../../../components/_filters/utils'\nimport { removeDuplicates } from '../../../../utils/reportStoreHelper'\nimport UserStoreItemBuilder from '../../../../utils/UserStoreItemBuilder'\n\n// Types\nimport type ReportingService from '../../../../services/reportingService'\nimport { ReportType, RequestFormData, RequestStatus } from '../../../../types/UserReports'\nimport type { ExecutionData, ChildReportExecutionData } from '../../../../types/ExecutionData'\nimport type { AsyncReportUtilsParams, RequestDataResult, RequestReportData } from '../../../../types/AsyncReportUtils'\nimport type {\n RenderFiltersReturnValue,\n SetQueryFromFiltersResult,\n} from '../../../../components/_async/async-filters-form/types'\nimport type { components } from '../../../../types/api'\nimport type { DashboardDefinition } from '../../../../components/_dashboards/dashboard/types'\nimport type { Services } from '../../../../types/Services'\nimport type DashboardService from '../../../../services/dashboardService'\nimport PersonalistionUtils from '../../../../utils/Personalisation/personalisationUtils'\nimport { FiltersType } from '../../../../components/_filters/filtersTypeEnum'\n\n/**\n * Updates the store with the request details\n *\n * @param {Request} req\n * @param {Response} res\n * @param {Services} services\n * @param {SetQueryFromFiltersResult} querySummaryData\n * @param {string} executionData\n * @return {*} {Promise<string>}\n */\nexport const updateStore = async ({\n req,\n res,\n services,\n queryData,\n executionData,\n childExecutionData,\n}: {\n req: Request\n res: Response\n services: Services\n queryData?: SetQueryFromFiltersResult\n executionData: ExecutionData\n childExecutionData: Array<ChildReportExecutionData>\n}): Promise<void> => {\n const { search, id, type } = req.body\n const { dprUser, definitionsPath, dpdPathFromQuery } = LocalsHelper.getValues(res)\n\n await removeDuplicates({ storeService: services.requestedReportService, userId: dprUser.id, id, search })\n await removeDuplicates({ storeService: services.recentlyViewedService, userId: dprUser.id, id, search })\n\n const requestFormData: RequestFormData = req.body\n const reportData = {\n type: requestFormData.type as ReportType,\n reportId: requestFormData.reportId,\n reportName: requestFormData.reportName,\n description: requestFormData.description,\n id: requestFormData.id,\n name: requestFormData.name,\n }\n\n let requestedReportData\n switch (type) {\n case ReportType.REPORT:\n requestedReportData = new UserStoreItemBuilder(reportData, requestFormData)\n .addExecutionData(executionData)\n .addChildExecutionData(childExecutionData)\n .addFilters(queryData?.filterData)\n .addSortData(queryData?.sortData)\n .addDefinitionsPath(definitionsPath, dpdPathFromQuery)\n .addRequestUrls(req)\n .addQuery(queryData)\n .addStatus(RequestStatus.SUBMITTED)\n .addTimestamp()\n .build()\n break\n case ReportType.DASHBOARD: {\n requestedReportData = new UserStoreItemBuilder(reportData, requestFormData)\n .addExecutionData(executionData)\n .addChildExecutionData(childExecutionData)\n .addFilters(queryData?.filterData)\n .addDefinitionsPath(definitionsPath, dpdPathFromQuery)\n .addRequestUrls(req)\n .addQuery(queryData)\n .addStatus(RequestStatus.SUBMITTED)\n .addTimestamp()\n .addMetrics(JSON.parse(req.body.sections))\n .build()\n break\n }\n default:\n break\n }\n\n await services.requestedReportService.addReport(dprUser.id, requestedReportData)\n}\n\nasync function requestChildReports(\n childVariants: Array<components['schemas']['ChildVariantDefinition']>,\n reportingService: ReportingService,\n token: string,\n reportId: string,\n queryData: SetQueryFromFiltersResult,\n dataProductDefinitionsPath: string,\n): Promise<Array<ChildReportExecutionData>> {\n return Promise.all(\n childVariants.map((childVariant) =>\n reportingService\n .requestAsyncReport(token, reportId, childVariant.id, {\n ...queryData.query,\n dataProductDefinitionsPath,\n })\n .then((response) => {\n const { executionId, tableId } = response\n return { executionId, tableId, variantId: childVariant.id }\n }),\n ),\n )\n}\n\nconst requestProduct = async ({\n req,\n res,\n token,\n dashboardService,\n reportingService,\n}: {\n req: Request\n res: Response\n token: string\n dashboardService: DashboardService\n reportingService: ReportingService\n}): Promise<{\n executionData: ExecutionData\n childExecutionData: Array<ChildReportExecutionData>\n queryData: SetQueryFromFiltersResult\n}> => {\n const { definitionsPath: dataProductDefinitionsPath, dpdPathFromQuery } = LocalsHelper.getValues(res)\n const { reportId, id, type } = req.body\n\n let fields\n let queryData\n let executionId\n let tableId\n let definition\n let childVariants: components['schemas']['ChildVariantDefinition'][] = []\n\n if (type === ReportType.REPORT) {\n definition = await reportingService.getDefinition(token, reportId, id, dataProductDefinitionsPath)\n\n fields = definition ? definition.variant.specification?.fields : []\n queryData = FiltersFormUtils.setQueryFromFilters(req, fields)\n ;({ executionId, tableId } = await reportingService.requestAsyncReport(token, reportId, id, {\n ...queryData.query,\n dataProductDefinitionsPath,\n }))\n childVariants = definition.variant.childVariants ?? []\n }\n\n if (type === ReportType.DASHBOARD) {\n definition = await dashboardService.getDefinition(token, reportId, id, dataProductDefinitionsPath)\n\n fields = definition ? definition.filterFields : []\n queryData = FiltersFormUtils.setQueryFromFilters(req, fields)\n ;({ executionId, tableId } = await dashboardService.requestAsyncDashboard(token, reportId, id, {\n ...queryData.query,\n dataProductDefinitionsPath,\n }))\n }\n\n const childExecutionData = await requestChildReports(\n childVariants,\n reportingService,\n token,\n reportId,\n queryData,\n dataProductDefinitionsPath,\n )\n\n const executionData = {\n executionId,\n tableId,\n ...(dpdPathFromQuery && { dataProductDefinitionsPath }),\n }\n\n return {\n executionData,\n childExecutionData,\n queryData,\n }\n}\n\nconst renderDashboardRequestData = async ({\n token,\n reportId,\n definitionPath,\n services,\n definition,\n}: {\n token: string\n reportId: string\n definitionPath: string\n services: Services\n definition: DashboardDefinition\n}) => {\n const productDefinitions = await services.reportingService.getDefinitions(token, definitionPath)\n const productDefinition = productDefinitions.find(\n (def: components['schemas']['ReportDefinitionSummary']) => def.id === reportId,\n )\n const reportName = productDefinition.name\n const { name, description, sections, filterFields: fields } = definition\n\n return {\n reportName,\n name,\n description,\n sections: sections || [],\n fields,\n }\n}\n\nconst renderReportRequestData = async (definition: components['schemas']['SingleVariantReportDefinition']) => {\n return {\n definition,\n reportName: definition.name,\n name: definition.variant.name,\n description: definition.variant.description || definition.description,\n template: definition.variant.specification,\n fields: definition?.variant?.specification?.fields,\n interactive: definition?.variant?.interactive,\n }\n}\n\nexport const getDefintionByType = async (req: Request, res: Response, next: NextFunction, services: Services) => {\n const { token, definitionsPath } = LocalsHelper.getValues(res)\n const { reportId, id, variantId, type } = req.params\n\n const service = type === ReportType.REPORT ? services.reportingService : services.dashboardService\n const definition = await service.getDefinition(token, reportId, variantId || id, definitionsPath)\n\n return definition\n}\n\nconst getFilterData = async (\n req: Request,\n res: Response,\n fields: components['schemas']['FieldDefinition'][],\n interactive: boolean,\n services: Services,\n userId: string,\n) => {\n const { reportId, id } = req.params\n\n let filtersData = <RenderFiltersReturnValue>await FiltersFormUtils.renderFilters(fields, interactive)\n filtersData.filters = PersonalistionUtils.setUserContextDefaults(res, filtersData.filters)\n\n const defaultFilterValues = await services.defaultFilterValuesService.get(userId, reportId, id, FiltersType.REQUEST)\n if (defaultFilterValues) {\n filtersData = PersonalistionUtils.setFilterValuesFromSavedDefaults(\n filtersData.filters,\n filtersData.sortBy,\n defaultFilterValues,\n )\n }\n\n filtersData.filters = FiltersUtils.setFilterValuesFromRequest(filtersData.filters, req)\n\n return { filtersData, defaultFilterValues }\n}\n\n/**\n * Sends the request for the async report\n *\n * @param {AsyncReportUtilsParams} { req, res, services }\n * @return {*}\n */\nexport const request = async ({ req, res, services }: AsyncReportUtilsParams) => {\n const { token } = LocalsHelper.getValues(res)\n const requestArgs = { req, res, token }\n\n const { executionData, queryData, childExecutionData } = await requestProduct({\n ...requestArgs,\n dashboardService: services.dashboardService,\n reportingService: services.reportingService,\n })\n\n if (executionData) {\n await updateStore({\n req,\n res,\n services,\n queryData,\n executionData,\n childExecutionData,\n })\n }\n\n return executionData\n}\n\nexport const cancelRequest = async ({ req, res, services }: AsyncReportUtilsParams) => {\n const { token, dprUser, definitionsPath } = LocalsHelper.getValues(res)\n const { reportId, id, executionId, type } = req.params\n\n let service\n if (type === ReportType.REPORT) service = services.reportingService\n if (type === ReportType.DASHBOARD) service = services.dashboardService\n\n const response = await service.cancelAsyncRequest(token, reportId, id, executionId, definitionsPath)\n\n if (response && response.cancellationSucceeded) {\n await services.requestedReportService.updateStatus(executionId, dprUser.id, RequestStatus.ABORTED)\n }\n}\n\n/**\n * Returns the data required for rendering the async filters component\n *\n * @param {AsyncReportUtilsParams} { req, res, dataSources }\n * @return {*}\n */\nexport const renderRequest = async ({\n req,\n res,\n services,\n next,\n}: AsyncReportUtilsParams): Promise<RequestDataResult | boolean> => {\n try {\n const { token, csrfToken, definitionsPath: definitionPath, dpdPathFromQuery, dprUser } = LocalsHelper.getValues(res)\n const { reportId, type, id } = req.params\n const { definition } = res.locals\n const defaultsSaved = <string>req.query.defaultsSaved\n\n const definitionApiArgs = { token, reportId, definitionPath, services }\n\n let name\n let reportName\n let description\n let template\n let fields: components['schemas']['FieldDefinition'][]\n let sections\n let interactive\n let filtersData\n let defaultFilterValues\n\n if (type === ReportType.REPORT) {\n ;({ name, reportName, description, fields, interactive } = await renderReportRequestData(definition))\n }\n\n if (type === ReportType.DASHBOARD) {\n ;({ name, reportName, description, sections, fields } = await renderDashboardRequestData({\n ...definitionApiArgs,\n definition,\n }))\n }\n\n if (fields) {\n ;({ filtersData, defaultFilterValues } = await getFilterData(req, res, fields, interactive, services, dprUser.id))\n }\n\n const reportData: RequestReportData = {\n reportName,\n name,\n description,\n reportId,\n id,\n ...(dpdPathFromQuery && { definitionPath }),\n csrfToken,\n template,\n sections,\n hasDefaults: defaultFilterValues?.length,\n defaultsSaved,\n type: type as ReportType,\n }\n\n return {\n title: `Request ${type}`,\n filtersDescription: `Customise your ${type} using the filters below and submit your request.`,\n filtersData,\n reportData,\n }\n } catch (error) {\n next(error)\n return false\n }\n}\n\nexport const getFiltersFromReqBody = (req: Request) => {\n return Object.keys(req.body)\n .filter((attr) => attr.includes('filters.'))\n .filter((attr) => !!req.body[attr])\n .map((attr) => {\n return { name: attr, value: req.body[attr] }\n })\n}\n\nexport default {\n request,\n cancelRequest,\n renderRequest,\n getFiltersFromReqBody,\n getDefintionByType,\n}\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["/* eslint-disable no-param-reassign */\nimport { Request, Response, NextFunction } from 'express'\n\n// Utils\nimport FiltersFormUtils from '../../../../components/_async/async-filters-form/utils'\nimport LocalsHelper from '../../../../utils/localsHelper'\nimport FiltersUtils from '../../../../components/_filters/utils'\nimport { removeDuplicates } from '../../../../utils/reportStoreHelper'\nimport UserStoreItemBuilder from '../../../../utils/UserStoreItemBuilder'\n\n// Types\nimport type ReportingService from '../../../../services/reportingService'\nimport { ReportType, RequestFormData, RequestStatus } from '../../../../types/UserReports'\nimport type { ExecutionData, ChildReportExecutionData } from '../../../../types/ExecutionData'\nimport type { AsyncReportUtilsParams, RequestDataResult, RequestReportData } from '../../../../types/AsyncReportUtils'\nimport type {\n RenderFiltersReturnValue,\n SetQueryFromFiltersResult,\n} from '../../../../components/_async/async-filters-form/types'\nimport type { components } from '../../../../types/api'\nimport type { Services } from '../../../../types/Services'\nimport type DashboardService from '../../../../services/dashboardService'\nimport PersonalistionUtils from '../../../../utils/Personalisation/personalisationUtils'\nimport { FiltersType } from '../../../../components/_filters/filtersTypeEnum'\n\n/**\n * Updates the store with the request details\n *\n * @param {Request} req\n * @param {Response} res\n * @param {Services} services\n * @param {SetQueryFromFiltersResult} querySummaryData\n * @param {string} executionData\n * @return {*} {Promise<string>}\n */\nexport const updateStore = async ({\n req,\n res,\n services,\n queryData,\n executionData,\n childExecutionData,\n}: {\n req: Request\n res: Response\n services: Services\n queryData?: SetQueryFromFiltersResult\n executionData: ExecutionData\n childExecutionData: Array<ChildReportExecutionData>\n}): Promise<void> => {\n const { search, id, type } = req.body\n const { dprUser, definitionsPath, dpdPathFromQuery } = LocalsHelper.getValues(res)\n\n await removeDuplicates({ storeService: services.requestedReportService, userId: dprUser.id, id, search })\n await removeDuplicates({ storeService: services.recentlyViewedService, userId: dprUser.id, id, search })\n\n const requestFormData: RequestFormData = req.body\n const reportData = {\n type: requestFormData.type as ReportType,\n reportId: requestFormData.reportId,\n reportName: requestFormData.reportName,\n description: requestFormData.description,\n id: requestFormData.id,\n name: requestFormData.name,\n }\n\n let requestedReportData\n switch (type) {\n case ReportType.REPORT:\n requestedReportData = new UserStoreItemBuilder(reportData, requestFormData)\n .addExecutionData(executionData)\n .addChildExecutionData(childExecutionData)\n .addFilters(queryData?.filterData)\n .addSortData(queryData?.sortData)\n .addDefinitionsPath(definitionsPath, dpdPathFromQuery)\n .addRequestUrls(req)\n .addQuery(queryData)\n .addStatus(RequestStatus.SUBMITTED)\n .addTimestamp()\n .build()\n break\n case ReportType.DASHBOARD: {\n requestedReportData = new UserStoreItemBuilder(reportData, requestFormData)\n .addExecutionData(executionData)\n .addChildExecutionData(childExecutionData)\n .addFilters(queryData?.filterData)\n .addDefinitionsPath(definitionsPath, dpdPathFromQuery)\n .addRequestUrls(req)\n .addQuery(queryData)\n .addStatus(RequestStatus.SUBMITTED)\n .addTimestamp()\n .addMetrics(JSON.parse(req.body.sections))\n .build()\n break\n }\n default:\n break\n }\n\n await services.requestedReportService.addReport(dprUser.id, requestedReportData)\n}\n\nasync function requestChildReports(\n childVariants: Array<components['schemas']['ChildVariantDefinition']>,\n reportingService: ReportingService,\n token: string,\n reportId: string,\n queryData: SetQueryFromFiltersResult,\n dataProductDefinitionsPath: string,\n): Promise<Array<ChildReportExecutionData>> {\n return Promise.all(\n childVariants.map((childVariant) =>\n reportingService\n .requestAsyncReport(token, reportId, childVariant.id, {\n ...queryData.query,\n dataProductDefinitionsPath,\n })\n .then((response) => {\n const { executionId, tableId } = response\n return { executionId, tableId, variantId: childVariant.id }\n }),\n ),\n )\n}\n\nconst requestProduct = async ({\n req,\n res,\n token,\n dashboardService,\n reportingService,\n}: {\n req: Request\n res: Response\n token: string\n dashboardService: DashboardService\n reportingService: ReportingService\n}): Promise<{\n executionData: ExecutionData\n childExecutionData: Array<ChildReportExecutionData>\n queryData: SetQueryFromFiltersResult\n}> => {\n const { definitionsPath: dataProductDefinitionsPath, dpdPathFromQuery } = LocalsHelper.getValues(res)\n const { reportId, id, type } = req.body\n\n let fields\n let queryData\n let executionId\n let tableId\n let definition\n let childVariants: components['schemas']['ChildVariantDefinition'][] = []\n\n if (type === ReportType.REPORT) {\n definition = await reportingService.getDefinition(token, reportId, id, dataProductDefinitionsPath)\n\n fields = definition ? definition.variant.specification?.fields : []\n queryData = FiltersFormUtils.setQueryFromFilters(req, fields)\n ;({ executionId, tableId } = await reportingService.requestAsyncReport(token, reportId, id, {\n ...queryData.query,\n dataProductDefinitionsPath,\n }))\n childVariants = definition.variant.childVariants ?? []\n }\n\n if (type === ReportType.DASHBOARD) {\n definition = await dashboardService.getDefinition(token, reportId, id, dataProductDefinitionsPath)\n\n fields = definition ? definition.filterFields : []\n queryData = FiltersFormUtils.setQueryFromFilters(req, fields)\n ;({ executionId, tableId } = await dashboardService.requestAsyncDashboard(token, reportId, id, {\n ...queryData.query,\n dataProductDefinitionsPath,\n }))\n }\n\n const childExecutionData = await requestChildReports(\n childVariants,\n reportingService,\n token,\n reportId,\n queryData,\n dataProductDefinitionsPath,\n )\n\n const executionData = {\n executionId,\n tableId,\n ...(dpdPathFromQuery && { dataProductDefinitionsPath }),\n }\n\n return {\n executionData,\n childExecutionData,\n queryData,\n }\n}\n\nconst renderDashboardRequestData = async ({\n token,\n reportId,\n definitionPath,\n services,\n definition,\n}: {\n token: string\n reportId: string\n definitionPath: string\n services: Services\n definition: components['schemas']['DashboardDefinition']\n}) => {\n const productDefinitions = await services.reportingService.getDefinitions(token, definitionPath)\n const productDefinition = productDefinitions.find(\n (def: components['schemas']['ReportDefinitionSummary']) => def.id === reportId,\n )\n const reportName = productDefinition.name\n const { name, description, sections, filterFields: fields } = definition\n\n return {\n reportName,\n name,\n description,\n sections: sections || [],\n fields,\n }\n}\n\nconst renderReportRequestData = async (definition: components['schemas']['SingleVariantReportDefinition']) => {\n return {\n definition,\n reportName: definition.name,\n name: definition.variant.name,\n description: definition.variant.description || definition.description,\n template: definition.variant.specification,\n fields: definition?.variant?.specification?.fields,\n interactive: definition?.variant?.interactive,\n }\n}\n\nexport const getDefintionByType = async (req: Request, res: Response, next: NextFunction, services: Services) => {\n const { token, definitionsPath } = LocalsHelper.getValues(res)\n const { reportId, id, variantId, type } = req.params\n\n const service = type === ReportType.REPORT ? services.reportingService : services.dashboardService\n const definition = await service.getDefinition(token, reportId, variantId || id, definitionsPath)\n\n return definition\n}\n\nconst getFilterData = async (\n req: Request,\n res: Response,\n fields: components['schemas']['FieldDefinition'][],\n interactive: boolean,\n services: Services,\n userId: string,\n) => {\n const { reportId, id } = req.params\n\n let filtersData = <RenderFiltersReturnValue>await FiltersFormUtils.renderFilters(fields, interactive)\n filtersData.filters = PersonalistionUtils.setUserContextDefaults(res, filtersData.filters)\n\n const defaultFilterValues = await services.defaultFilterValuesService.get(userId, reportId, id, FiltersType.REQUEST)\n if (defaultFilterValues) {\n filtersData = PersonalistionUtils.setFilterValuesFromSavedDefaults(\n filtersData.filters,\n filtersData.sortBy,\n defaultFilterValues,\n )\n }\n\n filtersData.filters = FiltersUtils.setFilterValuesFromRequest(filtersData.filters, req)\n\n return { filtersData, defaultFilterValues }\n}\n\n/**\n * Sends the request for the async report\n *\n * @param {AsyncReportUtilsParams} { req, res, services }\n * @return {*}\n */\nexport const request = async ({ req, res, services }: AsyncReportUtilsParams) => {\n const { token } = LocalsHelper.getValues(res)\n const requestArgs = { req, res, token }\n\n const { executionData, queryData, childExecutionData } = await requestProduct({\n ...requestArgs,\n dashboardService: services.dashboardService,\n reportingService: services.reportingService,\n })\n\n if (executionData) {\n await updateStore({\n req,\n res,\n services,\n queryData,\n executionData,\n childExecutionData,\n })\n }\n\n return executionData\n}\n\nexport const cancelRequest = async ({ req, res, services }: AsyncReportUtilsParams) => {\n const { token, dprUser, definitionsPath } = LocalsHelper.getValues(res)\n const { reportId, id, executionId, type } = req.params\n\n let service\n if (type === ReportType.REPORT) service = services.reportingService\n if (type === ReportType.DASHBOARD) service = services.dashboardService\n\n const response = await service.cancelAsyncRequest(token, reportId, id, executionId, definitionsPath)\n\n if (response && response.cancellationSucceeded) {\n await services.requestedReportService.updateStatus(executionId, dprUser.id, RequestStatus.ABORTED)\n }\n}\n\n/**\n * Returns the data required for rendering the async filters component\n *\n * @param {AsyncReportUtilsParams} { req, res, dataSources }\n * @return {*}\n */\nexport const renderRequest = async ({\n req,\n res,\n services,\n next,\n}: AsyncReportUtilsParams): Promise<RequestDataResult | boolean> => {\n try {\n const { token, csrfToken, definitionsPath: definitionPath, dpdPathFromQuery, dprUser } = LocalsHelper.getValues(res)\n const { reportId, type, id } = req.params\n const { definition } = res.locals\n const defaultsSaved = <string>req.query.defaultsSaved\n\n const definitionApiArgs = { token, reportId, definitionPath, services }\n\n let name\n let reportName\n let description\n let template\n let fields: components['schemas']['FieldDefinition'][]\n let sections\n let interactive\n let filtersData\n let defaultFilterValues\n\n if (type === ReportType.REPORT) {\n ;({ name, reportName, description, fields, interactive } = await renderReportRequestData(definition))\n }\n\n if (type === ReportType.DASHBOARD) {\n ;({ name, reportName, description, sections, fields } = await renderDashboardRequestData({\n ...definitionApiArgs,\n definition,\n }))\n }\n\n if (fields) {\n ;({ filtersData, defaultFilterValues } = await getFilterData(req, res, fields, interactive, services, dprUser.id))\n }\n\n const reportData: RequestReportData = {\n reportName,\n name,\n description,\n reportId,\n id,\n ...(dpdPathFromQuery && { definitionPath }),\n csrfToken,\n template,\n sections,\n hasDefaults: defaultFilterValues?.length > 0,\n defaultsSaved,\n type: type as ReportType,\n }\n\n return {\n title: `Request ${type}`,\n filtersDescription: `Customise your ${type} using the filters below and submit your request.`,\n filtersData,\n reportData,\n }\n } catch (error) {\n next(error)\n return false\n }\n}\n\nexport const getFiltersFromReqBody = (req: Request) => {\n return Object.keys(req.body)\n .filter((attr) => attr.includes('filters.'))\n .filter((attr) => !!req.body[attr])\n .map((attr) => {\n return { name: attr, value: req.body[attr] }\n })\n}\n\nexport default {\n request,\n cancelRequest,\n renderRequest,\n getFiltersFromReqBody,\n getDefintionByType,\n}\n"],
5
+ "mappings": "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",
6
6
  "names": ["utils_exports", "__export", "cancelRequest", "utils_default", "getDefintionByType", "getFiltersFromReqBody", "renderRequest", "request", "updateStore", "__toCommonJS", "import_utils", "import_localsHelper", "import_reportStoreHelper", "import_UserStoreItemBuilder", "import_UserReports", "import_personalisationUtils", "import_filtersTypeEnum", "req", "res", "services", "queryData", "executionData", "childExecutionData", "search", "id", "type", "dprUser", "definitionsPath", "dpdPathFromQuery", "LocalsHelper", "requestFormData", "reportData", "requestedReportData", "UserStoreItemBuilder", "requestChildReports", "childVariants", "reportingService", "token", "reportId", "dataProductDefinitionsPath", "childVariant", "response", "executionId", "tableId", "requestProduct", "dashboardService", "fields", "definition", "FiltersFormUtils", "renderDashboardRequestData", "definitionPath", "reportName", "def", "name", "description", "sections", "renderReportRequestData", "next", "variantId", "getFilterData", "interactive", "userId", "filtersData", "PersonalistionUtils", "defaultFilterValues", "FiltersUtils", "requestArgs", "service", "csrfToken", "defaultsSaved", "definitionApiArgs", "template", "error", "attr"]
7
7
  }
@@ -18,7 +18,6 @@ import type {
18
18
  SetQueryFromFiltersResult,
19
19
  } from '../../../../components/_async/async-filters-form/types'
20
20
  import type { components } from '../../../../types/api'
21
- import type { DashboardDefinition } from '../../../../components/_dashboards/dashboard/types'
22
21
  import type { Services } from '../../../../types/Services'
23
22
  import type DashboardService from '../../../../services/dashboardService'
24
23
  import PersonalistionUtils from '../../../../utils/Personalisation/personalisationUtils'
@@ -207,7 +206,7 @@ const renderDashboardRequestData = async ({
207
206
  reportId: string
208
207
  definitionPath: string
209
208
  services: Services
210
- definition: DashboardDefinition
209
+ definition: components['schemas']['DashboardDefinition']
211
210
  }) => {
212
211
  const productDefinitions = await services.reportingService.getDefinitions(token, definitionPath)
213
212
  const productDefinition = productDefinitions.find(
@@ -374,7 +373,7 @@ export const renderRequest = async ({
374
373
  csrfToken,
375
374
  template,
376
375
  sections,
377
- hasDefaults: defaultFilterValues?.length,
376
+ hasDefaults: defaultFilterValues?.length > 0,
378
377
  defaultsSaved,
379
378
  type: type as ReportType,
380
379
  }
@@ -1,2 +1,2 @@
1
- var d=Object.create;var u=Object.defineProperty;var y=Object.getOwnPropertyDescriptor;var a=Object.getOwnPropertyNames;var r=Object.getPrototypeOf,b=Object.prototype.hasOwnProperty;var h=(e,i,s,t)=>{if(i&&typeof i=="object"||typeof i=="function")for(let o of a(i))!b.call(e,o)&&o!==s&&u(e,o,{get:()=>i[o],enumerable:!(t=y(i,o))||t.enumerable});return e};var R=(e,i,s)=>(s=e!=null?d(r(e)):{},h(i||!e||!e.__esModule?u(s,"default",{value:e,enumerable:!0}):s,e));var c=require("cypress-tests/cypressUtils"),n=R(require("dayjs")),l=require("test-app/routes/integrationTests/redisStateTestUtils");context("Request status",()=>{const e="/embedded/platform/";beforeEach(()=>{cy.task("resetStubs"),cy.task("resetRedis"),cy.task("stubDefinitions"),cy.task("stubDefinitionRequestExamplesSuccess"),cy.task("stubViewAsyncReportingResults"),cy.task("stubRequestSuccessReportTablesCount"),cy.task("stubRequestSuccessResult20WithDelay")}),describe("post request",()=>{const i="";it("should show the status pages",()=>{cy.visit(e),cy.findByLabelText(/Reports catalogue.*/i).within(()=>{cy.findByRole("row",{name:(s,t)=>t.textContent.includes("Successful Report")&&t.textContent.includes("this will succeed")}).within(()=>{cy.findByRole("link",{name:"Request report"}).click()})}),cy.findByRole("button",{name:/Request/}).click(),(0,c.checkA11y)(),cy.task("stubReportsPickedStatus"),cy.findByText(/picked/i).should("be.visible"),(0,c.checkA11y)(),cy.task("stubReportsStartedStatus"),cy.findByText(/started/i).should("be.visible"),(0,c.checkA11y)(),cy.task("stubReportsFinishedStatus"),cy.findAllByRole("heading",{name:/successful report/i}).should("be.visible")}),it("should timeout",()=>{cy.visit(e),cy.findByLabelText(/Reports catalogue.*/i).within(()=>{cy.findByRole("row",{name:(s,t)=>t.textContent.includes("Successful Report")&&t.textContent.includes("this will succeed")}).within(()=>{cy.findByRole("link",{name:"Request report"}).click()})}),cy.findByRole("button",{name:/Request/}).click(),(0,c.checkA11y)(),cy.task("stubReportsPickedStatus"),cy.findByText("PICKED").should("be.visible"),(0,l.getRedisState)().then(s=>{const t={...s.body};t.requestedReports[0].timestamp.requested=(0,n.default)(s.body.requestedReports[0].timestamp.requested).add(-1,"days").toDate(),(0,l.setRedisState)(t)}),cy.findByText(/Request taking too long/).should("be.visible"),(0,c.checkA11y)()}),describe("failure status pages",()=>{beforeEach(()=>{cy.task("resetRedis"),cy.task("stubReportsPickedStatus"),cy.visit(e),cy.findByLabelText(/Reports catalogue.*/i).within(()=>{cy.findByRole("row",{name:(s,t)=>t.textContent.includes("Successful Report")&&t.textContent.includes("this will succeed")}).within(()=>{cy.findByRole("link",{name:"Request report"}).click()})}),cy.findByRole("button",{name:/Request/}).click(),cy.findByText(/submitted/i).should("be.visible"),cy.findByText(/picked/i).should("be.visible")}),it("should show the aborted status page",()=>{cy.task("stubReportsAbortedStatus"),cy.findByText(/aborted/i).should("be.visible"),cy.injectAxe(),cy.checkA11y()}),it("should show the expired status page",()=>{cy.task("stubReportsExpiredStatus"),cy.findByText(/expired/i).should("be.visible"),cy.injectAxe(),cy.checkA11y()}),it("should show the failed status page",()=>{cy.task("stubReportsFailedStatus"),cy.findByText(/your report has failed to generate/i).should("be.visible"),cy.findByRole("group").contains("Show full error").should("be.visible"),cy.findByText(/Show full error/).click(),cy.findByText(/a developer message goes here/).should("be.visible"),cy.findAllByRole("list").contains("Report ID: request-examples").should("be.visible"),cy.findAllByRole("list").contains(`Execution ID: ${i}`).should("be.visible"),cy.findAllByRole("list").contains("Table ID: tblId_").should("be.visible"),cy.injectAxe(),cy.checkA11y()})})})});
1
+ var n=Object.create;var u=Object.defineProperty;var y=Object.getOwnPropertyDescriptor;var a=Object.getOwnPropertyNames;var r=Object.getPrototypeOf,b=Object.prototype.hasOwnProperty;var h=(e,i,s,t)=>{if(i&&typeof i=="object"||typeof i=="function")for(let o of a(i))!b.call(e,o)&&o!==s&&u(e,o,{get:()=>i[o],enumerable:!(t=y(i,o))||t.enumerable});return e};var R=(e,i,s)=>(s=e!=null?n(r(e)):{},h(i||!e||!e.__esModule?u(s,"default",{value:e,enumerable:!0}):s,e));var c=require("cypress-tests/cypressUtils"),d=R(require("dayjs")),l=require("test-app/routes/integrationTests/redisStateTestUtils");context("Request status",()=>{const e="/embedded/platform/";beforeEach(()=>{(0,c.executeReportStubs)(),cy.task("stubDefinitionRequestExamplesSuccess"),cy.task("stubRequestSuccessResult20WithDelay")}),describe("post request",()=>{const i="";it("should show the status pages",()=>{cy.visit(e),cy.findByLabelText(/Reports catalogue.*/i).within(()=>{cy.findByRole("row",{name:(s,t)=>t.textContent.includes("Successful Report")&&t.textContent.includes("this will succeed")}).within(()=>{cy.findByRole("link",{name:"Request report"}).click()})}),cy.findByRole("button",{name:/Request/}).click(),(0,c.checkA11y)(),cy.task("stubReportsPickedStatus"),cy.findByText(/picked/i).should("be.visible"),(0,c.checkA11y)(),cy.task("stubReportsStartedStatus"),cy.findByText(/started/i).should("be.visible"),(0,c.checkA11y)(),cy.task("stubReportsFinishedStatus"),cy.findAllByRole("heading",{name:/successful report/i}).should("be.visible")}),it("should timeout",()=>{cy.visit(e),cy.findByLabelText(/Reports catalogue.*/i).within(()=>{cy.findByRole("row",{name:(s,t)=>t.textContent.includes("Successful Report")&&t.textContent.includes("this will succeed")}).within(()=>{cy.findByRole("link",{name:"Request report"}).click()})}),cy.findByRole("button",{name:/Request/}).click(),(0,c.checkA11y)(),cy.task("stubReportsPickedStatus"),cy.findByText("PICKED").should("be.visible"),(0,l.getRedisState)().then(s=>{const t={...s.body};t.requestedReports[0].timestamp.requested=(0,d.default)(s.body.requestedReports[0].timestamp.requested).add(-1,"days").toDate(),(0,l.setRedisState)(t)}),cy.findByText(/Request taking too long/).should("be.visible"),(0,c.checkA11y)()}),describe("failure status pages",()=>{beforeEach(()=>{cy.task("resetRedis"),cy.task("stubReportsPickedStatus"),cy.visit(e),cy.findByLabelText(/Reports catalogue.*/i).within(()=>{cy.findByRole("row",{name:(s,t)=>t.textContent.includes("Successful Report")&&t.textContent.includes("this will succeed")}).within(()=>{cy.findByRole("link",{name:"Request report"}).click()})}),cy.findByRole("button",{name:/Request/}).click(),cy.findByText(/submitted/i).should("be.visible"),cy.findByText(/picked/i).should("be.visible")}),it("should show the aborted status page",()=>{cy.task("stubReportsAbortedStatus"),cy.findByText(/aborted/i).should("be.visible"),cy.injectAxe(),cy.checkA11y()}),it("should show the expired status page",()=>{cy.task("stubReportsExpiredStatus"),cy.findByText(/expired/i).should("be.visible"),cy.injectAxe(),cy.checkA11y()}),it("should show the failed status page",()=>{cy.task("stubReportsFailedStatus"),cy.findByText(/your report has failed to generate/i).should("be.visible"),cy.findByRole("group").contains("Show full error").should("be.visible"),cy.findByText(/Show full error/).click(),cy.findByText(/a developer message goes here/).should("be.visible"),cy.findAllByRole("list").contains("Report ID: request-examples").should("be.visible"),cy.findAllByRole("list").contains(`Execution ID: ${i}`).should("be.visible"),cy.findAllByRole("list").contains("Table ID: tblId_").should("be.visible"),cy.injectAxe(),cy.checkA11y()})})})});
2
2
  //# sourceMappingURL=tests.cy.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/dpr/routes/journeys/request-report/status/tests.cy.ts"],
4
- "sourcesContent": ["import { checkA11y } from 'cypress-tests/cypressUtils'\nimport dayjs from 'dayjs'\nimport { getRedisState, setRedisState } from 'test-app/routes/integrationTests/redisStateTestUtils'\n\ncontext('Request status', () => {\n const path = '/embedded/platform/'\n\n beforeEach(() => {\n cy.task('resetStubs')\n cy.task('resetRedis')\n cy.task('stubDefinitions')\n cy.task('stubDefinitionRequestExamplesSuccess')\n cy.task('stubViewAsyncReportingResults')\n cy.task('stubRequestSuccessReportTablesCount')\n cy.task('stubRequestSuccessResult20WithDelay')\n })\n\n describe('post request', () => {\n const executionId = ''\n\n it('should show the status pages', () => {\n cy.visit(path)\n cy.findByLabelText(/Reports catalogue.*/i).within(() => {\n cy.findByRole('row', {\n name: (_, element) => {\n return (\n element.textContent.includes('Successful Report') && element.textContent.includes('this will succeed')\n )\n },\n }).within(() => {\n cy.findByRole('link', { name: 'Request report' }).click()\n })\n })\n cy.findByRole('button', { name: /Request/ }).click()\n checkA11y()\n cy.task('stubReportsPickedStatus')\n cy.findByText(/picked/i).should('be.visible')\n checkA11y()\n cy.task('stubReportsStartedStatus')\n cy.findByText(/started/i).should('be.visible')\n checkA11y()\n cy.task('stubReportsFinishedStatus')\n cy.findAllByRole('heading', { name: /successful report/i }).should('be.visible')\n })\n\n it('should timeout', () => {\n cy.visit(path)\n cy.findByLabelText(/Reports catalogue.*/i).within(() => {\n cy.findByRole('row', {\n name: (_, element) => {\n return (\n element.textContent.includes('Successful Report') && element.textContent.includes('this will succeed')\n )\n },\n }).within(() => {\n cy.findByRole('link', { name: 'Request report' }).click()\n })\n })\n cy.findByRole('button', { name: /Request/ }).click()\n checkA11y()\n cy.task('stubReportsPickedStatus')\n cy.findByText('PICKED').should('be.visible')\n getRedisState().then((state) => {\n const newState = {\n ...state.body,\n }\n newState.requestedReports[0].timestamp.requested = dayjs(state.body.requestedReports[0].timestamp.requested)\n .add(-1, 'days')\n .toDate()\n setRedisState(newState)\n })\n cy.findByText(/Request taking too long/).should('be.visible')\n checkA11y()\n })\n\n describe('failure status pages', () => {\n beforeEach(() => {\n cy.task('resetRedis')\n cy.task('stubReportsPickedStatus')\n cy.visit(path)\n cy.findByLabelText(/Reports catalogue.*/i).within(() => {\n cy.findByRole('row', {\n name: (_, element) => {\n return (\n element.textContent.includes('Successful Report') && element.textContent.includes('this will succeed')\n )\n },\n }).within(() => {\n cy.findByRole('link', { name: 'Request report' }).click()\n })\n })\n cy.findByRole('button', { name: /Request/ }).click()\n cy.findByText(/submitted/i).should('be.visible')\n cy.findByText(/picked/i).should('be.visible')\n })\n\n it('should show the aborted status page', () => {\n cy.task('stubReportsAbortedStatus')\n cy.findByText(/aborted/i).should('be.visible')\n cy.injectAxe()\n cy.checkA11y()\n })\n it('should show the expired status page', () => {\n cy.task('stubReportsExpiredStatus')\n cy.findByText(/expired/i).should('be.visible')\n cy.injectAxe()\n cy.checkA11y()\n })\n it('should show the failed status page', () => {\n cy.task('stubReportsFailedStatus')\n cy.findByText(/your report has failed to generate/i).should('be.visible')\n cy.findByRole('group').contains('Show full error').should('be.visible')\n cy.findByText(/Show full error/).click()\n cy.findByText(/a developer message goes here/).should('be.visible')\n cy.findAllByRole('list').contains('Report ID: request-examples').should('be.visible')\n cy.findAllByRole('list').contains(`Execution ID: ${executionId}`).should('be.visible')\n cy.findAllByRole('list').contains('Table ID: tblId_').should('be.visible')\n cy.injectAxe()\n cy.checkA11y()\n })\n })\n })\n})\n"],
5
- "mappings": "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",
4
+ "sourcesContent": ["import { checkA11y, executeReportStubs } from 'cypress-tests/cypressUtils'\nimport dayjs from 'dayjs'\nimport { getRedisState, setRedisState } from 'test-app/routes/integrationTests/redisStateTestUtils'\n\ncontext('Request status', () => {\n const path = '/embedded/platform/'\n\n beforeEach(() => {\n executeReportStubs()\n cy.task('stubDefinitionRequestExamplesSuccess')\n cy.task('stubRequestSuccessResult20WithDelay')\n })\n\n describe('post request', () => {\n const executionId = ''\n\n it('should show the status pages', () => {\n cy.visit(path)\n cy.findByLabelText(/Reports catalogue.*/i).within(() => {\n cy.findByRole('row', {\n name: (_, element) => {\n return (\n element.textContent.includes('Successful Report') && element.textContent.includes('this will succeed')\n )\n },\n }).within(() => {\n cy.findByRole('link', { name: 'Request report' }).click()\n })\n })\n cy.findByRole('button', { name: /Request/ }).click()\n checkA11y()\n cy.task('stubReportsPickedStatus')\n cy.findByText(/picked/i).should('be.visible')\n checkA11y()\n cy.task('stubReportsStartedStatus')\n cy.findByText(/started/i).should('be.visible')\n checkA11y()\n cy.task('stubReportsFinishedStatus')\n cy.findAllByRole('heading', { name: /successful report/i }).should('be.visible')\n })\n\n it('should timeout', () => {\n cy.visit(path)\n cy.findByLabelText(/Reports catalogue.*/i).within(() => {\n cy.findByRole('row', {\n name: (_, element) => {\n return (\n element.textContent.includes('Successful Report') && element.textContent.includes('this will succeed')\n )\n },\n }).within(() => {\n cy.findByRole('link', { name: 'Request report' }).click()\n })\n })\n cy.findByRole('button', { name: /Request/ }).click()\n checkA11y()\n cy.task('stubReportsPickedStatus')\n cy.findByText('PICKED').should('be.visible')\n getRedisState().then((state) => {\n const newState = {\n ...state.body,\n }\n newState.requestedReports[0].timestamp.requested = dayjs(state.body.requestedReports[0].timestamp.requested)\n .add(-1, 'days')\n .toDate()\n setRedisState(newState)\n })\n cy.findByText(/Request taking too long/).should('be.visible')\n checkA11y()\n })\n\n describe('failure status pages', () => {\n beforeEach(() => {\n cy.task('resetRedis')\n cy.task('stubReportsPickedStatus')\n cy.visit(path)\n cy.findByLabelText(/Reports catalogue.*/i).within(() => {\n cy.findByRole('row', {\n name: (_, element) => {\n return (\n element.textContent.includes('Successful Report') && element.textContent.includes('this will succeed')\n )\n },\n }).within(() => {\n cy.findByRole('link', { name: 'Request report' }).click()\n })\n })\n cy.findByRole('button', { name: /Request/ }).click()\n cy.findByText(/submitted/i).should('be.visible')\n cy.findByText(/picked/i).should('be.visible')\n })\n\n it('should show the aborted status page', () => {\n cy.task('stubReportsAbortedStatus')\n cy.findByText(/aborted/i).should('be.visible')\n cy.injectAxe()\n cy.checkA11y()\n })\n it('should show the expired status page', () => {\n cy.task('stubReportsExpiredStatus')\n cy.findByText(/expired/i).should('be.visible')\n cy.injectAxe()\n cy.checkA11y()\n })\n it('should show the failed status page', () => {\n cy.task('stubReportsFailedStatus')\n cy.findByText(/your report has failed to generate/i).should('be.visible')\n cy.findByRole('group').contains('Show full error').should('be.visible')\n cy.findByText(/Show full error/).click()\n cy.findByText(/a developer message goes here/).should('be.visible')\n cy.findAllByRole('list').contains('Report ID: request-examples').should('be.visible')\n cy.findAllByRole('list').contains(`Execution ID: ${executionId}`).should('be.visible')\n cy.findAllByRole('list').contains('Table ID: tblId_').should('be.visible')\n cy.injectAxe()\n cy.checkA11y()\n })\n })\n })\n})\n"],
5
+ "mappings": "2cAAA,IAAAA,EAA8C,sCAC9CC,EAAkB,oBAClBC,EAA6C,gEAE7C,QAAQ,iBAAkB,IAAM,CAC9B,MAAMC,EAAO,sBAEb,WAAW,IAAM,IACf,sBAAmB,EACnB,GAAG,KAAK,sCAAsC,EAC9C,GAAG,KAAK,qCAAqC,CAC/C,CAAC,EAED,SAAS,eAAgB,IAAM,CAC7B,MAAMC,EAAc,GAEpB,GAAG,+BAAgC,IAAM,CACvC,GAAG,MAAMD,CAAI,EACb,GAAG,gBAAgB,sBAAsB,EAAE,OAAO,IAAM,CACtD,GAAG,WAAW,MAAO,CACnB,KAAM,CAACE,EAAGC,IAENA,EAAQ,YAAY,SAAS,mBAAmB,GAAKA,EAAQ,YAAY,SAAS,mBAAmB,CAG3G,CAAC,EAAE,OAAO,IAAM,CACd,GAAG,WAAW,OAAQ,CAAE,KAAM,gBAAiB,CAAC,EAAE,MAAM,CAC1D,CAAC,CACH,CAAC,EACD,GAAG,WAAW,SAAU,CAAE,KAAM,SAAU,CAAC,EAAE,MAAM,KACnD,aAAU,EACV,GAAG,KAAK,yBAAyB,EACjC,GAAG,WAAW,SAAS,EAAE,OAAO,YAAY,KAC5C,aAAU,EACV,GAAG,KAAK,0BAA0B,EAClC,GAAG,WAAW,UAAU,EAAE,OAAO,YAAY,KAC7C,aAAU,EACV,GAAG,KAAK,2BAA2B,EACnC,GAAG,cAAc,UAAW,CAAE,KAAM,oBAAqB,CAAC,EAAE,OAAO,YAAY,CACjF,CAAC,EAED,GAAG,iBAAkB,IAAM,CACzB,GAAG,MAAMH,CAAI,EACb,GAAG,gBAAgB,sBAAsB,EAAE,OAAO,IAAM,CACtD,GAAG,WAAW,MAAO,CACnB,KAAM,CAACE,EAAGC,IAENA,EAAQ,YAAY,SAAS,mBAAmB,GAAKA,EAAQ,YAAY,SAAS,mBAAmB,CAG3G,CAAC,EAAE,OAAO,IAAM,CACd,GAAG,WAAW,OAAQ,CAAE,KAAM,gBAAiB,CAAC,EAAE,MAAM,CAC1D,CAAC,CACH,CAAC,EACD,GAAG,WAAW,SAAU,CAAE,KAAM,SAAU,CAAC,EAAE,MAAM,KACnD,aAAU,EACV,GAAG,KAAK,yBAAyB,EACjC,GAAG,WAAW,QAAQ,EAAE,OAAO,YAAY,KAC3C,iBAAc,EAAE,KAAMC,GAAU,CAC9B,MAAMC,EAAW,CACf,GAAGD,EAAM,IACX,EACAC,EAAS,iBAAiB,CAAC,EAAE,UAAU,aAAY,EAAAC,SAAMF,EAAM,KAAK,iBAAiB,CAAC,EAAE,UAAU,SAAS,EACxG,IAAI,GAAI,MAAM,EACd,OAAO,KACV,iBAAcC,CAAQ,CACxB,CAAC,EACD,GAAG,WAAW,yBAAyB,EAAE,OAAO,YAAY,KAC5D,aAAU,CACZ,CAAC,EAED,SAAS,uBAAwB,IAAM,CACrC,WAAW,IAAM,CACf,GAAG,KAAK,YAAY,EACpB,GAAG,KAAK,yBAAyB,EACjC,GAAG,MAAML,CAAI,EACb,GAAG,gBAAgB,sBAAsB,EAAE,OAAO,IAAM,CACtD,GAAG,WAAW,MAAO,CACnB,KAAM,CAACE,EAAGC,IAENA,EAAQ,YAAY,SAAS,mBAAmB,GAAKA,EAAQ,YAAY,SAAS,mBAAmB,CAG3G,CAAC,EAAE,OAAO,IAAM,CACd,GAAG,WAAW,OAAQ,CAAE,KAAM,gBAAiB,CAAC,EAAE,MAAM,CAC1D,CAAC,CACH,CAAC,EACD,GAAG,WAAW,SAAU,CAAE,KAAM,SAAU,CAAC,EAAE,MAAM,EACnD,GAAG,WAAW,YAAY,EAAE,OAAO,YAAY,EAC/C,GAAG,WAAW,SAAS,EAAE,OAAO,YAAY,CAC9C,CAAC,EAED,GAAG,sCAAuC,IAAM,CAC9C,GAAG,KAAK,0BAA0B,EAClC,GAAG,WAAW,UAAU,EAAE,OAAO,YAAY,EAC7C,GAAG,UAAU,EACb,GAAG,UAAU,CACf,CAAC,EACD,GAAG,sCAAuC,IAAM,CAC9C,GAAG,KAAK,0BAA0B,EAClC,GAAG,WAAW,UAAU,EAAE,OAAO,YAAY,EAC7C,GAAG,UAAU,EACb,GAAG,UAAU,CACf,CAAC,EACD,GAAG,qCAAsC,IAAM,CAC7C,GAAG,KAAK,yBAAyB,EACjC,GAAG,WAAW,qCAAqC,EAAE,OAAO,YAAY,EACxE,GAAG,WAAW,OAAO,EAAE,SAAS,iBAAiB,EAAE,OAAO,YAAY,EACtE,GAAG,WAAW,iBAAiB,EAAE,MAAM,EACvC,GAAG,WAAW,+BAA+B,EAAE,OAAO,YAAY,EAClE,GAAG,cAAc,MAAM,EAAE,SAAS,6BAA6B,EAAE,OAAO,YAAY,EACpF,GAAG,cAAc,MAAM,EAAE,SAAS,iBAAiBF,CAAW,EAAE,EAAE,OAAO,YAAY,EACrF,GAAG,cAAc,MAAM,EAAE,SAAS,kBAAkB,EAAE,OAAO,YAAY,EACzE,GAAG,UAAU,EACb,GAAG,UAAU,CACf,CAAC,CACH,CAAC,CACH,CAAC,CACH,CAAC",
6
6
  "names": ["import_cypressUtils", "import_dayjs", "import_redisStateTestUtils", "path", "executionId", "_", "element", "state", "newState", "dayjs"]
7
7
  }
@@ -1,4 +1,4 @@
1
- import { checkA11y } from 'cypress-tests/cypressUtils'
1
+ import { checkA11y, executeReportStubs } from 'cypress-tests/cypressUtils'
2
2
  import dayjs from 'dayjs'
3
3
  import { getRedisState, setRedisState } from 'test-app/routes/integrationTests/redisStateTestUtils'
4
4
 
@@ -6,12 +6,8 @@ context('Request status', () => {
6
6
  const path = '/embedded/platform/'
7
7
 
8
8
  beforeEach(() => {
9
- cy.task('resetStubs')
10
- cy.task('resetRedis')
11
- cy.task('stubDefinitions')
9
+ executeReportStubs()
12
10
  cy.task('stubDefinitionRequestExamplesSuccess')
13
- cy.task('stubViewAsyncReportingResults')
14
- cy.task('stubRequestSuccessReportTablesCount')
15
11
  cy.task('stubRequestSuccessResult20WithDelay')
16
12
  })
17
13
 
@@ -1,2 +1,2 @@
1
- context("Requesting a report",()=>{const c="/embedded/platform/",o=()=>{cy.task("stubReportsSubmittedStatus"),cy.findByRole("strong").contains("SUBMITTED"),cy.task("stubReportsPickedStatus"),cy.findByRole("strong").contains("PICKED"),cy.task("stubReportsStartedStatus"),cy.findByRole("strong").contains("STARTED"),cy.task("stubReportsFinishedStatus")};describe("Successful request",()=>{beforeEach(()=>{cy.task("resetStubs"),cy.task("resetRedis"),cy.task("stubDefinitions"),cy.task("stubDefinitionRequestExamplesSuccess"),cy.task("stubViewAsyncReportingResults"),cy.task("stubReportsFinishedStatus"),cy.task("stubRequestSuccessResult20"),cy.task("stubRequestSuccessReportTablesCount"),cy.visit(c)}),it("should succesfully request and load a report",()=>{cy.findByLabelText(/Reports catalogue.*/i).within(()=>{cy.findByRole("row",{name:(i,s)=>s.textContent.includes("Successful Report")&&s.textContent.includes("this will succeed")}).within(()=>{cy.findByRole("link",{name:"Request report"}).click()})}),cy.url().should("have.string","/embedded/platform/dpr/request-report/report/request-examples/request-example-success/filters"),cy.location().should(i=>{expect(i.search).to.contain("filters.field1=value1.2"),expect(i.search).to.contain("filters.field3.start=2003-02-0"),expect(i.search).to.contain("filters.field3.end=2006-05-04"),expect(i.search).to.contain("filters.field7=2005-02-01"),expect(i.search).to.contain("filters.field8=value8.2&filters.field8=value8.3"),expect(i.search).to.contain("sortColumn=field1&sortedAsc=false")}),cy.findByRole("button",{name:"Request report"}).click(),cy.url().should("match",/.*\/embedded\/platform\/dpr\/request-report\/report\/request-examples\/request-example-success\/(.*)\/status/i),o(),cy.url().should("match",/.*\/embedded\/platform\/dpr\/view-report\/async\/report\/request-examples\/request-example-success\/(.*)\/report/i),cy.location().should(i=>{expect(i.search).to.contain("columns=field1&columns=field2&columns=field3&columns=field6&columns=field7")})}),it("should redirect the old request url to the new one",()=>{cy.visit("/embedded/platform/async/report/request-examples/request-example-success/request"),cy.url().should("have.string","/embedded/platform/dpr/request-report/report/request-examples/request-example-success/filters"),cy.location().should(s=>{expect(s.search).to.contain("filters.field1=value1.2"),expect(s.search).to.contain("filters.field3.start=2003-02-0"),expect(s.search).to.contain("filters.field3.end=2006-05-04"),expect(s.search).to.contain("filters.field7=2005-02-01"),expect(s.search).to.contain("filters.field8=value8.2&filters.field8=value8.3"),expect(s.search).to.contain("sortColumn=field1&sortedAsc=false")})})}),describe("Failed request",()=>{beforeEach(()=>{cy.task("resetStubs"),cy.task("resetRedis"),cy.task("stubDefinitions"),cy.task("stubDefinitionRequestExamplesSuccess"),cy.task("stubViewAsyncReportingResults"),cy.task("stubRequestSuccessResult20"),cy.task("stubReportsFinishedStatus"),cy.task("stubRequestSuccessReportTablesCount"),cy.visit(c)});const i=()=>{cy.task("stubReportsFailedStatus"),cy.findByLabelText(/Reports catalogue.*/i).within(()=>{cy.findByRole("row",{name:(e,t)=>t.textContent.includes("Successful Report")&&t.textContent.includes("this will succeed")}).within(()=>{cy.findByRole("link",{name:"Request report"}).click()})}),cy.findByRole("group",{name:/Field 1/}).findByRole("radio",{checked:!0}).invoke("val").as("field1"),cy.findByRole("combobox",{name:/Field 2/}).invoke("val").as("field2"),cy.findByRole("group",{name:/Field 3/}).within(()=>{cy.findByRole("textbox",{name:/From/}).invoke("val").as("field3From"),cy.findByRole("textbox",{name:/To/}).invoke("val").as("field3To")}),cy.findByRole("combobox",{name:/Field 4/}).invoke("val").as("field4"),cy.findByRole("combobox",{name:/Field 5/}).invoke("val").as("field5"),cy.findByRole("textbox",{name:/Field 6/}).invoke("val").as("field6"),cy.findByRole("textbox",{name:/Field 7/}).invoke("val").as("field7"),cy.findByRole("group",{name:/Field 8/}).within(()=>{cy.findAllByRole("checkbox").each((e,t)=>{cy.wrap(e).invoke("val").as(`field8-${t}`)})}),cy.findByRole("button",{name:"Request report"}).click(),cy.findByRole("button",{name:"Retry"}).click(),cy.findByRole("group",{name:/Field 1/}).findByRole("radio",{checked:!0}).invoke("val").then(e=>{cy.get("@field1").should("equal",e)}),cy.findByRole("combobox",{name:/Field 2/}).invoke("val").then(e=>{cy.get("@field2").should("equal",e)}),cy.findByRole("group",{name:/Field 3/}).within(()=>{cy.findByRole("textbox",{name:/From/}).invoke("val").then(e=>{cy.get("@field3From").should("equal",e)}),cy.findByRole("textbox",{name:/To/}).invoke("val").then(e=>{cy.get("@field3To").should("equal",e)})}),cy.findByRole("combobox",{name:/Field 4/}).invoke("val").then(e=>{cy.get("@field4").should("equal",e)}),cy.findByRole("combobox",{name:/Field 5/}).invoke("val").then(e=>{cy.get("@field5").should("equal",e)}),cy.findByRole("textbox",{name:/Field 6/}).invoke("val").then(e=>{cy.get("@field6").should("equal",e)}),cy.findByRole("textbox",{name:/Field 7/}).invoke("val").then(e=>{cy.get("@field7").should("equal",e)}),cy.findByRole("group",{name:/Field 8/}).within(()=>{cy.findAllByRole("checkbox").each((e,t)=>{cy.wrap(e).invoke("val").then(n=>{cy.get(`@field8-${t}`).should("equal",n)})})})},s=()=>{cy.visit(c),cy.findByRole("tab",{name:/Requested/}).click(),cy.findByLabelText(/Requested/i).within(()=>{cy.findByRole("row",{name:(e,t)=>t.textContent.includes("Successful Report")}).within(()=>{cy.findByRole("link",{name:"Retry"}).should("be.visible"),cy.findByRole("link",{name:"Remove"}).should("be.visible"),cy.findByRole("cell",{name:"FAILED"}).should("be.visible")})}),cy.findByRole("link",{name:"Retry"}).click(),cy.findByText(/Your report has failed to generate/).should("be.visible"),cy.findAllByText(/Successful Report/).should("be.visible"),cy.visit(c),cy.findByRole("tab",{name:/Requested/}).click(),cy.findByLabelText(/Requested/i).within(()=>{cy.findByRole("row",{name:(e,t)=>t.textContent.includes("Successful Report")}).within(()=>{cy.findByRole("link",{name:"Retry"}).click()})}),cy.findByText(/Your report has failed to generate/).should("be.visible"),cy.findAllByText(/Successful Report/).should("be.visible")},l=()=>{cy.url().then(e=>{const t=e.split("/"),n=t[t.length-2],u=`/embedded/platform/async/report/request-examples/request-example-success/request/${n}`;cy.visit(u),cy.url().should("have.string",`/embedded/platform/dpr/request-report/report/request-examples/request-example-success/${n}/status`)})},r=()=>{cy.visit(c),cy.findByRole("tab",{name:/Requested/}).click(),cy.findByLabelText(/Requested/i).within(()=>{cy.findByRole("row",{name:(e,t)=>t.textContent.includes("Successful Report")}).within(()=>{cy.findByRole("link",{name:"Remove"}).click()})}),cy.findByLabelText(/Requested/i).within(()=>{cy.findByRole("row",{name:(e,t)=>t.textContent.includes("Successful Report")}).should("not.exist")})};it("should test out filters, retry/remove and old status url redirects",()=>{i(),s(),l(),r()})}),describe("Aborted request",()=>{const i="/embedded/platform/dpr/request-report/report/request-examples/request-example-success/filters?filters.field1=value1.2&filters.field3.start=2003-02-01&filters.field3.end=2006-05-04&filters.field7=2005-02-01&filters.field8=value8.2&filters.field8=value8.3&sortColumn=field1&sortedAsc=false";beforeEach(()=>{cy.task("resetStubs"),cy.task("resetRedis"),cy.task("stubDefinitions"),cy.task("stubDefinitionRequestExamplesSuccess"),cy.task("stubViewAsyncReportingResults"),cy.task("stubReportsFinishedStatus"),cy.task("stubRequestSuccessResult20"),cy.task("stubRequestSuccessReportTablesCount"),cy.task("stubCancelAsyncRequest"),cy.visit(c)}),it("should be able to abort the request",()=>{cy.findByLabelText(/Reports catalogue.*/i).within(()=>{cy.findByRole("row",{name:(s,l)=>l.textContent.includes("Successful Report")&&l.textContent.includes("this will succeed")}).within(()=>{cy.findByRole("link",{name:"Request report"}).click()})}),cy.url().should("have.string","/embedded/platform/dpr/request-report/report/request-examples/request-example-success/filters"),cy.findByRole("button",{name:"Request report"}).click(),cy.url().should("match",/.*\/embedded\/platform\/dpr\/request-report\/report\/request-examples\/request-example-success\/(.*)\/status/i),cy.findByRole("button",{name:/Cancel/}).click(),cy.task("stubReportsAbortedStatus"),cy.findByRole("strong").contains("ABORTED"),cy.findByRole("button",{name:/Return to request page/}).click(),cy.url().should("have.string","/embedded/platform/dpr/request-report/report/request-examples/request-example-success/filters"),cy.visit(c),cy.findByRole("tab",{name:/Requested/}).click(),cy.findByLabelText(/Requested/i).within(()=>{cy.findByRole("row",{name:(s,l)=>l.textContent.includes("Successful Report")}).within(()=>{cy.findByRole("link",{name:"Retry"}).should("be.visible"),cy.findByRole("link",{name:"Remove"}).should("be.visible"),cy.findByRole("cell",{name:"ABORTED"}).should("be.visible")})}),cy.findByLabelText(/Requested/i).within(()=>{cy.findByRole("row",{name:(s,l)=>l.textContent.includes("Successful Report")}).within(()=>{cy.findByRole("link",{name:"Retry"}).click()})}),cy.url().should("have.string",i),cy.visit(c),cy.findByRole("tab",{name:/Requested/}).click(),cy.findByLabelText(/Requested/i).within(()=>{cy.findByRole("row",{name:(s,l)=>l.textContent.includes("Successful Report")}).within(()=>{cy.findByRole("link",{name:"Remove"}).click()})}),cy.findByLabelText(/Requested/i).within(()=>{cy.findByRole("row",{name:(s,l)=>l.textContent.includes("Successful Report")}).should("not.exist")})})}),describe("Expired request",()=>{beforeEach(()=>{cy.task("resetStubs"),cy.task("resetRedis"),cy.task("stubDefinitions"),cy.task("stubDefinitionRequestExamplesSuccess"),cy.task("stubViewAsyncReportingResults"),cy.task("stubReportsFinishedStatus"),cy.task("stubRequestSuccessResult20"),cy.task("stubRequestSuccessReportTablesCount"),cy.visit(c)})})});
1
+ var n=require("../../../../../cypress-tests/cypressUtils");context("Requesting a report",()=>{const c="/embedded/platform/",r=()=>{cy.task("stubReportsSubmittedStatus"),cy.findByRole("strong").contains("SUBMITTED"),cy.task("stubReportsPickedStatus"),cy.findByRole("strong").contains("PICKED"),cy.task("stubReportsStartedStatus"),cy.findByRole("strong").contains("STARTED"),cy.task("stubReportsFinishedStatus")};describe("Successful request",()=>{beforeEach(()=>{(0,n.executeReportStubs)(),cy.task("stubDefinitionRequestExamplesSuccess"),cy.task("stubRequestSuccessResult20"),cy.visit(c)}),it("should succesfully request and load a report",()=>{cy.findByLabelText(/Reports catalogue.*/i).within(()=>{cy.findByRole("row",{name:(l,s)=>s.textContent.includes("Successful Report")&&s.textContent.includes("this will succeed")}).within(()=>{cy.findByRole("link",{name:"Request report"}).click()})}),cy.url().should("have.string","/embedded/platform/dpr/request-report/report/request-examples/request-example-success/filters"),cy.location().should(l=>{expect(l.search).to.contain("filters.field1=value1.2"),expect(l.search).to.contain("filters.field3.start=2003-02-0"),expect(l.search).to.contain("filters.field3.end=2006-05-04"),expect(l.search).to.contain("filters.field7=2005-02-01"),expect(l.search).to.contain("filters.field8=value8.2&filters.field8=value8.3"),expect(l.search).to.contain("sortColumn=field1&sortedAsc=false")}),cy.findByRole("button",{name:"Request report"}).click(),cy.url().should("match",/.*\/embedded\/platform\/dpr\/request-report\/report\/request-examples\/request-example-success\/(.*)\/status/i),r(),cy.url().should("match",/.*\/embedded\/platform\/dpr\/view-report\/async\/report\/request-examples\/request-example-success\/(.*)\/report/i),cy.location().should(l=>{expect(l.search).to.contain("columns=field1&columns=field2&columns=field3&columns=field6&columns=field7")})}),it("should redirect the old request url to the new one",()=>{cy.visit("/embedded/platform/async/report/request-examples/request-example-success/request"),cy.url().should("have.string","/embedded/platform/dpr/request-report/report/request-examples/request-example-success/filters"),cy.location().should(s=>{expect(s.search).to.contain("filters.field1=value1.2"),expect(s.search).to.contain("filters.field3.start=2003-02-0"),expect(s.search).to.contain("filters.field3.end=2006-05-04"),expect(s.search).to.contain("filters.field7=2005-02-01"),expect(s.search).to.contain("filters.field8=value8.2&filters.field8=value8.3"),expect(s.search).to.contain("sortColumn=field1&sortedAsc=false")})})}),describe("Failed request",()=>{beforeEach(()=>{(0,n.executeReportStubs)(),cy.task("stubDefinitionRequestExamplesSuccess"),cy.task("stubRequestSuccessResult20"),cy.visit(c)});const l=()=>{cy.task("stubReportsFailedStatus"),cy.findByLabelText(/Reports catalogue.*/i).within(()=>{cy.findByRole("row",{name:(e,t)=>t.textContent.includes("Successful Report")&&t.textContent.includes("this will succeed")}).within(()=>{cy.findByRole("link",{name:"Request report"}).click()})}),cy.findByRole("group",{name:/Field 1/}).findByRole("radio",{checked:!0}).invoke("val").as("field1"),cy.findByRole("combobox",{name:/Field 2/}).invoke("val").as("field2"),cy.findByRole("group",{name:/Field 3/}).within(()=>{cy.findByRole("textbox",{name:/From/}).invoke("val").as("field3From"),cy.findByRole("textbox",{name:/To/}).invoke("val").as("field3To")}),cy.findByRole("combobox",{name:/Field 4/}).invoke("val").as("field4"),cy.findByRole("combobox",{name:/Field 5/}).invoke("val").as("field5"),cy.findByRole("textbox",{name:/Field 6/}).invoke("val").as("field6"),cy.findByRole("textbox",{name:/Field 7/}).invoke("val").as("field7"),cy.findByRole("group",{name:/Field 8/}).within(()=>{cy.findAllByRole("checkbox").each((e,t)=>{cy.wrap(e).invoke("val").as(`field8-${t}`)})}),cy.findByRole("button",{name:"Request report"}).click(),cy.findByRole("button",{name:"Retry"}).click(),cy.findByRole("group",{name:/Field 1/}).findByRole("radio",{checked:!0}).invoke("val").then(e=>{cy.get("@field1").should("equal",e)}),cy.findByRole("combobox",{name:/Field 2/}).invoke("val").then(e=>{cy.get("@field2").should("equal",e)}),cy.findByRole("group",{name:/Field 3/}).within(()=>{cy.findByRole("textbox",{name:/From/}).invoke("val").then(e=>{cy.get("@field3From").should("equal",e)}),cy.findByRole("textbox",{name:/To/}).invoke("val").then(e=>{cy.get("@field3To").should("equal",e)})}),cy.findByRole("combobox",{name:/Field 4/}).invoke("val").then(e=>{cy.get("@field4").should("equal",e)}),cy.findByRole("combobox",{name:/Field 5/}).invoke("val").then(e=>{cy.get("@field5").should("equal",e)}),cy.findByRole("textbox",{name:/Field 6/}).invoke("val").then(e=>{cy.get("@field6").should("equal",e)}),cy.findByRole("textbox",{name:/Field 7/}).invoke("val").then(e=>{cy.get("@field7").should("equal",e)}),cy.findByRole("group",{name:/Field 8/}).within(()=>{cy.findAllByRole("checkbox").each((e,t)=>{cy.wrap(e).invoke("val").then(o=>{cy.get(`@field8-${t}`).should("equal",o)})})})},s=()=>{cy.visit(c),cy.findByRole("tab",{name:/Requested/}).click(),cy.findByLabelText(/Requested/i).within(()=>{cy.findByRole("row",{name:(e,t)=>t.textContent.includes("Successful Report")}).within(()=>{cy.findByRole("link",{name:"Retry"}).should("be.visible"),cy.findByRole("link",{name:"Remove"}).should("be.visible"),cy.findByRole("cell",{name:"FAILED"}).should("be.visible")})}),cy.findByRole("link",{name:"Retry"}).click(),cy.findByText(/Your report has failed to generate/).should("be.visible"),cy.findAllByText(/Successful Report/).should("be.visible"),cy.visit(c),cy.findByRole("tab",{name:/Requested/}).click(),cy.findByLabelText(/Requested/i).within(()=>{cy.findByRole("row",{name:(e,t)=>t.textContent.includes("Successful Report")}).within(()=>{cy.findByRole("link",{name:"Retry"}).click()})}),cy.findByText(/Your report has failed to generate/).should("be.visible"),cy.findAllByText(/Successful Report/).should("be.visible")},i=()=>{cy.url().then(e=>{const t=e.split("/"),o=t[t.length-2],u=`/embedded/platform/async/report/request-examples/request-example-success/request/${o}`;cy.visit(u),cy.url().should("have.string",`/embedded/platform/dpr/request-report/report/request-examples/request-example-success/${o}/status`)})},d=()=>{cy.visit(c),cy.findByRole("tab",{name:/Requested/}).click(),cy.findByLabelText(/Requested/i).within(()=>{cy.findByRole("row",{name:(e,t)=>t.textContent.includes("Successful Report")}).within(()=>{cy.findByRole("link",{name:"Remove"}).click()})}),cy.findByLabelText(/Requested/i).within(()=>{cy.findByRole("row",{name:(e,t)=>t.textContent.includes("Successful Report")}).should("not.exist")})};it("should test out filters, retry/remove and old status url redirects",()=>{l(),s(),i(),d()})}),describe("Aborted request",()=>{const l="/embedded/platform/dpr/request-report/report/request-examples/request-example-success/filters?filters.field1=value1.2&filters.field3.start=2003-02-01&filters.field3.end=2006-05-04&filters.field7=2005-02-01&filters.field8=value8.2&filters.field8=value8.3&sortColumn=field1&sortedAsc=false";beforeEach(()=>{(0,n.executeReportStubs)(),cy.task("stubDefinitionRequestExamplesSuccess"),cy.task("stubRequestSuccessResult20"),cy.task("stubCancelAsyncRequest"),cy.visit(c)}),it("should be able to abort the request",()=>{cy.findByLabelText(/Reports catalogue.*/i).within(()=>{cy.findByRole("row",{name:(s,i)=>i.textContent.includes("Successful Report")&&i.textContent.includes("this will succeed")}).within(()=>{cy.findByRole("link",{name:"Request report"}).click()})}),cy.url().should("have.string","/embedded/platform/dpr/request-report/report/request-examples/request-example-success/filters"),cy.findByRole("button",{name:"Request report"}).click(),cy.url().should("match",/.*\/embedded\/platform\/dpr\/request-report\/report\/request-examples\/request-example-success\/(.*)\/status/i),cy.findByRole("button",{name:/Cancel/}).click(),cy.task("stubReportsAbortedStatus"),cy.findByRole("strong").contains("ABORTED"),cy.findByRole("button",{name:/Return to request page/}).click(),cy.url().should("have.string","/embedded/platform/dpr/request-report/report/request-examples/request-example-success/filters"),cy.visit(c),cy.findByRole("tab",{name:/Requested/}).click(),cy.findByLabelText(/Requested/i).within(()=>{cy.findByRole("row",{name:(s,i)=>i.textContent.includes("Successful Report")}).within(()=>{cy.findByRole("link",{name:"Retry"}).should("be.visible"),cy.findByRole("link",{name:"Remove"}).should("be.visible"),cy.findByRole("cell",{name:"ABORTED"}).should("be.visible")})}),cy.findByLabelText(/Requested/i).within(()=>{cy.findByRole("row",{name:(s,i)=>i.textContent.includes("Successful Report")}).within(()=>{cy.findByRole("link",{name:"Retry"}).click()})}),cy.url().should("have.string",l),cy.visit(c),cy.findByRole("tab",{name:/Requested/}).click(),cy.findByLabelText(/Requested/i).within(()=>{cy.findByRole("row",{name:(s,i)=>i.textContent.includes("Successful Report")}).within(()=>{cy.findByRole("link",{name:"Remove"}).click()})}),cy.findByLabelText(/Requested/i).within(()=>{cy.findByRole("row",{name:(s,i)=>i.textContent.includes("Successful Report")}).should("not.exist")})})})});
2
2
  //# sourceMappingURL=tests.cy.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/dpr/routes/journeys/request-report/tests.cy.ts"],
4
- "sourcesContent": ["context('Requesting a report', () => {\n const path = '/embedded/platform/'\n\n const checkStatuses = () => {\n cy.task('stubReportsSubmittedStatus')\n cy.findByRole('strong').contains('SUBMITTED')\n cy.task('stubReportsPickedStatus')\n cy.findByRole('strong').contains('PICKED')\n cy.task('stubReportsStartedStatus')\n cy.findByRole('strong').contains('STARTED')\n cy.task('stubReportsFinishedStatus')\n }\n\n describe('Successful request', () => {\n beforeEach(() => {\n cy.task('resetStubs')\n cy.task('resetRedis')\n cy.task('stubDefinitions')\n cy.task('stubDefinitionRequestExamplesSuccess')\n cy.task('stubViewAsyncReportingResults')\n cy.task('stubReportsFinishedStatus')\n cy.task('stubRequestSuccessResult20')\n cy.task('stubRequestSuccessReportTablesCount')\n cy.visit(path)\n })\n\n it('should succesfully request and load a report', () => {\n cy.findByLabelText(/Reports catalogue.*/i).within(() => {\n cy.findByRole('row', {\n name: (_, element) => {\n return (\n element.textContent.includes('Successful Report') && element.textContent.includes('this will succeed')\n )\n },\n }).within(() => {\n cy.findByRole('link', { name: 'Request report' }).click()\n })\n })\n cy.url().should(\n 'have.string',\n '/embedded/platform/dpr/request-report/report/request-examples/request-example-success/filters',\n )\n cy.location().should((location) => {\n expect(location.search).to.contain(`filters.field1=value1.2`)\n expect(location.search).to.contain(`filters.field3.start=2003-02-0`)\n expect(location.search).to.contain(`filters.field3.end=2006-05-04`)\n expect(location.search).to.contain(`filters.field7=2005-02-01`)\n expect(location.search).to.contain(`filters.field8=value8.2&filters.field8=value8.3`)\n expect(location.search).to.contain(`sortColumn=field1&sortedAsc=false`)\n })\n\n cy.findByRole('button', { name: 'Request report' }).click()\n cy.url().should(\n 'match',\n /.*\\/embedded\\/platform\\/dpr\\/request-report\\/report\\/request-examples\\/request-example-success\\/(.*)\\/status/i,\n )\n checkStatuses()\n cy.url().should(\n 'match',\n /.*\\/embedded\\/platform\\/dpr\\/view-report\\/async\\/report\\/request-examples\\/request-example-success\\/(.*)\\/report/i,\n )\n cy.location().should((location) => {\n expect(location.search).to.contain(`columns=field1&columns=field2&columns=field3&columns=field6&columns=field7`)\n })\n })\n\n it('should redirect the old request url to the new one', () => {\n const oldPath = '/embedded/platform/async/report/request-examples/request-example-success/request'\n cy.visit(oldPath)\n cy.url().should(\n 'have.string',\n '/embedded/platform/dpr/request-report/report/request-examples/request-example-success/filters',\n )\n cy.location().should((location) => {\n expect(location.search).to.contain(`filters.field1=value1.2`)\n expect(location.search).to.contain(`filters.field3.start=2003-02-0`)\n expect(location.search).to.contain(`filters.field3.end=2006-05-04`)\n expect(location.search).to.contain(`filters.field7=2005-02-01`)\n expect(location.search).to.contain(`filters.field8=value8.2&filters.field8=value8.3`)\n expect(location.search).to.contain(`sortColumn=field1&sortedAsc=false`)\n })\n })\n })\n\n describe('Failed request', () => {\n beforeEach(() => {\n cy.task('resetStubs')\n cy.task('resetRedis')\n cy.task('stubDefinitions')\n cy.task('stubDefinitionRequestExamplesSuccess')\n cy.task('stubViewAsyncReportingResults')\n cy.task('stubRequestSuccessResult20')\n cy.task('stubReportsFinishedStatus')\n cy.task('stubRequestSuccessReportTablesCount')\n cy.visit(path)\n })\n\n const testFilterPersistence = () => {\n cy.task('stubReportsFailedStatus')\n cy.findByLabelText(/Reports catalogue.*/i).within(() => {\n cy.findByRole('row', {\n name: (_, element) => {\n return (\n element.textContent.includes('Successful Report') && element.textContent.includes('this will succeed')\n )\n },\n }).within(() => {\n cy.findByRole('link', { name: 'Request report' }).click()\n })\n })\n cy.findByRole('group', { name: /Field 1/ })\n .findByRole('radio', { checked: true })\n .invoke('val')\n .as('field1')\n cy.findByRole('combobox', { name: /Field 2/ })\n .invoke('val')\n .as('field2')\n cy.findByRole('group', { name: /Field 3/ }).within(() => {\n cy.findByRole('textbox', { name: /From/ }).invoke('val').as('field3From')\n cy.findByRole('textbox', { name: /To/ }).invoke('val').as('field3To')\n })\n cy.findByRole('combobox', { name: /Field 4/ })\n .invoke('val')\n .as('field4')\n cy.findByRole('combobox', { name: /Field 5/ })\n .invoke('val')\n .as('field5')\n cy.findByRole('textbox', { name: /Field 6/ })\n .invoke('val')\n .as('field6')\n cy.findByRole('textbox', { name: /Field 7/ })\n .invoke('val')\n .as('field7')\n cy.findByRole('group', { name: /Field 8/ }).within(() => {\n cy.findAllByRole('checkbox').each((el, idx) => {\n cy.wrap(el).invoke('val').as(`field8-${idx}`)\n })\n })\n cy.findByRole('button', { name: 'Request report' }).click()\n cy.findByRole('button', { name: 'Retry' }).click()\n\n cy.findByRole('group', { name: /Field 1/ })\n .findByRole('radio', { checked: true })\n .invoke('val')\n .then((val) => {\n cy.get('@field1').should('equal', val)\n })\n cy.findByRole('combobox', { name: /Field 2/ })\n .invoke('val')\n .then((val) => {\n cy.get('@field2').should('equal', val)\n })\n cy.findByRole('group', { name: /Field 3/ }).within(() => {\n cy.findByRole('textbox', { name: /From/ })\n .invoke('val')\n .then((val) => {\n cy.get('@field3From').should('equal', val)\n })\n cy.findByRole('textbox', { name: /To/ })\n .invoke('val')\n .then((val) => {\n cy.get('@field3To').should('equal', val)\n })\n })\n cy.findByRole('combobox', { name: /Field 4/ })\n .invoke('val')\n .then((val) => {\n cy.get('@field4').should('equal', val)\n })\n cy.findByRole('combobox', { name: /Field 5/ })\n .invoke('val')\n .then((val) => {\n cy.get('@field5').should('equal', val)\n })\n cy.findByRole('textbox', { name: /Field 6/ })\n .invoke('val')\n .then((val) => {\n cy.get('@field6').should('equal', val)\n })\n cy.findByRole('textbox', { name: /Field 7/ })\n .invoke('val')\n .then((val) => {\n cy.get('@field7').should('equal', val)\n })\n cy.findByRole('group', { name: /Field 8/ }).within(() => {\n cy.findAllByRole('checkbox').each((el, idx) => {\n cy.wrap(el)\n .invoke('val')\n .then((val) => {\n cy.get(`@field8-${idx}`).should('equal', val)\n })\n })\n })\n }\n\n const testCorrectLinksRetryFailure = () => {\n cy.visit(path)\n cy.findByRole('tab', { name: /Requested/ }).click()\n\n cy.findByLabelText(/Requested/i).within(() => {\n cy.findByRole('row', {\n name: (_, element) => {\n return element.textContent.includes('Successful Report')\n },\n }).within(() => {\n cy.findByRole('link', { name: 'Retry' }).should('be.visible')\n cy.findByRole('link', { name: 'Remove' }).should('be.visible')\n cy.findByRole('cell', { name: 'FAILED' }).should('be.visible')\n })\n })\n cy.findByRole('link', { name: 'Retry' }).click()\n cy.findByText(/Your report has failed to generate/).should('be.visible')\n cy.findAllByText(/Successful Report/).should('be.visible')\n\n cy.visit(path)\n cy.findByRole('tab', { name: /Requested/ }).click()\n cy.findByLabelText(/Requested/i).within(() => {\n cy.findByRole('row', {\n name: (_, element) => {\n return element.textContent.includes('Successful Report')\n },\n }).within(() => {\n cy.findByRole('link', { name: 'Retry' }).click()\n })\n })\n cy.findByText(/Your report has failed to generate/).should('be.visible')\n cy.findAllByText(/Successful Report/).should('be.visible')\n }\n const testRedirectsOldStatusUrl = () => {\n cy.url().then((url) => {\n const splitUrl = url.split('/')\n const prevExId = splitUrl[splitUrl.length - 2]\n const oldPath = `/embedded/platform/async/report/request-examples/request-example-success/request/${prevExId}`\n cy.visit(oldPath)\n cy.url().should(\n 'have.string',\n `/embedded/platform/dpr/request-report/report/request-examples/request-example-success/${prevExId}/status`,\n )\n })\n }\n const testRemoveItem = () => {\n cy.visit(path)\n cy.findByRole('tab', { name: /Requested/ }).click()\n\n cy.findByLabelText(/Requested/i).within(() => {\n cy.findByRole('row', {\n name: (_, element) => {\n return element.textContent.includes('Successful Report')\n },\n }).within(() => {\n cy.findByRole('link', { name: 'Remove' }).click()\n })\n })\n\n cy.findByLabelText(/Requested/i).within(() => {\n cy.findByRole('row', {\n name: (_, element) => {\n return element.textContent.includes('Successful Report')\n },\n }).should('not.exist')\n })\n }\n it('should test out filters, retry/remove and old status url redirects', () => {\n testFilterPersistence()\n testCorrectLinksRetryFailure()\n testRedirectsOldStatusUrl()\n testRemoveItem()\n })\n })\n\n describe('Aborted request', () => {\n const filtersHref =\n '/embedded/platform/dpr/request-report/report/request-examples/request-example-success/filters?filters.field1=value1.2&filters.field3.start=2003-02-01&filters.field3.end=2006-05-04&filters.field7=2005-02-01&filters.field8=value8.2&filters.field8=value8.3&sortColumn=field1&sortedAsc=false'\n\n beforeEach(() => {\n cy.task('resetStubs')\n cy.task('resetRedis')\n cy.task('stubDefinitions')\n cy.task('stubDefinitionRequestExamplesSuccess')\n cy.task('stubViewAsyncReportingResults')\n cy.task('stubReportsFinishedStatus')\n cy.task('stubRequestSuccessResult20')\n cy.task('stubRequestSuccessReportTablesCount')\n cy.task('stubCancelAsyncRequest')\n cy.visit(path)\n })\n\n it('should be able to abort the request', () => {\n cy.findByLabelText(/Reports catalogue.*/i).within(() => {\n cy.findByRole('row', {\n name: (_, element) => {\n return (\n element.textContent.includes('Successful Report') && element.textContent.includes('this will succeed')\n )\n },\n }).within(() => {\n cy.findByRole('link', { name: 'Request report' }).click()\n })\n })\n cy.url().should(\n 'have.string',\n '/embedded/platform/dpr/request-report/report/request-examples/request-example-success/filters',\n )\n cy.findByRole('button', { name: 'Request report' }).click()\n\n cy.url().should(\n 'match',\n /.*\\/embedded\\/platform\\/dpr\\/request-report\\/report\\/request-examples\\/request-example-success\\/(.*)\\/status/i,\n )\n\n cy.findByRole('button', { name: /Cancel/ }).click()\n cy.task('stubReportsAbortedStatus')\n cy.findByRole('strong').contains('ABORTED')\n cy.findByRole('button', { name: /Return to request page/ }).click()\n cy.url().should(\n 'have.string',\n '/embedded/platform/dpr/request-report/report/request-examples/request-example-success/filters',\n )\n\n cy.visit(path)\n cy.findByRole('tab', { name: /Requested/ }).click()\n\n cy.findByLabelText(/Requested/i).within(() => {\n cy.findByRole('row', {\n name: (_, element) => {\n return element.textContent.includes('Successful Report')\n },\n }).within(() => {\n cy.findByRole('link', { name: 'Retry' }).should('be.visible')\n cy.findByRole('link', { name: 'Remove' }).should('be.visible')\n cy.findByRole('cell', { name: 'ABORTED' }).should('be.visible')\n })\n })\n\n cy.findByLabelText(/Requested/i).within(() => {\n cy.findByRole('row', {\n name: (_, element) => {\n return element.textContent.includes('Successful Report')\n },\n }).within(() => {\n cy.findByRole('link', { name: 'Retry' }).click()\n })\n })\n cy.url().should('have.string', filtersHref)\n\n cy.visit(path)\n cy.findByRole('tab', { name: /Requested/ }).click()\n\n cy.findByLabelText(/Requested/i).within(() => {\n cy.findByRole('row', {\n name: (_, element) => {\n return element.textContent.includes('Successful Report')\n },\n }).within(() => {\n cy.findByRole('link', { name: 'Remove' }).click()\n })\n })\n\n cy.findByLabelText(/Requested/i).within(() => {\n cy.findByRole('row', {\n name: (_, element) => {\n return element.textContent.includes('Successful Report')\n },\n }).should('not.exist')\n })\n })\n })\n\n describe('Expired request', () => {\n beforeEach(() => {\n cy.task('resetStubs')\n cy.task('resetRedis')\n cy.task('stubDefinitions')\n cy.task('stubDefinitionRequestExamplesSuccess')\n cy.task('stubViewAsyncReportingResults')\n cy.task('stubReportsFinishedStatus')\n cy.task('stubRequestSuccessResult20')\n cy.task('stubRequestSuccessReportTablesCount')\n cy.visit(path)\n })\n })\n})\n"],
5
- "mappings": "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",
6
- "names": ["path", "checkStatuses", "_", "element", "location", "testFilterPersistence", "el", "idx", "val", "testCorrectLinksRetryFailure", "testRedirectsOldStatusUrl", "url", "splitUrl", "prevExId", "oldPath", "testRemoveItem", "filtersHref"]
4
+ "sourcesContent": ["import { executeReportStubs } from '../../../../../cypress-tests/cypressUtils'\n\ncontext('Requesting a report', () => {\n const path = '/embedded/platform/'\n\n const checkStatuses = () => {\n cy.task('stubReportsSubmittedStatus')\n cy.findByRole('strong').contains('SUBMITTED')\n cy.task('stubReportsPickedStatus')\n cy.findByRole('strong').contains('PICKED')\n cy.task('stubReportsStartedStatus')\n cy.findByRole('strong').contains('STARTED')\n cy.task('stubReportsFinishedStatus')\n }\n\n describe('Successful request', () => {\n beforeEach(() => {\n executeReportStubs()\n cy.task('stubDefinitionRequestExamplesSuccess')\n cy.task('stubRequestSuccessResult20')\n cy.visit(path)\n })\n\n it('should succesfully request and load a report', () => {\n cy.findByLabelText(/Reports catalogue.*/i).within(() => {\n cy.findByRole('row', {\n name: (_, element) => {\n return (\n element.textContent.includes('Successful Report') && element.textContent.includes('this will succeed')\n )\n },\n }).within(() => {\n cy.findByRole('link', { name: 'Request report' }).click()\n })\n })\n cy.url().should(\n 'have.string',\n '/embedded/platform/dpr/request-report/report/request-examples/request-example-success/filters',\n )\n cy.location().should((location) => {\n expect(location.search).to.contain(`filters.field1=value1.2`)\n expect(location.search).to.contain(`filters.field3.start=2003-02-0`)\n expect(location.search).to.contain(`filters.field3.end=2006-05-04`)\n expect(location.search).to.contain(`filters.field7=2005-02-01`)\n expect(location.search).to.contain(`filters.field8=value8.2&filters.field8=value8.3`)\n expect(location.search).to.contain(`sortColumn=field1&sortedAsc=false`)\n })\n\n cy.findByRole('button', { name: 'Request report' }).click()\n cy.url().should(\n 'match',\n /.*\\/embedded\\/platform\\/dpr\\/request-report\\/report\\/request-examples\\/request-example-success\\/(.*)\\/status/i,\n )\n checkStatuses()\n cy.url().should(\n 'match',\n /.*\\/embedded\\/platform\\/dpr\\/view-report\\/async\\/report\\/request-examples\\/request-example-success\\/(.*)\\/report/i,\n )\n cy.location().should((location) => {\n expect(location.search).to.contain(`columns=field1&columns=field2&columns=field3&columns=field6&columns=field7`)\n })\n })\n\n it('should redirect the old request url to the new one', () => {\n const oldPath = '/embedded/platform/async/report/request-examples/request-example-success/request'\n cy.visit(oldPath)\n cy.url().should(\n 'have.string',\n '/embedded/platform/dpr/request-report/report/request-examples/request-example-success/filters',\n )\n cy.location().should((location) => {\n expect(location.search).to.contain(`filters.field1=value1.2`)\n expect(location.search).to.contain(`filters.field3.start=2003-02-0`)\n expect(location.search).to.contain(`filters.field3.end=2006-05-04`)\n expect(location.search).to.contain(`filters.field7=2005-02-01`)\n expect(location.search).to.contain(`filters.field8=value8.2&filters.field8=value8.3`)\n expect(location.search).to.contain(`sortColumn=field1&sortedAsc=false`)\n })\n })\n })\n\n describe('Failed request', () => {\n beforeEach(() => {\n executeReportStubs()\n cy.task('stubDefinitionRequestExamplesSuccess')\n cy.task('stubRequestSuccessResult20')\n cy.visit(path)\n })\n\n const testFilterPersistence = () => {\n cy.task('stubReportsFailedStatus')\n cy.findByLabelText(/Reports catalogue.*/i).within(() => {\n cy.findByRole('row', {\n name: (_, element) => {\n return (\n element.textContent.includes('Successful Report') && element.textContent.includes('this will succeed')\n )\n },\n }).within(() => {\n cy.findByRole('link', { name: 'Request report' }).click()\n })\n })\n cy.findByRole('group', { name: /Field 1/ })\n .findByRole('radio', { checked: true })\n .invoke('val')\n .as('field1')\n cy.findByRole('combobox', { name: /Field 2/ })\n .invoke('val')\n .as('field2')\n cy.findByRole('group', { name: /Field 3/ }).within(() => {\n cy.findByRole('textbox', { name: /From/ }).invoke('val').as('field3From')\n cy.findByRole('textbox', { name: /To/ }).invoke('val').as('field3To')\n })\n cy.findByRole('combobox', { name: /Field 4/ })\n .invoke('val')\n .as('field4')\n cy.findByRole('combobox', { name: /Field 5/ })\n .invoke('val')\n .as('field5')\n cy.findByRole('textbox', { name: /Field 6/ })\n .invoke('val')\n .as('field6')\n cy.findByRole('textbox', { name: /Field 7/ })\n .invoke('val')\n .as('field7')\n cy.findByRole('group', { name: /Field 8/ }).within(() => {\n cy.findAllByRole('checkbox').each((el, idx) => {\n cy.wrap(el).invoke('val').as(`field8-${idx}`)\n })\n })\n cy.findByRole('button', { name: 'Request report' }).click()\n cy.findByRole('button', { name: 'Retry' }).click()\n\n cy.findByRole('group', { name: /Field 1/ })\n .findByRole('radio', { checked: true })\n .invoke('val')\n .then((val) => {\n cy.get('@field1').should('equal', val)\n })\n cy.findByRole('combobox', { name: /Field 2/ })\n .invoke('val')\n .then((val) => {\n cy.get('@field2').should('equal', val)\n })\n cy.findByRole('group', { name: /Field 3/ }).within(() => {\n cy.findByRole('textbox', { name: /From/ })\n .invoke('val')\n .then((val) => {\n cy.get('@field3From').should('equal', val)\n })\n cy.findByRole('textbox', { name: /To/ })\n .invoke('val')\n .then((val) => {\n cy.get('@field3To').should('equal', val)\n })\n })\n cy.findByRole('combobox', { name: /Field 4/ })\n .invoke('val')\n .then((val) => {\n cy.get('@field4').should('equal', val)\n })\n cy.findByRole('combobox', { name: /Field 5/ })\n .invoke('val')\n .then((val) => {\n cy.get('@field5').should('equal', val)\n })\n cy.findByRole('textbox', { name: /Field 6/ })\n .invoke('val')\n .then((val) => {\n cy.get('@field6').should('equal', val)\n })\n cy.findByRole('textbox', { name: /Field 7/ })\n .invoke('val')\n .then((val) => {\n cy.get('@field7').should('equal', val)\n })\n cy.findByRole('group', { name: /Field 8/ }).within(() => {\n cy.findAllByRole('checkbox').each((el, idx) => {\n cy.wrap(el)\n .invoke('val')\n .then((val) => {\n cy.get(`@field8-${idx}`).should('equal', val)\n })\n })\n })\n }\n\n const testCorrectLinksRetryFailure = () => {\n cy.visit(path)\n cy.findByRole('tab', { name: /Requested/ }).click()\n\n cy.findByLabelText(/Requested/i).within(() => {\n cy.findByRole('row', {\n name: (_, element) => {\n return element.textContent.includes('Successful Report')\n },\n }).within(() => {\n cy.findByRole('link', { name: 'Retry' }).should('be.visible')\n cy.findByRole('link', { name: 'Remove' }).should('be.visible')\n cy.findByRole('cell', { name: 'FAILED' }).should('be.visible')\n })\n })\n cy.findByRole('link', { name: 'Retry' }).click()\n cy.findByText(/Your report has failed to generate/).should('be.visible')\n cy.findAllByText(/Successful Report/).should('be.visible')\n\n cy.visit(path)\n cy.findByRole('tab', { name: /Requested/ }).click()\n cy.findByLabelText(/Requested/i).within(() => {\n cy.findByRole('row', {\n name: (_, element) => {\n return element.textContent.includes('Successful Report')\n },\n }).within(() => {\n cy.findByRole('link', { name: 'Retry' }).click()\n })\n })\n cy.findByText(/Your report has failed to generate/).should('be.visible')\n cy.findAllByText(/Successful Report/).should('be.visible')\n }\n const testRedirectsOldStatusUrl = () => {\n cy.url().then((url) => {\n const splitUrl = url.split('/')\n const prevExId = splitUrl[splitUrl.length - 2]\n const oldPath = `/embedded/platform/async/report/request-examples/request-example-success/request/${prevExId}`\n cy.visit(oldPath)\n cy.url().should(\n 'have.string',\n `/embedded/platform/dpr/request-report/report/request-examples/request-example-success/${prevExId}/status`,\n )\n })\n }\n const testRemoveItem = () => {\n cy.visit(path)\n cy.findByRole('tab', { name: /Requested/ }).click()\n\n cy.findByLabelText(/Requested/i).within(() => {\n cy.findByRole('row', {\n name: (_, element) => {\n return element.textContent.includes('Successful Report')\n },\n }).within(() => {\n cy.findByRole('link', { name: 'Remove' }).click()\n })\n })\n\n cy.findByLabelText(/Requested/i).within(() => {\n cy.findByRole('row', {\n name: (_, element) => {\n return element.textContent.includes('Successful Report')\n },\n }).should('not.exist')\n })\n }\n it('should test out filters, retry/remove and old status url redirects', () => {\n testFilterPersistence()\n testCorrectLinksRetryFailure()\n testRedirectsOldStatusUrl()\n testRemoveItem()\n })\n })\n\n describe('Aborted request', () => {\n const filtersHref =\n '/embedded/platform/dpr/request-report/report/request-examples/request-example-success/filters?filters.field1=value1.2&filters.field3.start=2003-02-01&filters.field3.end=2006-05-04&filters.field7=2005-02-01&filters.field8=value8.2&filters.field8=value8.3&sortColumn=field1&sortedAsc=false'\n\n beforeEach(() => {\n executeReportStubs()\n cy.task('stubDefinitionRequestExamplesSuccess')\n cy.task('stubRequestSuccessResult20')\n cy.task('stubCancelAsyncRequest')\n cy.visit(path)\n })\n\n it('should be able to abort the request', () => {\n cy.findByLabelText(/Reports catalogue.*/i).within(() => {\n cy.findByRole('row', {\n name: (_, element) => {\n return (\n element.textContent.includes('Successful Report') && element.textContent.includes('this will succeed')\n )\n },\n }).within(() => {\n cy.findByRole('link', { name: 'Request report' }).click()\n })\n })\n cy.url().should(\n 'have.string',\n '/embedded/platform/dpr/request-report/report/request-examples/request-example-success/filters',\n )\n cy.findByRole('button', { name: 'Request report' }).click()\n\n cy.url().should(\n 'match',\n /.*\\/embedded\\/platform\\/dpr\\/request-report\\/report\\/request-examples\\/request-example-success\\/(.*)\\/status/i,\n )\n\n cy.findByRole('button', { name: /Cancel/ }).click()\n cy.task('stubReportsAbortedStatus')\n cy.findByRole('strong').contains('ABORTED')\n cy.findByRole('button', { name: /Return to request page/ }).click()\n cy.url().should(\n 'have.string',\n '/embedded/platform/dpr/request-report/report/request-examples/request-example-success/filters',\n )\n\n cy.visit(path)\n cy.findByRole('tab', { name: /Requested/ }).click()\n\n cy.findByLabelText(/Requested/i).within(() => {\n cy.findByRole('row', {\n name: (_, element) => {\n return element.textContent.includes('Successful Report')\n },\n }).within(() => {\n cy.findByRole('link', { name: 'Retry' }).should('be.visible')\n cy.findByRole('link', { name: 'Remove' }).should('be.visible')\n cy.findByRole('cell', { name: 'ABORTED' }).should('be.visible')\n })\n })\n\n cy.findByLabelText(/Requested/i).within(() => {\n cy.findByRole('row', {\n name: (_, element) => {\n return element.textContent.includes('Successful Report')\n },\n }).within(() => {\n cy.findByRole('link', { name: 'Retry' }).click()\n })\n })\n cy.url().should('have.string', filtersHref)\n\n cy.visit(path)\n cy.findByRole('tab', { name: /Requested/ }).click()\n\n cy.findByLabelText(/Requested/i).within(() => {\n cy.findByRole('row', {\n name: (_, element) => {\n return element.textContent.includes('Successful Report')\n },\n }).within(() => {\n cy.findByRole('link', { name: 'Remove' }).click()\n })\n })\n\n cy.findByLabelText(/Requested/i).within(() => {\n cy.findByRole('row', {\n name: (_, element) => {\n return element.textContent.includes('Successful Report')\n },\n }).should('not.exist')\n })\n })\n })\n})\n"],
5
+ "mappings": "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",
6
+ "names": ["import_cypressUtils", "path", "checkStatuses", "_", "element", "location", "testFilterPersistence", "el", "idx", "val", "testCorrectLinksRetryFailure", "testRedirectsOldStatusUrl", "url", "splitUrl", "prevExId", "oldPath", "testRemoveItem", "filtersHref"]
7
7
  }
@@ -1,3 +1,5 @@
1
+ import { executeReportStubs } from '../../../../../cypress-tests/cypressUtils'
2
+
1
3
  context('Requesting a report', () => {
2
4
  const path = '/embedded/platform/'
3
5
 
@@ -13,14 +15,9 @@ context('Requesting a report', () => {
13
15
 
14
16
  describe('Successful request', () => {
15
17
  beforeEach(() => {
16
- cy.task('resetStubs')
17
- cy.task('resetRedis')
18
- cy.task('stubDefinitions')
18
+ executeReportStubs()
19
19
  cy.task('stubDefinitionRequestExamplesSuccess')
20
- cy.task('stubViewAsyncReportingResults')
21
- cy.task('stubReportsFinishedStatus')
22
20
  cy.task('stubRequestSuccessResult20')
23
- cy.task('stubRequestSuccessReportTablesCount')
24
21
  cy.visit(path)
25
22
  })
26
23
 
@@ -84,14 +81,9 @@ context('Requesting a report', () => {
84
81
 
85
82
  describe('Failed request', () => {
86
83
  beforeEach(() => {
87
- cy.task('resetStubs')
88
- cy.task('resetRedis')
89
- cy.task('stubDefinitions')
84
+ executeReportStubs()
90
85
  cy.task('stubDefinitionRequestExamplesSuccess')
91
- cy.task('stubViewAsyncReportingResults')
92
86
  cy.task('stubRequestSuccessResult20')
93
- cy.task('stubReportsFinishedStatus')
94
- cy.task('stubRequestSuccessReportTablesCount')
95
87
  cy.visit(path)
96
88
  })
97
89
 
@@ -273,14 +265,9 @@ context('Requesting a report', () => {
273
265
  '/embedded/platform/dpr/request-report/report/request-examples/request-example-success/filters?filters.field1=value1.2&filters.field3.start=2003-02-01&filters.field3.end=2006-05-04&filters.field7=2005-02-01&filters.field8=value8.2&filters.field8=value8.3&sortColumn=field1&sortedAsc=false'
274
266
 
275
267
  beforeEach(() => {
276
- cy.task('resetStubs')
277
- cy.task('resetRedis')
278
- cy.task('stubDefinitions')
268
+ executeReportStubs()
279
269
  cy.task('stubDefinitionRequestExamplesSuccess')
280
- cy.task('stubViewAsyncReportingResults')
281
- cy.task('stubReportsFinishedStatus')
282
270
  cy.task('stubRequestSuccessResult20')
283
- cy.task('stubRequestSuccessReportTablesCount')
284
271
  cy.task('stubCancelAsyncRequest')
285
272
  cy.visit(path)
286
273
  })
@@ -365,18 +352,4 @@ context('Requesting a report', () => {
365
352
  })
366
353
  })
367
354
  })
368
-
369
- describe('Expired request', () => {
370
- beforeEach(() => {
371
- cy.task('resetStubs')
372
- cy.task('resetRedis')
373
- cy.task('stubDefinitions')
374
- cy.task('stubDefinitionRequestExamplesSuccess')
375
- cy.task('stubViewAsyncReportingResults')
376
- cy.task('stubReportsFinishedStatus')
377
- cy.task('stubRequestSuccessResult20')
378
- cy.task('stubRequestSuccessReportTablesCount')
379
- cy.visit(path)
380
- })
381
- })
382
355
  })
@@ -1,2 +1,2 @@
1
- var p=Object.defineProperty;var a=Object.getOwnPropertyDescriptor;var g=Object.getOwnPropertyNames;var q=Object.prototype.hasOwnProperty;var w=(e,r)=>{for(var o in r)p(e,o,{get:r[o],enumerable:!0})},h=(e,r,o,s)=>{if(r&&typeof r=="object"||typeof r=="function")for(let t of g(r))!q.call(e,t)&&t!==o&&p(e,t,{get:()=>r[t],enumerable:!(s=a(r,t))||s.enumerable});return e};var x=e=>h(p({},"__esModule",{value:!0}),e);var S={};w(S,{Routes:()=>n,default:()=>M});module.exports=x(S);var m=require("express"),u=require("./request-missing-report/routes"),i=require("./download-report/routes"),R=require("./my-reports/routes"),d=require("./view-report/routes"),f=require("./request-report/routes");function n({layoutPath:e,services:r}){const o=(0,m.Router)({mergeParams:!0});return o.use("/",(0,u.RequestMissingReportRoutes)({path:"/dpr/request-missing-report",layoutPath:e,services:r})),o.use("/",(0,i.DownloadReportRoutes)({path:"/dpr/download-report",layoutPath:e,services:r})),o.use("/",(0,R.MyReportsRoutes)({path:"/dpr/my-reports",layoutPath:e,services:r})),o.use("/",(0,d.ViewReportRoutes)({path:"/dpr/view-report",layoutPath:e,services:r})),o.use("/",(0,f.RequestReportRoutes)({path:"/dpr/request-report",layoutPath:e,services:r})),o}var M=n;0&&(module.exports={Routes});
1
+ var p=Object.defineProperty;var g=Object.getOwnPropertyDescriptor;var q=Object.getOwnPropertyNames;var w=Object.prototype.hasOwnProperty;var a=(o,r)=>{for(var t in r)p(o,t,{get:r[t],enumerable:!0})},l=(o,r,t,u)=>{if(r&&typeof r=="object"||typeof r=="function")for(let e of q(r))!w.call(o,e)&&e!==t&&p(o,e,{get:()=>r[e],enumerable:!(u=g(r,e))||u.enumerable});return o};var h=o=>l(p({},"__esModule",{value:!0}),o);var M={};a(M,{Routes:()=>c,default:()=>x});module.exports=h(M);var m=require("express"),s=require("./request-missing-report/routes"),i=require("./download-report/routes"),R=require("./my-reports/routes"),d=require("./view-report/routes"),n=require("./request-report/routes"),f=require("./product-collection/routes");function c({layoutPath:o,services:r}){const t=(0,m.Router)({mergeParams:!0});return t.use("/",(0,s.RequestMissingReportRoutes)({path:"/dpr/request-missing-report",layoutPath:o,services:r})),t.use("/",(0,i.DownloadReportRoutes)({path:"/dpr/download-report",layoutPath:o,services:r})),t.use("/",(0,R.MyReportsRoutes)({path:"/dpr/my-reports",layoutPath:o,services:r})),t.use("/",(0,d.ViewReportRoutes)({path:"/dpr/view-report",layoutPath:o,services:r})),t.use("/",(0,n.RequestReportRoutes)({path:"/dpr/request-report",layoutPath:o,services:r})),t.use("/",(0,f.ProductCollectionRoutes)({path:"/dpr/product-collection",layoutPath:o,services:r})),t}var x=c;0&&(module.exports={Routes});
2
2
  //# sourceMappingURL=routes.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/dpr/routes/journeys/routes.ts"],
4
- "sourcesContent": ["import { Router } from 'express'\nimport { Services } from '../../types/Services'\n\n// Routes\nimport { RequestMissingReportRoutes } from './request-missing-report/routes'\nimport { DownloadReportRoutes } from './download-report/routes'\nimport { MyReportsRoutes } from './my-reports/routes'\nimport { ViewReportRoutes } from './view-report/routes'\nimport { RequestReportRoutes } from './request-report/routes'\n\nexport function Routes({ layoutPath, services }: { services: Services; layoutPath: string }) {\n const router = Router({ mergeParams: true })\n\n router.use('/', RequestMissingReportRoutes({ path: '/dpr/request-missing-report', layoutPath, services }))\n router.use('/', DownloadReportRoutes({ path: '/dpr/download-report', layoutPath, services }))\n router.use('/', MyReportsRoutes({ path: '/dpr/my-reports', layoutPath, services }))\n router.use('/', ViewReportRoutes({ path: '/dpr/view-report', layoutPath, services }))\n router.use('/', RequestReportRoutes({ path: '/dpr/request-report', layoutPath, services }))\n\n return router\n}\n\nexport default Routes\n"],
5
- "mappings": "4ZAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,YAAAE,EAAA,YAAAC,IAAA,eAAAC,EAAAJ,GAAA,IAAAK,EAAuB,mBAIvBC,EAA2C,2CAC3CA,EAAqC,oCACrCA,EAAgC,+BAChCA,EAAiC,gCACjCA,EAAoC,mCAE7B,SAASJ,EAAO,CAAE,WAAAK,EAAY,SAAAC,CAAS,EAA+C,CAC3F,MAAMC,KAAS,UAAO,CAAE,YAAa,EAAK,CAAC,EAE3C,OAAAA,EAAO,IAAI,OAAK,8BAA2B,CAAE,KAAM,8BAA+B,WAAAF,EAAY,SAAAC,CAAS,CAAC,CAAC,EACzGC,EAAO,IAAI,OAAK,wBAAqB,CAAE,KAAM,uBAAwB,WAAAF,EAAY,SAAAC,CAAS,CAAC,CAAC,EAC5FC,EAAO,IAAI,OAAK,mBAAgB,CAAE,KAAM,kBAAmB,WAAAF,EAAY,SAAAC,CAAS,CAAC,CAAC,EAClFC,EAAO,IAAI,OAAK,oBAAiB,CAAE,KAAM,mBAAoB,WAAAF,EAAY,SAAAC,CAAS,CAAC,CAAC,EACpFC,EAAO,IAAI,OAAK,uBAAoB,CAAE,KAAM,sBAAuB,WAAAF,EAAY,SAAAC,CAAS,CAAC,CAAC,EAEnFC,CACT,CAEA,IAAON,EAAQD",
4
+ "sourcesContent": ["import { Router } from 'express'\nimport { Services } from '../../types/Services'\n\n// Routes\nimport { RequestMissingReportRoutes } from './request-missing-report/routes'\nimport { DownloadReportRoutes } from './download-report/routes'\nimport { MyReportsRoutes } from './my-reports/routes'\nimport { ViewReportRoutes } from './view-report/routes'\nimport { RequestReportRoutes } from './request-report/routes'\nimport { ProductCollectionRoutes } from './product-collection/routes'\n\nexport function Routes({ layoutPath, services }: { services: Services; layoutPath: string }) {\n const router = Router({ mergeParams: true })\n\n router.use('/', RequestMissingReportRoutes({ path: '/dpr/request-missing-report', layoutPath, services }))\n router.use('/', DownloadReportRoutes({ path: '/dpr/download-report', layoutPath, services }))\n router.use('/', MyReportsRoutes({ path: '/dpr/my-reports', layoutPath, services }))\n router.use('/', ViewReportRoutes({ path: '/dpr/view-report', layoutPath, services }))\n router.use('/', RequestReportRoutes({ path: '/dpr/request-report', layoutPath, services }))\n router.use('/', ProductCollectionRoutes({ path: '/dpr/product-collection', layoutPath, services }))\n\n return router\n}\n\nexport default Routes\n"],
5
+ "mappings": "4ZAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,YAAAE,EAAA,YAAAC,IAAA,eAAAC,EAAAJ,GAAA,IAAAK,EAAuB,mBAIvBC,EAA2C,2CAC3CA,EAAqC,oCACrCA,EAAgC,+BAChCA,EAAiC,gCACjCA,EAAoC,mCACpCA,EAAwC,uCAEjC,SAASJ,EAAO,CAAE,WAAAK,EAAY,SAAAC,CAAS,EAA+C,CAC3F,MAAMC,KAAS,UAAO,CAAE,YAAa,EAAK,CAAC,EAE3C,OAAAA,EAAO,IAAI,OAAK,8BAA2B,CAAE,KAAM,8BAA+B,WAAAF,EAAY,SAAAC,CAAS,CAAC,CAAC,EACzGC,EAAO,IAAI,OAAK,wBAAqB,CAAE,KAAM,uBAAwB,WAAAF,EAAY,SAAAC,CAAS,CAAC,CAAC,EAC5FC,EAAO,IAAI,OAAK,mBAAgB,CAAE,KAAM,kBAAmB,WAAAF,EAAY,SAAAC,CAAS,CAAC,CAAC,EAClFC,EAAO,IAAI,OAAK,oBAAiB,CAAE,KAAM,mBAAoB,WAAAF,EAAY,SAAAC,CAAS,CAAC,CAAC,EACpFC,EAAO,IAAI,OAAK,uBAAoB,CAAE,KAAM,sBAAuB,WAAAF,EAAY,SAAAC,CAAS,CAAC,CAAC,EAC1FC,EAAO,IAAI,OAAK,2BAAwB,CAAE,KAAM,0BAA2B,WAAAF,EAAY,SAAAC,CAAS,CAAC,CAAC,EAE3FC,CACT,CAEA,IAAON,EAAQD",
6
6
  "names": ["routes_exports", "__export", "Routes", "routes_default", "__toCommonJS", "import_express", "import_routes", "layoutPath", "services", "router"]
7
7
  }
@@ -7,6 +7,7 @@ import { DownloadReportRoutes } from './download-report/routes'
7
7
  import { MyReportsRoutes } from './my-reports/routes'
8
8
  import { ViewReportRoutes } from './view-report/routes'
9
9
  import { RequestReportRoutes } from './request-report/routes'
10
+ import { ProductCollectionRoutes } from './product-collection/routes'
10
11
 
11
12
  export function Routes({ layoutPath, services }: { services: Services; layoutPath: string }) {
12
13
  const router = Router({ mergeParams: true })
@@ -16,6 +17,7 @@ export function Routes({ layoutPath, services }: { services: Services; layoutPat
16
17
  router.use('/', MyReportsRoutes({ path: '/dpr/my-reports', layoutPath, services }))
17
18
  router.use('/', ViewReportRoutes({ path: '/dpr/view-report', layoutPath, services }))
18
19
  router.use('/', RequestReportRoutes({ path: '/dpr/request-report', layoutPath, services }))
20
+ router.use('/', ProductCollectionRoutes({ path: '/dpr/product-collection', layoutPath, services }))
19
21
 
20
22
  return router
21
23
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../src/dpr/routes/journeys/view-report/async/controller.ts"],
4
- "sourcesContent": ["import { RequestHandler } from 'express'\nimport { Services } from '../../../../types/Services'\nimport UserReportsListUtils from '../../../../components/user-reports/utils'\nimport { FiltersType } from '../../../../components/_filters/filtersTypeEnum'\nimport ErrorSummaryUtils from '../../../../components/error-summary/utils'\nimport PersonalisationUtils from '../../../../utils/Personalisation/personalisationUtils'\n\nclass AsyncController {\n layoutPath: string\n\n services: Services\n\n constructor(layoutPath: string, services: Services) {\n this.layoutPath = layoutPath\n this.services = services\n }\n\n POST: RequestHandler = async (req, res, next) => {\n try {\n const response = await UserReportsListUtils.updateExpiredStatus({\n req,\n res,\n services: this.services,\n })\n res.send({ isExpired: response })\n } catch (error) {\n res.send({ status: 'FAILED' })\n }\n }\n\n saveDefaultFilterValues: RequestHandler = async (req, res, next) => {\n try {\n PersonalisationUtils.saveDefaults(FiltersType.INTERACTIVE, res, req, this.services)\n res.redirect(`${req.baseUrl}?defaultsSaved=true`)\n } catch (error) {\n req.body = {\n title: 'Failed to save defaults',\n error: ErrorSummaryUtils.handleError(error, req.params.type),\n ...req.body,\n }\n next()\n }\n }\n\n removeDefaultFilterValues: RequestHandler = async (req, res, next) => {\n try {\n PersonalisationUtils.removeDefaults(FiltersType.INTERACTIVE, res, req, this.services)\n res.redirect(req.baseUrl)\n } catch (error) {\n req.body = {\n title: 'Failed to remove defaults',\n error: ErrorSummaryUtils.handleError(error, req.params.type),\n ...req.body,\n }\n next()\n }\n }\n}\n\nexport { AsyncController }\nexport default AsyncController\n"],
5
- "mappings": "6iBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,qBAAAE,EAAA,YAAAC,IAAA,eAAAC,EAAAJ,GAEA,IAAAK,EAAiC,wDACjCC,EAA4B,2DAC5BD,EAA8B,yDAC9BE,EAAiC,qEAEjC,MAAML,CAAgB,CAKpB,YAAYM,EAAoBC,EAAoB,CAKpD,UAAuB,MAAOC,EAAKC,EAAKC,IAAS,CAC/C,GAAI,CACF,MAAMC,EAAW,MAAM,EAAAC,QAAqB,oBAAoB,CAC9D,IAAAJ,EACA,IAAAC,EACA,SAAU,KAAK,QACjB,CAAC,EACDA,EAAI,KAAK,CAAE,UAAWE,CAAS,CAAC,CAClC,MAAgB,CACdF,EAAI,KAAK,CAAE,OAAQ,QAAS,CAAC,CAC/B,CACF,EAEA,6BAA0C,MAAOD,EAAKC,EAAKC,IAAS,CAClE,GAAI,CACF,EAAAG,QAAqB,aAAa,cAAY,YAAaJ,EAAKD,EAAK,KAAK,QAAQ,EAClFC,EAAI,SAAS,GAAGD,EAAI,OAAO,qBAAqB,CAClD,OAASM,EAAO,CACdN,EAAI,KAAO,CACT,MAAO,0BACP,MAAO,EAAAO,QAAkB,YAAYD,EAAON,EAAI,OAAO,IAAI,EAC3D,GAAGA,EAAI,IACT,EACAE,EAAK,CACP,CACF,EAEA,+BAA4C,MAAOF,EAAKC,EAAKC,IAAS,CACpE,GAAI,CACF,EAAAG,QAAqB,eAAe,cAAY,YAAaJ,EAAKD,EAAK,KAAK,QAAQ,EACpFC,EAAI,SAASD,EAAI,OAAO,CAC1B,OAASM,EAAO,CACdN,EAAI,KAAO,CACT,MAAO,4BACP,MAAO,EAAAO,QAAkB,YAAYD,EAAON,EAAI,OAAO,IAAI,EAC3D,GAAGA,EAAI,IACT,EACAE,EAAK,CACP,CACF,EA3CE,KAAK,WAAaJ,EAClB,KAAK,SAAWC,CAClB,CA0CF,CAGA,IAAON,EAAQD",
4
+ "sourcesContent": ["import { RequestHandler } from 'express'\nimport { Services } from '../../../../types/Services'\nimport UserReportsListUtils from '../../../../components/user-reports/utils'\nimport { FiltersType } from '../../../../components/_filters/filtersTypeEnum'\nimport ErrorSummaryUtils from '../../../../components/error-summary/utils'\nimport PersonalisationUtils from '../../../../utils/Personalisation/personalisationUtils'\n\nclass AsyncController {\n layoutPath: string\n\n services: Services\n\n constructor(layoutPath: string, services: Services) {\n this.layoutPath = layoutPath\n this.services = services\n }\n\n POST: RequestHandler = async (req, res, next) => {\n try {\n const response = await UserReportsListUtils.updateExpiredStatus({\n req,\n res,\n services: this.services,\n })\n res.send({ isExpired: response })\n } catch (error) {\n res.send({ status: 'FAILED' })\n }\n }\n\n saveDefaultFilterValues: RequestHandler = async (req, res, next) => {\n try {\n PersonalisationUtils.saveDefaults(FiltersType.INTERACTIVE, res, req, this.services)\n res.redirect(`${req.baseUrl}?defaultsSaved=true`)\n } catch (error) {\n req.body = {\n title: 'Failed to save defaults',\n error: ErrorSummaryUtils.handleError(<Error>error, req.params.type),\n ...req.body,\n }\n next()\n }\n }\n\n removeDefaultFilterValues: RequestHandler = async (req, res, next) => {\n try {\n PersonalisationUtils.removeDefaults(FiltersType.INTERACTIVE, res, req, this.services)\n res.redirect(req.baseUrl)\n } catch (error) {\n req.body = {\n title: 'Failed to remove defaults',\n error: ErrorSummaryUtils.handleError(<Error>error, req.params.type),\n ...req.body,\n }\n next()\n }\n }\n}\n\nexport { AsyncController }\nexport default AsyncController\n"],
5
+ "mappings": "6iBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,qBAAAE,EAAA,YAAAC,IAAA,eAAAC,EAAAJ,GAEA,IAAAK,EAAiC,wDACjCC,EAA4B,2DAC5BD,EAA8B,yDAC9BE,EAAiC,qEAEjC,MAAML,CAAgB,CAKpB,YAAYM,EAAoBC,EAAoB,CAKpD,UAAuB,MAAOC,EAAKC,EAAKC,IAAS,CAC/C,GAAI,CACF,MAAMC,EAAW,MAAM,EAAAC,QAAqB,oBAAoB,CAC9D,IAAAJ,EACA,IAAAC,EACA,SAAU,KAAK,QACjB,CAAC,EACDA,EAAI,KAAK,CAAE,UAAWE,CAAS,CAAC,CAClC,MAAgB,CACdF,EAAI,KAAK,CAAE,OAAQ,QAAS,CAAC,CAC/B,CACF,EAEA,6BAA0C,MAAOD,EAAKC,EAAKC,IAAS,CAClE,GAAI,CACF,EAAAG,QAAqB,aAAa,cAAY,YAAaJ,EAAKD,EAAK,KAAK,QAAQ,EAClFC,EAAI,SAAS,GAAGD,EAAI,OAAO,qBAAqB,CAClD,OAASM,EAAO,CACdN,EAAI,KAAO,CACT,MAAO,0BACP,MAAO,EAAAO,QAAkB,YAAmBD,EAAON,EAAI,OAAO,IAAI,EAClE,GAAGA,EAAI,IACT,EACAE,EAAK,CACP,CACF,EAEA,+BAA4C,MAAOF,EAAKC,EAAKC,IAAS,CACpE,GAAI,CACF,EAAAG,QAAqB,eAAe,cAAY,YAAaJ,EAAKD,EAAK,KAAK,QAAQ,EACpFC,EAAI,SAASD,EAAI,OAAO,CAC1B,OAASM,EAAO,CACdN,EAAI,KAAO,CACT,MAAO,4BACP,MAAO,EAAAO,QAAkB,YAAmBD,EAAON,EAAI,OAAO,IAAI,EAClE,GAAGA,EAAI,IACT,EACAE,EAAK,CACP,CACF,EA3CE,KAAK,WAAaJ,EAClB,KAAK,SAAWC,CAClB,CA0CF,CAGA,IAAON,EAAQD",
6
6
  "names": ["controller_exports", "__export", "AsyncController", "controller_default", "__toCommonJS", "import_utils", "import_filtersTypeEnum", "import_personalisationUtils", "layoutPath", "services", "req", "res", "next", "response", "UserReportsListUtils", "PersonalisationUtils", "error", "ErrorSummaryUtils"]
7
7
  }
@@ -35,7 +35,7 @@ class AsyncController {
35
35
  } catch (error) {
36
36
  req.body = {
37
37
  title: 'Failed to save defaults',
38
- error: ErrorSummaryUtils.handleError(error, req.params.type),
38
+ error: ErrorSummaryUtils.handleError(<Error>error, req.params.type),
39
39
  ...req.body,
40
40
  }
41
41
  next()
@@ -49,7 +49,7 @@ class AsyncController {
49
49
  } catch (error) {
50
50
  req.body = {
51
51
  title: 'Failed to remove defaults',
52
- error: ErrorSummaryUtils.handleError(error, req.params.type),
52
+ error: ErrorSummaryUtils.handleError(<Error>error, req.params.type),
53
53
  ...req.body,
54
54
  }
55
55
  next()
@@ -1,2 +1,2 @@
1
- var e=require("../../../../../../../cypress-tests/cypressUtils");context("Viewing a report",()=>{const t="/embedded/platform/";describe("dashboard tests",()=>{before(()=>{cy.task("resetStubs"),cy.task("resetRedis"),cy.task("stubDefinitions"),cy.task("stubTestDashboard8"),cy.task("stubMockDashboardsStatusFinished"),cy.task("stubViewAsyncResults"),cy.task("stubDashboardSuccessResult20"),cy.task("stubSingleSummaries"),cy.task("stubDefinitionUnprintable"),cy.task("stubDefinitionEmptyReport")}),it("should mark the dashboard as recently viewed",()=>{cy.visit(t),cy.findByRole("tab",{name:/Viewed \(0\)/}).should("be.visible"),(0,e.checkA11y)(),cy.findByLabelText(/Reports catalogue.*/i).within(()=>{cy.findByRole("row",{name:(i,s)=>s.textContent.includes("Test Dashboard")&&s.textContent.includes("Dashboard used for testing testing")}).within(()=>{cy.findByRole("link",{name:"Request dashboard"}).click()})}),(0,e.checkA11y)(),cy.findByRole("button",{name:/Request/}).click(),(0,e.checkA11y)(),cy.findByRole("heading",{level:1,name:/Test Dashboard/}).should("be.visible"),(0,e.checkA11y)(),cy.visit(t),cy.findByRole("tab",{name:/Viewed \(1\)/}).should("be.visible")})})});
1
+ var e=require("../../../../../../../cypress-tests/cypressUtils");context("Viewing a report",()=>{const t="/embedded/platform/";describe("dashboard tests",()=>{before(()=>{(0,e.executeDashboardStubs)(),cy.task("stubTestDashboard8"),cy.task("stubDashboardSuccessResult20")}),it("should mark the dashboard as recently viewed",()=>{cy.visit(t),cy.findByRole("tab",{name:/Viewed \(0\)/}).should("be.visible"),(0,e.checkA11y)(),cy.findByLabelText(/Reports catalogue.*/i).within(()=>{cy.findByRole("row",{name:(i,s)=>s.textContent.includes("Test Dashboard")&&s.textContent.includes("Dashboard used for testing testing")}).within(()=>{cy.findByRole("link",{name:"Request dashboard"}).click()})}),(0,e.checkA11y)(),cy.findByRole("button",{name:/Request/}).click(),(0,e.checkA11y)(),cy.findByRole("heading",{level:1,name:/Test Dashboard/}).should("be.visible"),(0,e.checkA11y)(),cy.visit(t),cy.findByRole("tab",{name:/Viewed \(1\)/}).should("be.visible")})})});
2
2
  //# sourceMappingURL=tests.cy.js.map