@ministryofjustice/hmpps-digital-prison-reporting-frontend 4.17.0 → 4.17.2

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 (169) hide show
  1. package/dpr/components/_catalogue/catalogue-list/utils.js +1 -1
  2. package/dpr/components/_catalogue/catalogue-list/utils.js.map +3 -3
  3. package/dpr/components/_catalogue/catalogue-list/utils.ts +4 -5
  4. package/dpr/components/_catalogue/catalogue-search/view.njk +1 -0
  5. package/dpr/components/_charts/chart/Buckets.js +1 -1
  6. package/dpr/components/_charts/chart/Buckets.js.map +3 -3
  7. package/dpr/components/_charts/chart/Buckets.ts +44 -36
  8. package/dpr/components/_charts/chart/heatmap/HeatmapChart.js +1 -1
  9. package/dpr/components/_charts/chart/heatmap/HeatmapChart.js.map +2 -2
  10. package/dpr/components/_charts/chart/heatmap/HeatmapChart.ts +22 -14
  11. package/dpr/components/_charts/chart/heatmap/types.js +2 -0
  12. package/dpr/components/_charts/chart/heatmap/types.js.map +7 -0
  13. package/dpr/components/_charts/chart/heatmap/types.ts +6 -0
  14. package/dpr/components/_charts/utils.js +1 -1
  15. package/dpr/components/_charts/utils.js.map +3 -3
  16. package/dpr/components/_charts/utils.test.ts +10 -7
  17. package/dpr/components/_charts/utils.ts +57 -50
  18. package/dpr/components/_dashboards/dashboard/view.njk +1 -1
  19. package/dpr/components/_dashboards/dashboard-list/utils.js +1 -1
  20. package/dpr/components/_dashboards/dashboard-list/utils.js.map +2 -2
  21. package/dpr/components/_dashboards/dashboard-list/utils.test.ts +3 -3
  22. package/dpr/components/_dashboards/dashboard-list/utils.ts +16 -12
  23. package/dpr/components/_dashboards/dashboard-section/view.njk +1 -1
  24. package/dpr/components/_dashboards/dashboard-visualisation/DashboardVisualisation.js +2 -0
  25. package/dpr/components/_dashboards/dashboard-visualisation/DashboardVisualisation.js.map +7 -0
  26. package/dpr/components/_dashboards/dashboard-visualisation/DashboardVisualisation.ts +40 -0
  27. package/dpr/components/_dashboards/dashboard-visualisation/types.js +2 -0
  28. package/dpr/components/_dashboards/dashboard-visualisation/types.js.map +7 -0
  29. package/dpr/components/_dashboards/dashboard-visualisation/types.ts +102 -0
  30. package/dpr/components/_dashboards/dashboard-visualisation/view.njk +1 -1
  31. package/dpr/components/_dashboards/scorecard/Scorecard.js +1 -1
  32. package/dpr/components/_dashboards/scorecard/Scorecard.js.map +2 -2
  33. package/dpr/components/_dashboards/scorecard/Scorecard.ts +37 -29
  34. package/dpr/components/_dashboards/scorecard/types.js.map +1 -1
  35. package/dpr/components/_dashboards/scorecard/types.ts +1 -0
  36. package/dpr/components/_dashboards/scorecard/utils.js +1 -1
  37. package/dpr/components/_dashboards/scorecard/utils.js.map +2 -2
  38. package/dpr/components/_dashboards/scorecard/utils.test.ts +13 -4
  39. package/dpr/components/_dashboards/scorecard/utils.ts +6 -5
  40. package/dpr/components/_dashboards/scorecard/view.njk +6 -5
  41. package/dpr/components/_dashboards/scorecard-group/view.njk +4 -4
  42. package/dpr/components/_reports/report-actions/types.d.js.map +1 -1
  43. package/dpr/components/_reports/report-actions/types.d.ts +1 -1
  44. package/dpr/components/_reports/report-heading/view.njk +1 -1
  45. package/dpr/data/dashboardClient.js +1 -1
  46. package/dpr/data/dashboardClient.js.map +2 -2
  47. package/dpr/data/dashboardClient.ts +8 -7
  48. package/dpr/data/reportingClient.js +1 -1
  49. package/dpr/data/reportingClient.js.map +1 -1
  50. package/dpr/data/reportingClient.ts +1 -1
  51. package/dpr/middleware/reportAuthoriser.js +1 -1
  52. package/dpr/middleware/reportAuthoriser.js.map +3 -3
  53. package/dpr/middleware/reportAuthoriser.ts +9 -20
  54. package/dpr/routes/journeys/download-report/controller.js +1 -1
  55. package/dpr/routes/journeys/download-report/controller.js.map +3 -3
  56. package/dpr/routes/journeys/download-report/controller.ts +4 -1
  57. package/dpr/routes/journeys/download-report/request-download/form/submitted/tests.cy.js +1 -1
  58. package/dpr/routes/journeys/download-report/request-download/form/submitted/tests.cy.js.map +2 -2
  59. package/dpr/routes/journeys/download-report/request-download/form/submitted/tests.cy.ts +1 -0
  60. package/dpr/routes/journeys/download-report/request-download/form/tests.cy.js +1 -1
  61. package/dpr/routes/journeys/download-report/request-download/form/tests.cy.js.map +2 -2
  62. package/dpr/routes/journeys/download-report/request-download/form/tests.cy.ts +1 -0
  63. package/dpr/routes/journeys/download-report/tests.cy.js +1 -1
  64. package/dpr/routes/journeys/download-report/tests.cy.js.map +2 -2
  65. package/dpr/routes/journeys/download-report/tests.cy.ts +2 -8
  66. package/dpr/routes/journeys/download-report/utils.js +1 -1
  67. package/dpr/routes/journeys/download-report/utils.js.map +3 -3
  68. package/dpr/routes/journeys/download-report/utils.ts +10 -7
  69. package/dpr/routes/journeys/my-reports/bookmarks/list/tests.cy.js +1 -1
  70. package/dpr/routes/journeys/my-reports/bookmarks/list/tests.cy.js.map +2 -2
  71. package/dpr/routes/journeys/my-reports/bookmarks/list/tests.cy.ts +1 -0
  72. package/dpr/routes/journeys/my-reports/bookmarks/tests.cy.js +1 -1
  73. package/dpr/routes/journeys/my-reports/bookmarks/tests.cy.js.map +3 -3
  74. package/dpr/routes/journeys/my-reports/bookmarks/tests.cy.ts +5 -14
  75. package/dpr/routes/journeys/my-reports/bookmarks/utils.js +1 -1
  76. package/dpr/routes/journeys/my-reports/bookmarks/utils.js.map +3 -3
  77. package/dpr/routes/journeys/my-reports/bookmarks/utils.ts +11 -5
  78. package/dpr/routes/journeys/my-reports/recently-viewed/list/tests.cy.js +1 -1
  79. package/dpr/routes/journeys/my-reports/recently-viewed/list/tests.cy.js.map +3 -3
  80. package/dpr/routes/journeys/my-reports/recently-viewed/list/tests.cy.ts +4 -7
  81. package/dpr/routes/journeys/my-reports/requested-reports/list/tests.cy.js +1 -1
  82. package/dpr/routes/journeys/my-reports/requested-reports/list/tests.cy.js.map +2 -2
  83. package/dpr/routes/journeys/my-reports/requested-reports/list/tests.cy.ts +1 -0
  84. package/dpr/routes/journeys/request-missing-report/form/tests.cy.js +1 -1
  85. package/dpr/routes/journeys/request-missing-report/form/tests.cy.js.map +2 -2
  86. package/dpr/routes/journeys/request-missing-report/form/tests.cy.ts +1 -0
  87. package/dpr/routes/journeys/request-missing-report/tests.cy.js +1 -1
  88. package/dpr/routes/journeys/request-missing-report/tests.cy.js.map +2 -2
  89. package/dpr/routes/journeys/request-missing-report/tests.cy.ts +3 -5
  90. package/dpr/routes/journeys/request-report/filters/tests.cy.js +1 -1
  91. package/dpr/routes/journeys/request-report/filters/tests.cy.js.map +3 -3
  92. package/dpr/routes/journeys/request-report/filters/tests.cy.ts +3 -6
  93. package/dpr/routes/journeys/request-report/filters/utils.js +1 -1
  94. package/dpr/routes/journeys/request-report/filters/utils.js.map +2 -2
  95. package/dpr/routes/journeys/request-report/filters/utils.ts +2 -3
  96. package/dpr/routes/journeys/request-report/status/tests.cy.js +1 -1
  97. package/dpr/routes/journeys/request-report/status/tests.cy.js.map +2 -2
  98. package/dpr/routes/journeys/request-report/status/tests.cy.ts +2 -7
  99. package/dpr/routes/journeys/request-report/tests.cy.js +1 -1
  100. package/dpr/routes/journeys/request-report/tests.cy.js.map +3 -3
  101. package/dpr/routes/journeys/request-report/tests.cy.ts +5 -21
  102. package/dpr/routes/journeys/view-report/async/controller.js.map +2 -2
  103. package/dpr/routes/journeys/view-report/async/controller.ts +2 -2
  104. package/dpr/routes/journeys/view-report/async/dashboard/tests.cy.js +1 -1
  105. package/dpr/routes/journeys/view-report/async/dashboard/tests.cy.js.map +2 -2
  106. package/dpr/routes/journeys/view-report/async/dashboard/tests.cy.ts +2 -10
  107. package/dpr/routes/journeys/view-report/async/dashboard/utils.js +1 -1
  108. package/dpr/routes/journeys/view-report/async/dashboard/utils.js.map +3 -3
  109. package/dpr/routes/journeys/view-report/async/dashboard/utils.ts +100 -95
  110. package/dpr/routes/journeys/view-report/async/report/controller.js +1 -1
  111. package/dpr/routes/journeys/view-report/async/report/controller.js.map +3 -3
  112. package/dpr/routes/journeys/view-report/async/report/controller.ts +4 -6
  113. package/dpr/routes/journeys/view-report/async/report/tests.cy.js +1 -1
  114. package/dpr/routes/journeys/view-report/async/report/tests.cy.js.map +2 -2
  115. package/dpr/routes/journeys/view-report/async/report/tests.cy.ts +8 -19
  116. package/dpr/routes/journeys/view-report/async/report/types.js +2 -0
  117. package/dpr/routes/journeys/view-report/async/report/types.js.map +7 -0
  118. package/dpr/routes/journeys/view-report/async/report/types.ts +31 -0
  119. package/dpr/routes/journeys/view-report/async/report/utils.js +1 -1
  120. package/dpr/routes/journeys/view-report/async/report/utils.js.map +3 -3
  121. package/dpr/routes/journeys/view-report/async/report/utils.ts +173 -136
  122. package/dpr/routes/journeys/view-report/sync/tests.cy.js +1 -1
  123. package/dpr/routes/journeys/view-report/sync/tests.cy.js.map +3 -3
  124. package/dpr/routes/journeys/view-report/sync/tests.cy.ts +3 -5
  125. package/dpr/services/dashboardService.js +1 -1
  126. package/dpr/services/dashboardService.js.map +2 -2
  127. package/dpr/services/dashboardService.ts +7 -5
  128. package/dpr/services/productCollection/productCollectionService.js +1 -1
  129. package/dpr/services/productCollection/productCollectionService.js.map +2 -2
  130. package/dpr/services/productCollection/productCollectionService.ts +3 -3
  131. package/dpr/services/reportingService.js +1 -1
  132. package/dpr/services/reportingService.js.map +1 -1
  133. package/dpr/services/reportingService.ts +1 -1
  134. package/dpr/types/AsyncReportUtils.js.map +1 -1
  135. package/dpr/types/AsyncReportUtils.ts +3 -4
  136. package/dpr/types/Charts.js +1 -1
  137. package/dpr/types/Charts.js.map +3 -3
  138. package/dpr/types/Charts.ts +0 -82
  139. package/dpr/types/Metrics.js +1 -1
  140. package/dpr/types/Metrics.js.map +1 -1
  141. package/dpr/types/Metrics.ts +7 -0
  142. package/dpr/types/ReportQuery.js +1 -1
  143. package/dpr/types/ReportQuery.js.map +3 -3
  144. package/dpr/types/ReportQuery.ts +24 -15
  145. package/dpr/types/Services.d.js +1 -1
  146. package/dpr/types/Services.d.js.map +1 -1
  147. package/dpr/types/Services.d.ts +2 -0
  148. package/dpr/types/api.d.js.map +1 -1
  149. package/dpr/types/api.d.ts +14 -16
  150. package/dpr/utils/Personalisation/personalisationUtils.js +1 -1
  151. package/dpr/utils/Personalisation/personalisationUtils.js.map +3 -3
  152. package/dpr/utils/Personalisation/personalisationUtils.ts +15 -6
  153. package/dpr/utils/UserStoreItemBuilder.js +1 -1
  154. package/dpr/utils/UserStoreItemBuilder.js.map +1 -1
  155. package/dpr/utils/UserStoreItemBuilder.ts +2 -2
  156. package/dpr/utils/datasetHelper.js +1 -1
  157. package/dpr/utils/datasetHelper.js.map +3 -3
  158. package/dpr/utils/datasetHelper.test.ts +11 -11
  159. package/dpr/utils/datasetHelper.ts +23 -8
  160. package/dpr/utils/logger.js +1 -1
  161. package/dpr/utils/logger.js.map +3 -3
  162. package/dpr/utils/logger.ts +6 -1
  163. package/package.json +2 -1
  164. package/dpr/components/_charts/chart/DashboardVisualisation.js +0 -2
  165. package/dpr/components/_charts/chart/DashboardVisualisation.js.map +0 -7
  166. package/dpr/components/_charts/chart/DashboardVisualisation.ts +0 -43
  167. package/dpr/components/_dashboards/dashboard/types.js +0 -2
  168. package/dpr/components/_dashboards/dashboard/types.js.map +0 -7
  169. 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/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('stubGetProductCollections')\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": "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",
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,13 +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')
12
- cy.task('stubGetProductCollections')
9
+ executeReportStubs()
13
10
  cy.task('stubDefinitionRequestExamplesSuccess')
14
- cy.task('stubViewAsyncReportingResults')
15
- cy.task('stubRequestSuccessReportTablesCount')
16
11
  cy.task('stubRequestSuccessResult20WithDelay')
17
12
  })
18
13
 
@@ -1,2 +1,2 @@
1
- context("Requesting a report",()=>{const c="/embedded/platform/",n=()=>{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("stubGetProductCollections"),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),n(),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("stubGetProductCollections"),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(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")},l=()=>{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`)})},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("stubGetProductCollections"),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")})})})});
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('stubGetProductCollections')\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('stubGetProductCollections')\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('stubGetProductCollections')\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"],
5
- "mappings": "AAAA,QAAQ,sBAAuB,IAAM,CACnC,MAAMA,EAAO,sBAEPC,EAAgB,IAAM,CAC1B,GAAG,KAAK,4BAA4B,EACpC,GAAG,WAAW,QAAQ,EAAE,SAAS,WAAW,EAC5C,GAAG,KAAK,yBAAyB,EACjC,GAAG,WAAW,QAAQ,EAAE,SAAS,QAAQ,EACzC,GAAG,KAAK,0BAA0B,EAClC,GAAG,WAAW,QAAQ,EAAE,SAAS,SAAS,EAC1C,GAAG,KAAK,2BAA2B,CACrC,EAEA,SAAS,qBAAsB,IAAM,CACnC,WAAW,IAAM,CACf,GAAG,KAAK,YAAY,EACpB,GAAG,KAAK,YAAY,EACpB,GAAG,KAAK,iBAAiB,EACzB,GAAG,KAAK,2BAA2B,EACnC,GAAG,KAAK,sCAAsC,EAC9C,GAAG,KAAK,+BAA+B,EACvC,GAAG,KAAK,2BAA2B,EACnC,GAAG,KAAK,4BAA4B,EACpC,GAAG,KAAK,qCAAqC,EAC7C,GAAG,MAAMD,CAAI,CACf,CAAC,EAED,GAAG,+CAAgD,IAAM,CACvD,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,IAAI,EAAE,OACP,cACA,+FACF,EACA,GAAG,SAAS,EAAE,OAAQC,GAAa,CACjC,OAAOA,EAAS,MAAM,EAAE,GAAG,QAAQ,yBAAyB,EAC5D,OAAOA,EAAS,MAAM,EAAE,GAAG,QAAQ,gCAAgC,EACnE,OAAOA,EAAS,MAAM,EAAE,GAAG,QAAQ,+BAA+B,EAClE,OAAOA,EAAS,MAAM,EAAE,GAAG,QAAQ,2BAA2B,EAC9D,OAAOA,EAAS,MAAM,EAAE,GAAG,QAAQ,iDAAiD,EACpF,OAAOA,EAAS,MAAM,EAAE,GAAG,QAAQ,mCAAmC,CACxE,CAAC,EAED,GAAG,WAAW,SAAU,CAAE,KAAM,gBAAiB,CAAC,EAAE,MAAM,EAC1D,GAAG,IAAI,EAAE,OACP,QACA,+GACF,EACAH,EAAc,EACd,GAAG,IAAI,EAAE,OACP,QACA,mHACF,EACA,GAAG,SAAS,EAAE,OAAQG,GAAa,CACjC,OAAOA,EAAS,MAAM,EAAE,GAAG,QAAQ,4EAA4E,CACjH,CAAC,CACH,CAAC,EAED,GAAG,qDAAsD,IAAM,CAE7D,GAAG,MADa,kFACA,EAChB,GAAG,IAAI,EAAE,OACP,cACA,+FACF,EACA,GAAG,SAAS,EAAE,OAAQA,GAAa,CACjC,OAAOA,EAAS,MAAM,EAAE,GAAG,QAAQ,yBAAyB,EAC5D,OAAOA,EAAS,MAAM,EAAE,GAAG,QAAQ,gCAAgC,EACnE,OAAOA,EAAS,MAAM,EAAE,GAAG,QAAQ,+BAA+B,EAClE,OAAOA,EAAS,MAAM,EAAE,GAAG,QAAQ,2BAA2B,EAC9D,OAAOA,EAAS,MAAM,EAAE,GAAG,QAAQ,iDAAiD,EACpF,OAAOA,EAAS,MAAM,EAAE,GAAG,QAAQ,mCAAmC,CACxE,CAAC,CACH,CAAC,CACH,CAAC,EAED,SAAS,iBAAkB,IAAM,CAC/B,WAAW,IAAM,CACf,GAAG,KAAK,YAAY,EACpB,GAAG,KAAK,YAAY,EACpB,GAAG,KAAK,iBAAiB,EACzB,GAAG,KAAK,2BAA2B,EACnC,GAAG,KAAK,sCAAsC,EAC9C,GAAG,KAAK,+BAA+B,EACvC,GAAG,KAAK,4BAA4B,EACpC,GAAG,KAAK,2BAA2B,EACnC,GAAG,KAAK,qCAAqC,EAC7C,GAAG,MAAMJ,CAAI,CACf,CAAC,EAED,MAAMK,EAAwB,IAAM,CAClC,GAAG,KAAK,yBAAyB,EACjC,GAAG,gBAAgB,sBAAsB,EAAE,OAAO,IAAM,CACtD,GAAG,WAAW,MAAO,CACnB,KAAM,CAACH,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,QAAS,CAAE,KAAM,SAAU,CAAC,EACvC,WAAW,QAAS,CAAE,QAAS,EAAK,CAAC,EACrC,OAAO,KAAK,EACZ,GAAG,QAAQ,EACd,GAAG,WAAW,WAAY,CAAE,KAAM,SAAU,CAAC,EAC1C,OAAO,KAAK,EACZ,GAAG,QAAQ,EACd,GAAG,WAAW,QAAS,CAAE,KAAM,SAAU,CAAC,EAAE,OAAO,IAAM,CACvD,GAAG,WAAW,UAAW,CAAE,KAAM,MAAO,CAAC,EAAE,OAAO,KAAK,EAAE,GAAG,YAAY,EACxE,GAAG,WAAW,UAAW,CAAE,KAAM,IAAK,CAAC,EAAE,OAAO,KAAK,EAAE,GAAG,UAAU,CACtE,CAAC,EACD,GAAG,WAAW,WAAY,CAAE,KAAM,SAAU,CAAC,EAC1C,OAAO,KAAK,EACZ,GAAG,QAAQ,EACd,GAAG,WAAW,WAAY,CAAE,KAAM,SAAU,CAAC,EAC1C,OAAO,KAAK,EACZ,GAAG,QAAQ,EACd,GAAG,WAAW,UAAW,CAAE,KAAM,SAAU,CAAC,EACzC,OAAO,KAAK,EACZ,GAAG,QAAQ,EACd,GAAG,WAAW,UAAW,CAAE,KAAM,SAAU,CAAC,EACzC,OAAO,KAAK,EACZ,GAAG,QAAQ,EACd,GAAG,WAAW,QAAS,CAAE,KAAM,SAAU,CAAC,EAAE,OAAO,IAAM,CACvD,GAAG,cAAc,UAAU,EAAE,KAAK,CAACG,EAAIC,IAAQ,CAC7C,GAAG,KAAKD,CAAE,EAAE,OAAO,KAAK,EAAE,GAAG,UAAUC,CAAG,EAAE,CAC9C,CAAC,CACH,CAAC,EACD,GAAG,WAAW,SAAU,CAAE,KAAM,gBAAiB,CAAC,EAAE,MAAM,EAC1D,GAAG,WAAW,SAAU,CAAE,KAAM,OAAQ,CAAC,EAAE,MAAM,EAEjD,GAAG,WAAW,QAAS,CAAE,KAAM,SAAU,CAAC,EACvC,WAAW,QAAS,CAAE,QAAS,EAAK,CAAC,EACrC,OAAO,KAAK,EACZ,KAAMC,GAAQ,CACb,GAAG,IAAI,SAAS,EAAE,OAAO,QAASA,CAAG,CACvC,CAAC,EACH,GAAG,WAAW,WAAY,CAAE,KAAM,SAAU,CAAC,EAC1C,OAAO,KAAK,EACZ,KAAMA,GAAQ,CACb,GAAG,IAAI,SAAS,EAAE,OAAO,QAASA,CAAG,CACvC,CAAC,EACH,GAAG,WAAW,QAAS,CAAE,KAAM,SAAU,CAAC,EAAE,OAAO,IAAM,CACvD,GAAG,WAAW,UAAW,CAAE,KAAM,MAAO,CAAC,EACtC,OAAO,KAAK,EACZ,KAAMA,GAAQ,CACb,GAAG,IAAI,aAAa,EAAE,OAAO,QAASA,CAAG,CAC3C,CAAC,EACH,GAAG,WAAW,UAAW,CAAE,KAAM,IAAK,CAAC,EACpC,OAAO,KAAK,EACZ,KAAMA,GAAQ,CACb,GAAG,IAAI,WAAW,EAAE,OAAO,QAASA,CAAG,CACzC,CAAC,CACL,CAAC,EACD,GAAG,WAAW,WAAY,CAAE,KAAM,SAAU,CAAC,EAC1C,OAAO,KAAK,EACZ,KAAMA,GAAQ,CACb,GAAG,IAAI,SAAS,EAAE,OAAO,QAASA,CAAG,CACvC,CAAC,EACH,GAAG,WAAW,WAAY,CAAE,KAAM,SAAU,CAAC,EAC1C,OAAO,KAAK,EACZ,KAAMA,GAAQ,CACb,GAAG,IAAI,SAAS,EAAE,OAAO,QAASA,CAAG,CACvC,CAAC,EACH,GAAG,WAAW,UAAW,CAAE,KAAM,SAAU,CAAC,EACzC,OAAO,KAAK,EACZ,KAAMA,GAAQ,CACb,GAAG,IAAI,SAAS,EAAE,OAAO,QAASA,CAAG,CACvC,CAAC,EACH,GAAG,WAAW,UAAW,CAAE,KAAM,SAAU,CAAC,EACzC,OAAO,KAAK,EACZ,KAAMA,GAAQ,CACb,GAAG,IAAI,SAAS,EAAE,OAAO,QAASA,CAAG,CACvC,CAAC,EACH,GAAG,WAAW,QAAS,CAAE,KAAM,SAAU,CAAC,EAAE,OAAO,IAAM,CACvD,GAAG,cAAc,UAAU,EAAE,KAAK,CAACF,EAAIC,IAAQ,CAC7C,GAAG,KAAKD,CAAE,EACP,OAAO,KAAK,EACZ,KAAME,GAAQ,CACb,GAAG,IAAI,WAAWD,CAAG,EAAE,EAAE,OAAO,QAASC,CAAG,CAC9C,CAAC,CACL,CAAC,CACH,CAAC,CACH,EAEMC,EAA+B,IAAM,CACzC,GAAG,MAAMT,CAAI,EACb,GAAG,WAAW,MAAO,CAAE,KAAM,WAAY,CAAC,EAAE,MAAM,EAElD,GAAG,gBAAgB,YAAY,EAAE,OAAO,IAAM,CAC5C,GAAG,WAAW,MAAO,CACnB,KAAM,CAACE,EAAGC,IACDA,EAAQ,YAAY,SAAS,mBAAmB,CAE3D,CAAC,EAAE,OAAO,IAAM,CACd,GAAG,WAAW,OAAQ,CAAE,KAAM,OAAQ,CAAC,EAAE,OAAO,YAAY,EAC5D,GAAG,WAAW,OAAQ,CAAE,KAAM,QAAS,CAAC,EAAE,OAAO,YAAY,EAC7D,GAAG,WAAW,OAAQ,CAAE,KAAM,QAAS,CAAC,EAAE,OAAO,YAAY,CAC/D,CAAC,CACH,CAAC,EACD,GAAG,WAAW,OAAQ,CAAE,KAAM,OAAQ,CAAC,EAAE,MAAM,EAC/C,GAAG,WAAW,oCAAoC,EAAE,OAAO,YAAY,EACvE,GAAG,cAAc,mBAAmB,EAAE,OAAO,YAAY,EAEzD,GAAG,MAAMH,CAAI,EACb,GAAG,WAAW,MAAO,CAAE,KAAM,WAAY,CAAC,EAAE,MAAM,EAClD,GAAG,gBAAgB,YAAY,EAAE,OAAO,IAAM,CAC5C,GAAG,WAAW,MAAO,CACnB,KAAM,CAACE,EAAGC,IACDA,EAAQ,YAAY,SAAS,mBAAmB,CAE3D,CAAC,EAAE,OAAO,IAAM,CACd,GAAG,WAAW,OAAQ,CAAE,KAAM,OAAQ,CAAC,EAAE,MAAM,CACjD,CAAC,CACH,CAAC,EACD,GAAG,WAAW,oCAAoC,EAAE,OAAO,YAAY,EACvE,GAAG,cAAc,mBAAmB,EAAE,OAAO,YAAY,CAC3D,EACMO,EAA4B,IAAM,CACtC,GAAG,IAAI,EAAE,KAAMC,GAAQ,CACrB,MAAMC,EAAWD,EAAI,MAAM,GAAG,EACxBE,EAAWD,EAASA,EAAS,OAAS,CAAC,EACvCE,EAAU,oFAAoFD,CAAQ,GAC5G,GAAG,MAAMC,CAAO,EAChB,GAAG,IAAI,EAAE,OACP,cACA,yFAAyFD,CAAQ,SACnG,CACF,CAAC,CACH,EACME,EAAiB,IAAM,CAC3B,GAAG,MAAMf,CAAI,EACb,GAAG,WAAW,MAAO,CAAE,KAAM,WAAY,CAAC,EAAE,MAAM,EAElD,GAAG,gBAAgB,YAAY,EAAE,OAAO,IAAM,CAC5C,GAAG,WAAW,MAAO,CACnB,KAAM,CAACE,EAAGC,IACDA,EAAQ,YAAY,SAAS,mBAAmB,CAE3D,CAAC,EAAE,OAAO,IAAM,CACd,GAAG,WAAW,OAAQ,CAAE,KAAM,QAAS,CAAC,EAAE,MAAM,CAClD,CAAC,CACH,CAAC,EAED,GAAG,gBAAgB,YAAY,EAAE,OAAO,IAAM,CAC5C,GAAG,WAAW,MAAO,CACnB,KAAM,CAACD,EAAGC,IACDA,EAAQ,YAAY,SAAS,mBAAmB,CAE3D,CAAC,EAAE,OAAO,WAAW,CACvB,CAAC,CACH,EACA,GAAG,qEAAsE,IAAM,CAC7EE,EAAsB,EACtBI,EAA6B,EAC7BC,EAA0B,EAC1BK,EAAe,CACjB,CAAC,CACH,CAAC,EAED,SAAS,kBAAmB,IAAM,CAChC,MAAMC,EACJ,kSAEF,WAAW,IAAM,CACf,GAAG,KAAK,YAAY,EACpB,GAAG,KAAK,YAAY,EACpB,GAAG,KAAK,iBAAiB,EACzB,GAAG,KAAK,2BAA2B,EACnC,GAAG,KAAK,sCAAsC,EAC9C,GAAG,KAAK,+BAA+B,EACvC,GAAG,KAAK,2BAA2B,EACnC,GAAG,KAAK,4BAA4B,EACpC,GAAG,KAAK,qCAAqC,EAC7C,GAAG,KAAK,wBAAwB,EAChC,GAAG,MAAMhB,CAAI,CACf,CAAC,EAED,GAAG,sCAAuC,IAAM,CAC9C,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,IAAI,EAAE,OACP,cACA,+FACF,EACA,GAAG,WAAW,SAAU,CAAE,KAAM,gBAAiB,CAAC,EAAE,MAAM,EAE1D,GAAG,IAAI,EAAE,OACP,QACA,+GACF,EAEA,GAAG,WAAW,SAAU,CAAE,KAAM,QAAS,CAAC,EAAE,MAAM,EAClD,GAAG,KAAK,0BAA0B,EAClC,GAAG,WAAW,QAAQ,EAAE,SAAS,SAAS,EAC1C,GAAG,WAAW,SAAU,CAAE,KAAM,wBAAyB,CAAC,EAAE,MAAM,EAClE,GAAG,IAAI,EAAE,OACP,cACA,+FACF,EAEA,GAAG,MAAMH,CAAI,EACb,GAAG,WAAW,MAAO,CAAE,KAAM,WAAY,CAAC,EAAE,MAAM,EAElD,GAAG,gBAAgB,YAAY,EAAE,OAAO,IAAM,CAC5C,GAAG,WAAW,MAAO,CACnB,KAAM,CAACE,EAAGC,IACDA,EAAQ,YAAY,SAAS,mBAAmB,CAE3D,CAAC,EAAE,OAAO,IAAM,CACd,GAAG,WAAW,OAAQ,CAAE,KAAM,OAAQ,CAAC,EAAE,OAAO,YAAY,EAC5D,GAAG,WAAW,OAAQ,CAAE,KAAM,QAAS,CAAC,EAAE,OAAO,YAAY,EAC7D,GAAG,WAAW,OAAQ,CAAE,KAAM,SAAU,CAAC,EAAE,OAAO,YAAY,CAChE,CAAC,CACH,CAAC,EAED,GAAG,gBAAgB,YAAY,EAAE,OAAO,IAAM,CAC5C,GAAG,WAAW,MAAO,CACnB,KAAM,CAACD,EAAGC,IACDA,EAAQ,YAAY,SAAS,mBAAmB,CAE3D,CAAC,EAAE,OAAO,IAAM,CACd,GAAG,WAAW,OAAQ,CAAE,KAAM,OAAQ,CAAC,EAAE,MAAM,CACjD,CAAC,CACH,CAAC,EACD,GAAG,IAAI,EAAE,OAAO,cAAea,CAAW,EAE1C,GAAG,MAAMhB,CAAI,EACb,GAAG,WAAW,MAAO,CAAE,KAAM,WAAY,CAAC,EAAE,MAAM,EAElD,GAAG,gBAAgB,YAAY,EAAE,OAAO,IAAM,CAC5C,GAAG,WAAW,MAAO,CACnB,KAAM,CAACE,EAAGC,IACDA,EAAQ,YAAY,SAAS,mBAAmB,CAE3D,CAAC,EAAE,OAAO,IAAM,CACd,GAAG,WAAW,OAAQ,CAAE,KAAM,QAAS,CAAC,EAAE,MAAM,CAClD,CAAC,CACH,CAAC,EAED,GAAG,gBAAgB,YAAY,EAAE,OAAO,IAAM,CAC5C,GAAG,WAAW,MAAO,CACnB,KAAM,CAACD,EAAGC,IACDA,EAAQ,YAAY,SAAS,mBAAmB,CAE3D,CAAC,EAAE,OAAO,WAAW,CACvB,CAAC,CACH,CAAC,CACH,CAAC,CACH,CAAC",
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,15 +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')
19
- cy.task('stubGetProductCollections')
18
+ executeReportStubs()
20
19
  cy.task('stubDefinitionRequestExamplesSuccess')
21
- cy.task('stubViewAsyncReportingResults')
22
- cy.task('stubReportsFinishedStatus')
23
20
  cy.task('stubRequestSuccessResult20')
24
- cy.task('stubRequestSuccessReportTablesCount')
25
21
  cy.visit(path)
26
22
  })
27
23
 
@@ -85,15 +81,9 @@ context('Requesting a report', () => {
85
81
 
86
82
  describe('Failed request', () => {
87
83
  beforeEach(() => {
88
- cy.task('resetStubs')
89
- cy.task('resetRedis')
90
- cy.task('stubDefinitions')
91
- cy.task('stubGetProductCollections')
84
+ executeReportStubs()
92
85
  cy.task('stubDefinitionRequestExamplesSuccess')
93
- cy.task('stubViewAsyncReportingResults')
94
86
  cy.task('stubRequestSuccessResult20')
95
- cy.task('stubReportsFinishedStatus')
96
- cy.task('stubRequestSuccessReportTablesCount')
97
87
  cy.visit(path)
98
88
  })
99
89
 
@@ -275,15 +265,9 @@ context('Requesting a report', () => {
275
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'
276
266
 
277
267
  beforeEach(() => {
278
- cy.task('resetStubs')
279
- cy.task('resetRedis')
280
- cy.task('stubDefinitions')
281
- cy.task('stubGetProductCollections')
268
+ executeReportStubs()
282
269
  cy.task('stubDefinitionRequestExamplesSuccess')
283
- cy.task('stubViewAsyncReportingResults')
284
- cy.task('stubReportsFinishedStatus')
285
270
  cy.task('stubRequestSuccessResult20')
286
- cy.task('stubRequestSuccessReportTablesCount')
287
271
  cy.task('stubCancelAsyncRequest')
288
272
  cy.visit(path)
289
273
  })
@@ -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("stubGetProductCollections"),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
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../../src/dpr/routes/journeys/view-report/async/dashboard/tests.cy.ts"],
4
- "sourcesContent": ["import { checkA11y } from '../../../../../../../cypress-tests/cypressUtils'\n\ncontext('Viewing a report', () => {\n const path = '/embedded/platform/'\n\n describe('dashboard tests', () => {\n before(() => {\n cy.task('resetStubs')\n cy.task('resetRedis')\n cy.task('stubDefinitions')\n cy.task('stubGetProductCollections')\n cy.task('stubTestDashboard8')\n cy.task('stubMockDashboardsStatusFinished')\n cy.task('stubViewAsyncResults')\n cy.task('stubDashboardSuccessResult20')\n cy.task('stubSingleSummaries')\n cy.task('stubDefinitionUnprintable')\n cy.task('stubDefinitionEmptyReport')\n })\n\n it('should mark the dashboard as recently viewed', () => {\n // Request and run a report so we can go back to it for each test\n cy.visit(path)\n cy.findByRole('tab', { name: /Viewed \\(0\\)/ }).should('be.visible')\n checkA11y()\n cy.findByLabelText(/Reports catalogue.*/i).within(() => {\n cy.findByRole('row', {\n name: (_, element) => {\n return (\n element.textContent.includes('Test Dashboard') &&\n element.textContent.includes('Dashboard used for testing testing')\n )\n },\n }).within(() => {\n cy.findByRole('link', { name: 'Request dashboard' }).click()\n })\n })\n checkA11y()\n cy.findByRole('button', { name: /Request/ }).click()\n checkA11y()\n cy.findByRole('heading', { level: 1, name: /Test Dashboard/ }).should('be.visible')\n checkA11y()\n cy.visit(path)\n cy.findByRole('tab', { name: /Viewed \\(1\\)/ }).should('be.visible')\n })\n })\n})\n"],
5
- "mappings": "AAAA,IAAAA,EAA0B,2DAE1B,QAAQ,mBAAoB,IAAM,CAChC,MAAMC,EAAO,sBAEb,SAAS,kBAAmB,IAAM,CAChC,OAAO,IAAM,CACX,GAAG,KAAK,YAAY,EACpB,GAAG,KAAK,YAAY,EACpB,GAAG,KAAK,iBAAiB,EACzB,GAAG,KAAK,2BAA2B,EACnC,GAAG,KAAK,oBAAoB,EAC5B,GAAG,KAAK,kCAAkC,EAC1C,GAAG,KAAK,sBAAsB,EAC9B,GAAG,KAAK,8BAA8B,EACtC,GAAG,KAAK,qBAAqB,EAC7B,GAAG,KAAK,2BAA2B,EACnC,GAAG,KAAK,2BAA2B,CACrC,CAAC,EAED,GAAG,+CAAgD,IAAM,CAEvD,GAAG,MAAMA,CAAI,EACb,GAAG,WAAW,MAAO,CAAE,KAAM,cAAe,CAAC,EAAE,OAAO,YAAY,KAClE,aAAU,EACV,GAAG,gBAAgB,sBAAsB,EAAE,OAAO,IAAM,CACtD,GAAG,WAAW,MAAO,CACnB,KAAM,CAACC,EAAGC,IAENA,EAAQ,YAAY,SAAS,gBAAgB,GAC7CA,EAAQ,YAAY,SAAS,oCAAoC,CAGvE,CAAC,EAAE,OAAO,IAAM,CACd,GAAG,WAAW,OAAQ,CAAE,KAAM,mBAAoB,CAAC,EAAE,MAAM,CAC7D,CAAC,CACH,CAAC,KACD,aAAU,EACV,GAAG,WAAW,SAAU,CAAE,KAAM,SAAU,CAAC,EAAE,MAAM,KACnD,aAAU,EACV,GAAG,WAAW,UAAW,CAAE,MAAO,EAAG,KAAM,gBAAiB,CAAC,EAAE,OAAO,YAAY,KAClF,aAAU,EACV,GAAG,MAAMF,CAAI,EACb,GAAG,WAAW,MAAO,CAAE,KAAM,cAAe,CAAC,EAAE,OAAO,YAAY,CACpE,CAAC,CACH,CAAC,CACH,CAAC",
4
+ "sourcesContent": ["import { checkA11y, executeDashboardStubs } from '../../../../../../../cypress-tests/cypressUtils'\n\ncontext('Viewing a report', () => {\n const path = '/embedded/platform/'\n\n describe('dashboard tests', () => {\n before(() => {\n executeDashboardStubs()\n cy.task('stubTestDashboard8')\n cy.task('stubDashboardSuccessResult20')\n })\n\n it('should mark the dashboard as recently viewed', () => {\n // Request and run a report so we can go back to it for each test\n cy.visit(path)\n cy.findByRole('tab', { name: /Viewed \\(0\\)/ }).should('be.visible')\n checkA11y()\n cy.findByLabelText(/Reports catalogue.*/i).within(() => {\n cy.findByRole('row', {\n name: (_, element) => {\n return (\n element.textContent.includes('Test Dashboard') &&\n element.textContent.includes('Dashboard used for testing testing')\n )\n },\n }).within(() => {\n cy.findByRole('link', { name: 'Request dashboard' }).click()\n })\n })\n checkA11y()\n cy.findByRole('button', { name: /Request/ }).click()\n checkA11y()\n cy.findByRole('heading', { level: 1, name: /Test Dashboard/ }).should('be.visible')\n checkA11y()\n cy.visit(path)\n cy.findByRole('tab', { name: /Viewed \\(1\\)/ }).should('be.visible')\n })\n })\n})\n"],
5
+ "mappings": "AAAA,IAAAA,EAAiD,2DAEjD,QAAQ,mBAAoB,IAAM,CAChC,MAAMC,EAAO,sBAEb,SAAS,kBAAmB,IAAM,CAChC,OAAO,IAAM,IACX,yBAAsB,EACtB,GAAG,KAAK,oBAAoB,EAC5B,GAAG,KAAK,8BAA8B,CACxC,CAAC,EAED,GAAG,+CAAgD,IAAM,CAEvD,GAAG,MAAMA,CAAI,EACb,GAAG,WAAW,MAAO,CAAE,KAAM,cAAe,CAAC,EAAE,OAAO,YAAY,KAClE,aAAU,EACV,GAAG,gBAAgB,sBAAsB,EAAE,OAAO,IAAM,CACtD,GAAG,WAAW,MAAO,CACnB,KAAM,CAACC,EAAGC,IAENA,EAAQ,YAAY,SAAS,gBAAgB,GAC7CA,EAAQ,YAAY,SAAS,oCAAoC,CAGvE,CAAC,EAAE,OAAO,IAAM,CACd,GAAG,WAAW,OAAQ,CAAE,KAAM,mBAAoB,CAAC,EAAE,MAAM,CAC7D,CAAC,CACH,CAAC,KACD,aAAU,EACV,GAAG,WAAW,SAAU,CAAE,KAAM,SAAU,CAAC,EAAE,MAAM,KACnD,aAAU,EACV,GAAG,WAAW,UAAW,CAAE,MAAO,EAAG,KAAM,gBAAiB,CAAC,EAAE,OAAO,YAAY,KAClF,aAAU,EACV,GAAG,MAAMF,CAAI,EACb,GAAG,WAAW,MAAO,CAAE,KAAM,cAAe,CAAC,EAAE,OAAO,YAAY,CACpE,CAAC,CACH,CAAC,CACH,CAAC",
6
6
  "names": ["import_cypressUtils", "path", "_", "element"]
7
7
  }
@@ -1,21 +1,13 @@
1
- import { checkA11y } from '../../../../../../../cypress-tests/cypressUtils'
1
+ import { checkA11y, executeDashboardStubs } from '../../../../../../../cypress-tests/cypressUtils'
2
2
 
3
3
  context('Viewing a report', () => {
4
4
  const path = '/embedded/platform/'
5
5
 
6
6
  describe('dashboard tests', () => {
7
7
  before(() => {
8
- cy.task('resetStubs')
9
- cy.task('resetRedis')
10
- cy.task('stubDefinitions')
11
- cy.task('stubGetProductCollections')
8
+ executeDashboardStubs()
12
9
  cy.task('stubTestDashboard8')
13
- cy.task('stubMockDashboardsStatusFinished')
14
- cy.task('stubViewAsyncResults')
15
10
  cy.task('stubDashboardSuccessResult20')
16
- cy.task('stubSingleSummaries')
17
- cy.task('stubDefinitionUnprintable')
18
- cy.task('stubDefinitionEmptyReport')
19
11
  })
20
12
 
21
13
  it('should mark the dashboard as recently viewed', () => {
@@ -1,2 +1,2 @@
1
- var M=Object.create;var b=Object.defineProperty;var N=Object.getOwnPropertyDescriptor;var O=Object.getOwnPropertyNames;var _=Object.getPrototypeOf,H=Object.prototype.hasOwnProperty;var Q=(t,e)=>{for(var r in e)b(t,r,{get:e[r],enumerable:!0})},T=(t,e,r,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of O(e))!H.call(t,a)&&a!==r&&b(t,a,{get:()=>e[a],enumerable:!(s=N(e,a))||s.enumerable});return t};var p=(t,e,r)=>(r=t!=null?M(_(t)):{},T(e||!t||!t.__esModule?b(r,"default",{value:t,enumerable:!0}):r,t)),G=t=>T(b({},"__esModule",{value:!0}),t);var J={};Q(J,{default:()=>z,renderAsyncDashboard:()=>P});module.exports=G(J);var k=p(require("parseurl")),c=require("../../../../../components/_dashboards/dashboard/types"),S=require("../../../../../types/UserReports"),h=p(require("../../../../../components/_charts/utils")),E=p(require("../../../../../utils/definitionUtils")),V=p(require("../../../../../components/user-reports/utils")),w=p(require("../../../../../components/_dashboards/dashboard-list/utils")),U=p(require("../../../../../components/_filters/utils")),F=p(require("../../../../../components/_dashboards/scorecard/utils")),I=p(require("../../../../../components/_dashboards/scorecard/Scorecard")),q=p(require("../../../../../components/_reports/report-actions/utils")),C=p(require("../../../../../types/ReportQuery")),g=p(require("../../../../../utils/localsHelper")),L=require("../../../../../components/_filters/filtersTypeEnum");const X=(t,e,r)=>{const s=e.name,{name:a}=t,i=r.url.request.fullUrl,{executionId:d}=r;return q.default.getActions({share:{reportName:s,name:a,url:i},refresh:{url:i,executionId:d},copy:{url:i}})},W=async({req:t,res:e,services:r,next:s})=>{const{token:a}=g.default.getValues(e),{reportId:i,id:d}=t.params,{dataProductDefinitionsPath:n}=t.query,l=await r.dashboardService.getDefinition(a,i,d,n),o=await E.default.getReportSummary(i,r.reportingService,a,n),u=await U.default.getFilters({fields:l.filterFields||[],req:t,filtersType:L.FiltersType.INTERACTIVE}),f=U.default.setRequestQueryFromFilterValues(u.filters);return{query:new C.default({fields:l.filterFields||[],queryParams:f,definitionsPath:n,reportType:S.ReportType.DASHBOARD}).toRecordWithFilterPrefix(!0),filters:u,dashboardDefinition:l,reportDefinition:o}},j=(t,e,r)=>t.sections.map(s=>{const{id:a,display:i,description:d}=s;let n=!1;const l=s.visualisations.map(o=>{const{type:u,display:f,description:D,id:R}=o;let m;switch(u){case c.DashboardVisualisationType.LIST:m=w.default.createList(o,e);break;case c.DashboardVisualisationType.SCORECARD:n=!0,m=new I.default(e,o).build();break;case c.DashboardVisualisationType.SCORECARD_GROUP:m=new I.default(e,o,!0).build();break;case c.DashboardVisualisationType.BAR:case c.DashboardVisualisationType.LINE:case c.DashboardVisualisationType.DONUT:{m=h.default.createChart(o,e);break}case c.DashboardVisualisationType.MATRIX:case c.DashboardVisualisationType.MATRIX_TIMESERIES:{m=h.default.createMatrixChart(o,e,r);break}case c.DashboardVisualisationType.BAR_TIMESERIES:case c.DashboardVisualisationType.LINE_TIMESERIES:{m=h.default.createTimeseriesCharts(o,e);break}default:break}return{id:R,title:f,description:D,type:u,data:m}});return n&&F.default.mergeScorecardsIntoGroup(l),{id:a,title:i,description:d,visualisations:l}}),v=async(t,e,r,s,a,i,d)=>{const n=await t.requestedReportService.getReportByTableId(e,r);return s&&s.length&&n&&V.default.updateLastViewed({services:t,reportStateData:n,userId:r,req:i,filters:d}),n},P=async({req:t,res:e,services:r,next:s})=>{const{token:a,csrfToken:i,dprUser:d,nestedBaseUrl:n}=g.default.getValues(e),{reportId:l,id:o,tableId:u}=t.params,f=(0,k.default)(t),{query:D,filters:R,reportDefinition:m,dashboardDefinition:y}=await W({req:t,res:e,services:r}),x=(await r.dashboardService.getAsyncDashboard(a,o,l,u,D)).flat(),A=j(y,x,D),B=await v(r,u,d.id,A,f,t,R.filters);return{dashboardData:{token:a,id:o,reportId:l,name:y.name,description:y.description,reportName:m.name,bookmarked:await r.bookmarkService.isBookmarked(o,l,d.id),nestedBaseUrl:n,csrfToken:i,sections:A,filters:R,type:S.ReportType.DASHBOARD,actions:X(y,m,B)}}};var z={renderAsyncDashboard:P};0&&(module.exports={renderAsyncDashboard});
1
+ var O=Object.create;var h=Object.defineProperty;var _=Object.getOwnPropertyDescriptor;var H=Object.getOwnPropertyNames;var Q=Object.getPrototypeOf,G=Object.prototype.hasOwnProperty;var v=(t,e)=>{for(var r in e)h(t,r,{get:e[r],enumerable:!0})},w=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of H(e))!G.call(t,s)&&s!==r&&h(t,s,{get:()=>e[s],enumerable:!(n=_(e,s))||n.enumerable});return t};var p=(t,e,r)=>(r=t!=null?O(Q(t)):{},w(e||!t||!t.__esModule?h(r,"default",{value:t,enumerable:!0}):r,t)),W=t=>w(h({},"__esModule",{value:!0}),t);var Y={};v(Y,{default:()=>K,renderAsyncDashboard:()=>M});module.exports=W(Y);var V=p(require("parseurl")),l=require("../../../../../components/_dashboards/dashboard-visualisation/types"),y=require("../../../../../types/UserReports"),b=p(require("../../../../../components/_charts/utils")),P=p(require("../../../../../utils/definitionUtils")),q=p(require("../../../../../components/user-reports/utils")),F=p(require("../../../../../components/_dashboards/dashboard-list/utils")),S=p(require("../../../../../components/_filters/utils")),C=p(require("../../../../../components/_dashboards/scorecard/utils")),g=p(require("../../../../../components/_dashboards/scorecard/Scorecard")),x=p(require("../../../../../components/_reports/report-actions/utils")),B=p(require("../../../../../types/ReportQuery")),U=p(require("../../../../../utils/localsHelper")),L=require("../../../../../components/_filters/filtersTypeEnum");const X=(t,e,r)=>{const n=e.name,{name:s}=t,a=r?.url?.request?.fullUrl,c=r?.executionId;let o={};return a&&(o={share:{reportName:n,name:s,url:a},copy:{url:a}},c&&(o={...o,refresh:{url:a,executionId:c}})),x.default.getActions(o)},j=async({req:t,res:e,services:r,next:n})=>{const{token:s}=U.default.getValues(e),{reportId:a,id:c}=t.params,o=t.query.dataProductDefinitionsPath,d=await r.dashboardService.getDefinition(s,a,c,o),i=await P.default.getReportSummary(a,r.reportingService,s,o),u=await S.default.getFilters({fields:d.filterFields||[],req:t,filtersType:L.FiltersType.INTERACTIVE}),f=S.default.setRequestQueryFromFilterValues(u.filters);return{query:new B.default({fields:d.filterFields||[],queryParams:f,definitionsPath:o,reportType:y.ReportType.DASHBOARD}).toRecordWithFilterPrefix(!0),filters:u,dashboardDefinition:d,reportDefinition:i}},z=(t,e,r)=>t.sections.map(n=>{const{id:s,display:a,description:c}=n;let o=!1;const d=n.visualisations.map(i=>{const{type:u,display:f,description:D,id:A}=i;let m;switch(u){case l.DashboardVisualisationType.LIST:m=F.default.createList(i,e);break;case l.DashboardVisualisationType.SCORECARD:o=!0,m=new g.default(e,i).build();break;case l.DashboardVisualisationType.SCORECARD_GROUP:m=new g.default(e,i,!0).build();break;case l.DashboardVisualisationType.BAR:case l.DashboardVisualisationType.LINE:case l.DashboardVisualisationType.DONUT:{m=b.default.createChart(i,e);break}case l.DashboardVisualisationType.MATRIX_TIMESERIES:{m=b.default.createMatrixChart(i,e,r);break}case l.DashboardVisualisationType.BAR_TIMESERIES:case l.DashboardVisualisationType.LINE_TIMESERIES:{m=b.default.createTimeseriesCharts(i,e);break}default:break}return{id:A,title:f,description:D,type:u,data:m}});return o&&C.default.mergeScorecardsIntoGroup(d),{id:s,title:a,description:c,visualisations:d}}),J=async(t,e,r,n,s,a)=>{const{requestedReportService:c}=t,o=c?await c.getReportByTableId(e,r):void 0;return n&&n.length&&o&&q.default.updateLastViewed({services:t,reportStateData:o,userId:r,req:s,filters:a}),o},M=async({req:t,res:e,services:r,next:n})=>{const{token:s,csrfToken:a,dprUser:c,nestedBaseUrl:o}=U.default.getValues(e),{reportId:d,id:i,tableId:u}=t.params,{bookmarkService:f,requestedReportService:D}=r,A=(0,V.default)(t),{query:m,filters:I,reportDefinition:k,dashboardDefinition:R}=await j({req:t,res:e,services:r}),N=(await r.dashboardService.getAsyncDashboard(s,i,d,u,m)).flat(),T=z(R,N,m);let E;return D&&(E=await J(r,u,c.id,T,t,I.filters)),{dashboardData:{token:s,id:i,reportId:d,name:R.name,description:R.description,reportName:k.name,bookmarked:f?await f.isBookmarked(i,d,c.id):!1,nestedBaseUrl:o,csrfToken:a,sections:T,filters:I,type:y.ReportType.DASHBOARD,actions:X(R,k,E)}}};var K={renderAsyncDashboard:M};0&&(module.exports={renderAsyncDashboard});
2
2
  //# sourceMappingURL=utils.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../../../src/dpr/routes/journeys/view-report/async/dashboard/utils.ts"],
4
- "sourcesContent": ["import parseUrl from 'parseurl'\nimport { Url } from 'url'\nimport { Request } from 'express'\nimport type { AsyncReportUtilsParams } from '../../../../../types/AsyncReportUtils'\n\nimport {\n DashboardUIVisualisation,\n DashboardVisualisationType,\n ListVisualisation,\n type DashboardDefinition,\n type DashboardSection,\n type DashboardUISection,\n type DashboardVisualisation,\n} from '../../../../../components/_dashboards/dashboard/types'\nimport type { DashboardDataResponse } from '../../../../../types/Metrics'\nimport type { RequestedReport } from '../../../../../types/UserReports'\nimport { ReportType } from '../../../../../types/UserReports'\nimport type { components } from '../../../../../types/api'\n\nimport ChartUtils from '../../../../../components/_charts/utils'\nimport DefinitionUtils from '../../../../../utils/definitionUtils'\nimport UserReportsUtils from '../../../../../components/user-reports/utils'\nimport DashboardListUtils from '../../../../../components/_dashboards/dashboard-list/utils'\nimport FilterUtils from '../../../../../components/_filters/utils'\nimport ScorecardsUtils from '../../../../../components/_dashboards/scorecard/utils'\nimport ScorecardVisualisation from '../../../../../components/_dashboards/scorecard/Scorecard'\nimport ReportActionsUtils from '../../../../../components/_reports/report-actions/utils'\nimport ReportQuery from '../../../../../types/ReportQuery'\nimport LocalsHelper from '../../../../../utils/localsHelper'\nimport { Services } from '../../../../../types/Services'\nimport { FilterValue } from '../../../../../components/_filters/types'\nimport { FiltersType } from '../../../../../components/_filters/filtersTypeEnum'\n\nconst setDashboardActions = (\n dashboardDefinition: DashboardDefinition,\n reportDefinition: components['schemas']['ReportDefinitionSummary'],\n requestData: RequestedReport,\n) => {\n const reportName = reportDefinition.name\n const { name } = dashboardDefinition\n const actionsUrl = requestData.url.request.fullUrl\n const { executionId } = requestData\n\n return ReportActionsUtils.getActions({\n share: {\n reportName,\n name,\n url: actionsUrl,\n },\n refresh: {\n url: actionsUrl,\n executionId,\n },\n copy: {\n url: actionsUrl,\n },\n })\n}\n\nconst getDefinitionData = async ({ req, res, services, next }: AsyncReportUtilsParams) => {\n const { token } = LocalsHelper.getValues(res)\n const { reportId, id } = req.params\n const { dataProductDefinitionsPath } = req.query\n\n // Dashboard Definition,\n const dashboardDefinition: DashboardDefinition = await services.dashboardService.getDefinition(\n token,\n reportId,\n id,\n dataProductDefinitionsPath,\n )\n\n // Report summary data\n const reportDefinition = await DefinitionUtils.getReportSummary(\n reportId,\n services.reportingService,\n token,\n <string>dataProductDefinitionsPath,\n )\n\n // Get the filters\n const filtersData = await FilterUtils.getFilters({\n fields: dashboardDefinition.filterFields || [],\n req,\n filtersType: FiltersType.INTERACTIVE,\n })\n\n const filtersQuery = FilterUtils.setRequestQueryFromFilterValues(filtersData.filters)\n\n // Create the query\n const query = new ReportQuery({\n fields: dashboardDefinition.filterFields || [],\n queryParams: filtersQuery,\n definitionsPath: <string>dataProductDefinitionsPath,\n reportType: ReportType.DASHBOARD,\n }).toRecordWithFilterPrefix(true)\n\n return {\n query,\n filters: filtersData,\n dashboardDefinition,\n reportDefinition,\n }\n}\n\nconst getSections = (\n dashboardDefinition: DashboardDefinition,\n dashboardData: DashboardDataResponse[],\n query: Record<string, string | string[]>,\n): DashboardUISection[] => {\n return dashboardDefinition.sections.map((section: DashboardSection) => {\n const { id, display: title, description } = section\n\n let hasScorecard = false\n const visualisations = section.visualisations.map((visDefinition: DashboardVisualisation) => {\n const { type, display, description: visDescription, id: visId } = visDefinition\n\n let data: DashboardUIVisualisation['data']\n\n switch (type) {\n case DashboardVisualisationType.LIST:\n data = DashboardListUtils.createList(visDefinition as ListVisualisation, dashboardData)\n break\n\n case DashboardVisualisationType.SCORECARD:\n hasScorecard = true\n data = new ScorecardVisualisation(dashboardData, visDefinition).build()\n break\n\n case DashboardVisualisationType.SCORECARD_GROUP:\n data = new ScorecardVisualisation(dashboardData, visDefinition, true).build()\n break\n\n case DashboardVisualisationType.BAR:\n case DashboardVisualisationType.LINE:\n case DashboardVisualisationType.DONUT: {\n data = ChartUtils.createChart(visDefinition, dashboardData)\n break\n }\n case DashboardVisualisationType.MATRIX:\n case DashboardVisualisationType.MATRIX_TIMESERIES: {\n data = ChartUtils.createMatrixChart(visDefinition, dashboardData, query)\n break\n }\n case DashboardVisualisationType.BAR_TIMESERIES:\n case DashboardVisualisationType.LINE_TIMESERIES: {\n data = ChartUtils.createTimeseriesCharts(visDefinition, dashboardData)\n break\n }\n default:\n break\n }\n\n return {\n id: visId,\n title: display,\n description: visDescription,\n type,\n data,\n }\n })\n\n if (hasScorecard) ScorecardsUtils.mergeScorecardsIntoGroup(visualisations)\n\n return { id, title, description, visualisations }\n })\n}\n\nconst updateStore = async (\n services: Services,\n tableId: string,\n userId: string,\n sections: DashboardUISection[],\n url: Url,\n req: Request,\n filters: FilterValue[],\n) => {\n const dashboardRequestData: RequestedReport = await services.requestedReportService.getReportByTableId(\n tableId,\n userId,\n )\n\n // Add to recently viewed\n if (sections && sections.length && dashboardRequestData) {\n UserReportsUtils.updateLastViewed({\n services,\n reportStateData: dashboardRequestData,\n userId,\n req,\n filters,\n })\n }\n\n return dashboardRequestData\n}\n\nexport const renderAsyncDashboard = async ({ req, res, services, next }: AsyncReportUtilsParams) => {\n const { token, csrfToken, dprUser, nestedBaseUrl } = LocalsHelper.getValues(res)\n const { reportId, id, tableId } = req.params\n const url = parseUrl(req)\n\n // Get the definition Data\n const { query, filters, reportDefinition, dashboardDefinition } = await getDefinitionData({\n req,\n res,\n services,\n })\n\n // Get the results data\n const dashboardData: DashboardDataResponse[][] = await services.dashboardService.getAsyncDashboard(\n token,\n id,\n reportId,\n tableId,\n query,\n )\n\n const flattenedData: DashboardDataResponse[] = dashboardData.flat()\n\n // Get the dashboard parts\n const sections: DashboardUISection[] = getSections(dashboardDefinition, flattenedData, query)\n\n // Update the store\n const dashboardRequestData = await updateStore(services, tableId, dprUser.id, sections, url, req, filters.filters)\n\n return {\n dashboardData: {\n token,\n id,\n reportId,\n name: dashboardDefinition.name,\n description: dashboardDefinition.description,\n reportName: reportDefinition.name,\n bookmarked: await services.bookmarkService.isBookmarked(id, reportId, dprUser.id),\n nestedBaseUrl,\n csrfToken,\n sections,\n filters,\n type: ReportType.DASHBOARD,\n actions: setDashboardActions(dashboardDefinition, reportDefinition, dashboardRequestData),\n },\n }\n}\n\nexport default {\n renderAsyncDashboard,\n}\n"],
5
- "mappings": "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",
6
- "names": ["utils_exports", "__export", "utils_default", "renderAsyncDashboard", "__toCommonJS", "import_parseurl", "import_types", "import_UserReports", "import_utils", "import_definitionUtils", "import_Scorecard", "import_ReportQuery", "import_localsHelper", "import_filtersTypeEnum", "setDashboardActions", "dashboardDefinition", "reportDefinition", "requestData", "reportName", "name", "actionsUrl", "executionId", "ReportActionsUtils", "getDefinitionData", "req", "res", "services", "next", "token", "LocalsHelper", "reportId", "id", "dataProductDefinitionsPath", "DefinitionUtils", "filtersData", "FilterUtils", "filtersQuery", "ReportQuery", "getSections", "dashboardData", "query", "section", "title", "description", "hasScorecard", "visualisations", "visDefinition", "type", "display", "visDescription", "visId", "data", "DashboardListUtils", "ScorecardVisualisation", "ChartUtils", "ScorecardsUtils", "updateStore", "tableId", "userId", "sections", "url", "filters", "dashboardRequestData", "UserReportsUtils", "csrfToken", "dprUser", "nestedBaseUrl", "parseUrl", "flattenedData"]
4
+ "sourcesContent": ["import parseUrl from 'parseurl'\nimport { Request } from 'express'\nimport { Services } from '../../../../../types/Services'\nimport {\n DashboardSection,\n DashboardVisualisation,\n DashboardVisualisationType,\n} from '../../../../../components/_dashboards/dashboard-visualisation/types'\nimport type { AsyncReportUtilsParams } from '../../../../../types/AsyncReportUtils'\n\nimport type { DashboardDataResponse } from '../../../../../types/Metrics'\nimport type { RequestedReport } from '../../../../../types/UserReports'\nimport { ReportType } from '../../../../../types/UserReports'\nimport type { components } from '../../../../../types/api'\n\nimport ChartUtils from '../../../../../components/_charts/utils'\nimport DefinitionUtils from '../../../../../utils/definitionUtils'\nimport UserReportsUtils from '../../../../../components/user-reports/utils'\nimport DashboardListUtils from '../../../../../components/_dashboards/dashboard-list/utils'\nimport FilterUtils from '../../../../../components/_filters/utils'\nimport ScorecardsUtils from '../../../../../components/_dashboards/scorecard/utils'\nimport ScorecardVisualisation from '../../../../../components/_dashboards/scorecard/Scorecard'\nimport ReportActionsUtils from '../../../../../components/_reports/report-actions/utils'\nimport ReportQuery from '../../../../../types/ReportQuery'\nimport LocalsHelper from '../../../../../utils/localsHelper'\nimport { FilterValue } from '../../../../../components/_filters/types'\nimport { FiltersType } from '../../../../../components/_filters/filtersTypeEnum'\n\nconst setDashboardActions = (\n dashboardDefinition: components['schemas']['DashboardDefinition'],\n reportDefinition: components['schemas']['ReportDefinitionSummary'],\n requestData?: RequestedReport,\n) => {\n const reportName = reportDefinition.name\n const { name } = dashboardDefinition\n const actionsUrl = requestData?.url?.request?.fullUrl\n const executionId = requestData?.executionId\n\n let actions = {}\n if (actionsUrl) {\n actions = {\n share: {\n reportName,\n name,\n url: actionsUrl,\n },\n copy: {\n url: actionsUrl,\n },\n }\n if (executionId) {\n actions = {\n ...actions,\n refresh: {\n url: actionsUrl,\n executionId,\n },\n }\n }\n }\n\n return ReportActionsUtils.getActions(actions)\n}\n\nconst getDefinitionData = async ({ req, res, services, next }: AsyncReportUtilsParams) => {\n const { token } = LocalsHelper.getValues(res)\n const { reportId, id } = req.params\n const dataProductDefinitionsPath = <string>req.query.dataProductDefinitionsPath\n\n // Dashboard Definition,\n const dashboardDefinition: components['schemas']['DashboardDefinition'] =\n await services.dashboardService.getDefinition(token, reportId, id, dataProductDefinitionsPath)\n\n // Report summary data\n const reportDefinition = await DefinitionUtils.getReportSummary(\n reportId,\n services.reportingService,\n token,\n <string>dataProductDefinitionsPath,\n )\n\n // Get the filters\n const filtersData = await FilterUtils.getFilters({\n fields: dashboardDefinition.filterFields || [],\n req,\n filtersType: FiltersType.INTERACTIVE,\n })\n\n const filtersQuery = FilterUtils.setRequestQueryFromFilterValues(filtersData.filters)\n\n // Create the query\n const query = new ReportQuery({\n fields: dashboardDefinition.filterFields || [],\n queryParams: filtersQuery,\n definitionsPath: <string>dataProductDefinitionsPath,\n reportType: ReportType.DASHBOARD,\n }).toRecordWithFilterPrefix(true)\n\n return {\n query,\n filters: filtersData,\n dashboardDefinition,\n reportDefinition,\n }\n}\n\nconst getSections = (\n dashboardDefinition: components['schemas']['DashboardDefinition'],\n dashboardData: DashboardDataResponse[],\n query: Record<string, string | string[]>,\n): DashboardSection[] => {\n return dashboardDefinition.sections.map((section: components['schemas']['DashboardSectionDefinition']) => {\n const { id, display: title, description } = section\n\n let hasScorecard = false\n const visualisations: DashboardVisualisation[] = section.visualisations.map(\n (visDefinition: components['schemas']['DashboardVisualisationDefinition']) => {\n const { type, display, description: visDescription, id: visId } = visDefinition\n\n let data: DashboardVisualisation['data'] | undefined\n\n switch (type) {\n case DashboardVisualisationType.LIST:\n data = DashboardListUtils.createList(visDefinition, dashboardData)\n break\n\n case DashboardVisualisationType.SCORECARD:\n hasScorecard = true\n data = new ScorecardVisualisation(dashboardData, visDefinition).build()\n break\n\n case DashboardVisualisationType.SCORECARD_GROUP:\n data = new ScorecardVisualisation(dashboardData, visDefinition, true).build()\n break\n\n case DashboardVisualisationType.BAR:\n case DashboardVisualisationType.LINE:\n case DashboardVisualisationType.DONUT: {\n data = ChartUtils.createChart(visDefinition, dashboardData)\n break\n }\n case DashboardVisualisationType.MATRIX_TIMESERIES: {\n data = ChartUtils.createMatrixChart(visDefinition, dashboardData, query)\n break\n }\n case DashboardVisualisationType.BAR_TIMESERIES:\n case DashboardVisualisationType.LINE_TIMESERIES: {\n data = ChartUtils.createTimeseriesCharts(visDefinition, dashboardData)\n break\n }\n default:\n break\n }\n\n return {\n id: visId,\n title: display,\n description: visDescription,\n type,\n data,\n }\n },\n )\n\n if (hasScorecard) ScorecardsUtils.mergeScorecardsIntoGroup(visualisations)\n\n return { id, title, description, visualisations }\n })\n}\n\nconst updateStore = async (\n services: Services,\n tableId: string,\n userId: string,\n sections: DashboardSection[],\n req: Request,\n filters: FilterValue[],\n): Promise<RequestedReport | undefined> => {\n const { requestedReportService } = services\n const dashboardRequestData = requestedReportService\n ? await requestedReportService.getReportByTableId(tableId, userId)\n : undefined\n\n // Add to recently viewed\n if (sections && sections.length && dashboardRequestData) {\n UserReportsUtils.updateLastViewed({\n services,\n reportStateData: dashboardRequestData,\n userId,\n req,\n filters,\n })\n }\n\n return dashboardRequestData\n}\n\nexport const renderAsyncDashboard = async ({ req, res, services, next }: AsyncReportUtilsParams) => {\n const { token, csrfToken, dprUser, nestedBaseUrl } = LocalsHelper.getValues(res)\n const { reportId, id, tableId } = req.params\n const { bookmarkService, requestedReportService } = services\n const url = parseUrl(req)\n\n // Get the definition Data\n const { query, filters, reportDefinition, dashboardDefinition } = await getDefinitionData({\n req,\n res,\n services,\n })\n\n // Get the results data\n const dashboardData: DashboardDataResponse[][] = await services.dashboardService.getAsyncDashboard(\n token,\n id,\n reportId,\n tableId,\n query,\n )\n\n const flattenedData: DashboardDataResponse[] = dashboardData.flat()\n\n // Get the dashboard parts\n const sections: DashboardSection[] = getSections(dashboardDefinition, flattenedData, query)\n\n // Update the store\n let dashboardRequestData\n if (requestedReportService) {\n dashboardRequestData = await updateStore(services, tableId, dprUser.id, sections, req, filters.filters)\n }\n\n return {\n dashboardData: {\n token,\n id,\n reportId,\n name: dashboardDefinition.name,\n description: dashboardDefinition.description,\n reportName: reportDefinition.name,\n bookmarked: bookmarkService ? await bookmarkService.isBookmarked(id, reportId, dprUser.id) : false,\n nestedBaseUrl,\n csrfToken,\n sections,\n filters,\n type: ReportType.DASHBOARD,\n actions: setDashboardActions(dashboardDefinition, reportDefinition, dashboardRequestData),\n },\n }\n}\n\nexport default {\n renderAsyncDashboard,\n}\n"],
5
+ "mappings": "6iBAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,aAAAE,EAAA,yBAAAC,IAAA,eAAAC,EAAAJ,GAAA,IAAAK,EAAqB,uBAGrBC,EAIO,+EAKPC,EAA2B,4CAG3BC,EAAuB,sDACvBC,EAA4B,mDAC5BD,EAA6B,2DAC7BA,EAA+B,yEAC/BA,EAAwB,uDACxBA,EAA4B,oEAC5BE,EAAmC,wEACnCF,EAA+B,sEAC/BG,EAAwB,+CACxBC,EAAyB,gDAEzBC,EAA4B,8DAE5B,MAAMC,EAAsB,CAC1BC,EACAC,EACAC,IACG,CACH,MAAMC,EAAaF,EAAiB,KAC9B,CAAE,KAAAG,CAAK,EAAIJ,EACXK,EAAaH,GAAa,KAAK,SAAS,QACxCI,EAAcJ,GAAa,YAEjC,IAAIK,EAAU,CAAC,EACf,OAAIF,IACFE,EAAU,CACR,MAAO,CACL,WAAAJ,EACA,KAAAC,EACA,IAAKC,CACP,EACA,KAAM,CACJ,IAAKA,CACP,CACF,EACIC,IACFC,EAAU,CACR,GAAGA,EACH,QAAS,CACP,IAAKF,EACL,YAAAC,CACF,CACF,IAIG,EAAAE,QAAmB,WAAWD,CAAO,CAC9C,EAEME,EAAoB,MAAO,CAAE,IAAAC,EAAK,IAAAC,EAAK,SAAAC,EAAU,KAAAC,CAAK,IAA8B,CACxF,KAAM,CAAE,MAAAC,CAAM,EAAI,EAAAC,QAAa,UAAUJ,CAAG,EACtC,CAAE,SAAAK,EAAU,GAAAC,CAAG,EAAIP,EAAI,OACvBQ,EAAqCR,EAAI,MAAM,2BAG/CV,EACJ,MAAMY,EAAS,iBAAiB,cAAcE,EAAOE,EAAUC,EAAIC,CAA0B,EAGzFjB,EAAmB,MAAM,EAAAkB,QAAgB,iBAC7CH,EACAJ,EAAS,iBACTE,EACQI,CACV,EAGME,EAAc,MAAM,EAAAC,QAAY,WAAW,CAC/C,OAAQrB,EAAoB,cAAgB,CAAC,EAC7C,IAAAU,EACA,YAAa,cAAY,WAC3B,CAAC,EAEKY,EAAe,EAAAD,QAAY,gCAAgCD,EAAY,OAAO,EAUpF,MAAO,CACL,MARY,IAAI,EAAAG,QAAY,CAC5B,OAAQvB,EAAoB,cAAgB,CAAC,EAC7C,YAAasB,EACb,gBAAyBJ,EACzB,WAAY,aAAW,SACzB,CAAC,EAAE,yBAAyB,EAAI,EAI9B,QAASE,EACT,oBAAApB,EACA,iBAAAC,CACF,CACF,EAEMuB,EAAc,CAClBxB,EACAyB,EACAC,IAEO1B,EAAoB,SAAS,IAAK2B,GAAiE,CACxG,KAAM,CAAE,GAAAV,EAAI,QAASW,EAAO,YAAAC,CAAY,EAAIF,EAE5C,IAAIG,EAAe,GACnB,MAAMC,EAA2CJ,EAAQ,eAAe,IACrEK,GAA6E,CAC5E,KAAM,CAAE,KAAAC,EAAM,QAAAC,EAAS,YAAaC,EAAgB,GAAIC,CAAM,EAAIJ,EAElE,IAAIK,EAEJ,OAAQJ,EAAM,CACZ,KAAK,6BAA2B,KAC9BI,EAAO,EAAAC,QAAmB,WAAWN,EAAeP,CAAa,EACjE,MAEF,KAAK,6BAA2B,UAC9BK,EAAe,GACfO,EAAO,IAAI,EAAAE,QAAuBd,EAAeO,CAAa,EAAE,MAAM,EACtE,MAEF,KAAK,6BAA2B,gBAC9BK,EAAO,IAAI,EAAAE,QAAuBd,EAAeO,EAAe,EAAI,EAAE,MAAM,EAC5E,MAEF,KAAK,6BAA2B,IAChC,KAAK,6BAA2B,KAChC,KAAK,6BAA2B,MAAO,CACrCK,EAAO,EAAAG,QAAW,YAAYR,EAAeP,CAAa,EAC1D,KACF,CACA,KAAK,6BAA2B,kBAAmB,CACjDY,EAAO,EAAAG,QAAW,kBAAkBR,EAAeP,EAAeC,CAAK,EACvE,KACF,CACA,KAAK,6BAA2B,eAChC,KAAK,6BAA2B,gBAAiB,CAC/CW,EAAO,EAAAG,QAAW,uBAAuBR,EAAeP,CAAa,EACrE,KACF,CACA,QACE,KACJ,CAEA,MAAO,CACL,GAAIW,EACJ,MAAOF,EACP,YAAaC,EACb,KAAAF,EACA,KAAAI,CACF,CACF,CACF,EAEA,OAAIP,GAAc,EAAAW,QAAgB,yBAAyBV,CAAc,EAElE,CAAE,GAAAd,EAAI,MAAAW,EAAO,YAAAC,EAAa,eAAAE,CAAe,CAClD,CAAC,EAGGW,EAAc,MAClB9B,EACA+B,EACAC,EACAC,EACAnC,EACAoC,IACyC,CACzC,KAAM,CAAE,uBAAAC,CAAuB,EAAInC,EAC7BoC,EAAuBD,EACzB,MAAMA,EAAuB,mBAAmBJ,EAASC,CAAM,EAC/D,OAGJ,OAAIC,GAAYA,EAAS,QAAUG,GACjC,EAAAC,QAAiB,iBAAiB,CAChC,SAAArC,EACA,gBAAiBoC,EACjB,OAAAJ,EACA,IAAAlC,EACA,QAAAoC,CACF,CAAC,EAGIE,CACT,EAEa5D,EAAuB,MAAO,CAAE,IAAAsB,EAAK,IAAAC,EAAK,SAAAC,EAAU,KAAAC,CAAK,IAA8B,CAClG,KAAM,CAAE,MAAAC,EAAO,UAAAoC,EAAW,QAAAC,EAAS,cAAAC,CAAc,EAAI,EAAArC,QAAa,UAAUJ,CAAG,EACzE,CAAE,SAAAK,EAAU,GAAAC,EAAI,QAAA0B,CAAQ,EAAIjC,EAAI,OAChC,CAAE,gBAAA2C,EAAiB,uBAAAN,CAAuB,EAAInC,EAC9C0C,KAAM,EAAAC,SAAS7C,CAAG,EAGlB,CAAE,MAAAgB,EAAO,QAAAoB,EAAS,iBAAA7C,EAAkB,oBAAAD,CAAoB,EAAI,MAAMS,EAAkB,CACxF,IAAAC,EACA,IAAAC,EACA,SAAAC,CACF,CAAC,EAWK4C,GAR2C,MAAM5C,EAAS,iBAAiB,kBAC/EE,EACAG,EACAD,EACA2B,EACAjB,CACF,GAE6D,KAAK,EAG5DmB,EAA+BrB,EAAYxB,EAAqBwD,EAAe9B,CAAK,EAG1F,IAAIsB,EACJ,OAAID,IACFC,EAAuB,MAAMN,EAAY9B,EAAU+B,EAASQ,EAAQ,GAAIN,EAAUnC,EAAKoC,EAAQ,OAAO,GAGjG,CACL,cAAe,CACb,MAAAhC,EACA,GAAAG,EACA,SAAAD,EACA,KAAMhB,EAAoB,KAC1B,YAAaA,EAAoB,YACjC,WAAYC,EAAiB,KAC7B,WAAYoD,EAAkB,MAAMA,EAAgB,aAAapC,EAAID,EAAUmC,EAAQ,EAAE,EAAI,GAC7F,cAAAC,EACA,UAAAF,EACA,SAAAL,EACA,QAAAC,EACA,KAAM,aAAW,UACjB,QAAS/C,EAAoBC,EAAqBC,EAAkB+C,CAAoB,CAC1F,CACF,CACF,EAEA,IAAO7D,EAAQ,CACb,qBAAAC,CACF",
6
+ "names": ["utils_exports", "__export", "utils_default", "renderAsyncDashboard", "__toCommonJS", "import_parseurl", "import_types", "import_UserReports", "import_utils", "import_definitionUtils", "import_Scorecard", "import_ReportQuery", "import_localsHelper", "import_filtersTypeEnum", "setDashboardActions", "dashboardDefinition", "reportDefinition", "requestData", "reportName", "name", "actionsUrl", "executionId", "actions", "ReportActionsUtils", "getDefinitionData", "req", "res", "services", "next", "token", "LocalsHelper", "reportId", "id", "dataProductDefinitionsPath", "DefinitionUtils", "filtersData", "FilterUtils", "filtersQuery", "ReportQuery", "getSections", "dashboardData", "query", "section", "title", "description", "hasScorecard", "visualisations", "visDefinition", "type", "display", "visDescription", "visId", "data", "DashboardListUtils", "ScorecardVisualisation", "ChartUtils", "ScorecardsUtils", "updateStore", "tableId", "userId", "sections", "filters", "requestedReportService", "dashboardRequestData", "UserReportsUtils", "csrfToken", "dprUser", "nestedBaseUrl", "bookmarkService", "url", "parseUrl", "flattenedData"]
7
7
  }