@ministryofjustice/hmpps-digital-prison-reporting-frontend 4.17.4 → 4.17.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dpr/assets/app.js.map +1 -1
- package/dpr/components/_async/async-filters-form/sortByTemplate.js +1 -1
- package/dpr/components/_async/async-filters-form/sortByTemplate.js.map +1 -1
- package/dpr/components/_async/async-filters-form/types.d.js +1 -1
- package/dpr/components/_async/async-filters-form/types.d.js.map +1 -1
- package/dpr/components/_async/async-filters-form/utils.js +1 -1
- package/dpr/components/_async/async-filters-form/utils.js.map +2 -2
- package/dpr/components/_async/async-filters-form/utils.test.ts +9 -9
- package/dpr/components/_async/async-filters-form/utils.ts +1 -1
- package/dpr/components/_async/async-filters-form/view.njk +6 -3
- package/dpr/components/_catalogue/catalogue/types.js +1 -1
- package/dpr/components/_catalogue/catalogue/types.js.map +1 -1
- package/dpr/components/_catalogue/catalogue/utils.js +1 -1
- package/dpr/components/_catalogue/catalogue/utils.js.map +2 -2
- package/dpr/components/_catalogue/catalogue/utils.test.ts +6 -3
- package/dpr/components/_catalogue/catalogue/utils.ts +1 -1
- package/dpr/components/_catalogue/catalogue-list/utils.js +1 -1
- package/dpr/components/_catalogue/catalogue-list/utils.js.map +2 -2
- package/dpr/components/_catalogue/catalogue-list/utils.test.ts +1 -0
- package/dpr/components/_catalogue/catalogue-list/utils.ts +5 -5
- package/dpr/components/_charts/chart/Buckets.js +1 -1
- package/dpr/components/_charts/chart/Buckets.js.map +3 -3
- package/dpr/components/_charts/chart/Buckets.ts +3 -3
- package/dpr/components/_charts/chart/heatmap/HeatmapChart.js +1 -1
- package/dpr/components/_charts/chart/heatmap/HeatmapChart.js.map +3 -3
- package/dpr/components/_charts/chart/heatmap/HeatmapChart.ts +1 -13
- package/dpr/components/_charts/chart/heatmap/types.js +1 -1
- package/dpr/components/_charts/chart/heatmap/types.js.map +2 -2
- package/dpr/components/_charts/chart/heatmap/types.ts +1 -1
- package/dpr/components/_charts/utils.js +1 -1
- package/dpr/components/_charts/utils.js.map +3 -3
- package/dpr/components/_charts/utils.test.ts +1 -0
- package/dpr/components/_charts/utils.ts +84 -43
- package/dpr/components/_dashboards/dashboard-list/utils.js +1 -1
- package/dpr/components/_dashboards/dashboard-list/utils.js.map +2 -2
- package/dpr/components/_dashboards/dashboard-list/utils.test.ts +1 -0
- package/dpr/components/_dashboards/dashboard-list/utils.ts +16 -11
- package/dpr/components/_dashboards/dashboard-visualisation/DashboardVisualisation.js +1 -1
- package/dpr/components/_dashboards/dashboard-visualisation/DashboardVisualisation.js.map +2 -2
- package/dpr/components/_dashboards/dashboard-visualisation/DashboardVisualisation.ts +1 -1
- package/dpr/components/_dashboards/dashboard-visualisation/types.js +1 -1
- package/dpr/components/_dashboards/dashboard-visualisation/types.js.map +2 -2
- package/dpr/components/_dashboards/dashboard-visualisation/types.ts +8 -8
- package/dpr/components/_dashboards/scorecard/Scorecard.js +1 -1
- package/dpr/components/_dashboards/scorecard/Scorecard.js.map +2 -2
- package/dpr/components/_dashboards/scorecard/Scorecard.ts +8 -8
- package/dpr/components/_dashboards/scorecard/types.js +1 -1
- package/dpr/components/_dashboards/scorecard/types.js.map +2 -2
- package/dpr/components/_dashboards/scorecard/types.ts +12 -10
- package/dpr/components/_dashboards/scorecard/utils.js +1 -1
- package/dpr/components/_dashboards/scorecard/utils.js.map +1 -1
- package/dpr/components/_dashboards/scorecard/utils.test.ts +1 -0
- package/dpr/components/_filters/filter-input/enum.js +1 -1
- package/dpr/components/_filters/filter-input/enum.js.map +1 -1
- package/dpr/components/_filters/filter-input/filters.js +1 -1
- package/dpr/components/_filters/filter-input/filters.js.map +1 -1
- package/dpr/components/_filters/filter-input/filters.test.ts +1 -0
- package/dpr/components/_filters/filter-input/types.d.js +1 -1
- package/dpr/components/_filters/filter-input/types.d.js.map +1 -1
- package/dpr/components/_filters/filters-selected/utils.js +1 -1
- package/dpr/components/_filters/filters-selected/utils.js.map +3 -3
- package/dpr/components/_filters/filters-selected/utils.test.ts +7 -4
- package/dpr/components/_filters/filters-selected/utils.ts +1 -1
- package/dpr/components/_filters/filtersTypeEnum.js +1 -1
- package/dpr/components/_filters/filtersTypeEnum.js.map +1 -1
- package/dpr/components/_filters/types.d.js +1 -1
- package/dpr/components/_filters/types.d.js.map +2 -2
- package/dpr/components/_filters/types.d.ts +5 -5
- package/dpr/components/_filters/utils.js +1 -1
- package/dpr/components/_filters/utils.js.map +2 -2
- package/dpr/components/_filters/utils.test.ts +54 -49
- package/dpr/components/_filters/utils.ts +16 -20
- package/dpr/components/_inputs/date-input/utils.js +1 -1
- package/dpr/components/_inputs/date-input/utils.js.map +1 -1
- package/dpr/components/_inputs/date-input/utils.test.ts +1 -0
- package/dpr/components/_inputs/date-range/clientClass.mjs +2 -2
- package/dpr/components/_inputs/date-range/types.js +1 -1
- package/dpr/components/_inputs/date-range/types.js.map +2 -2
- package/dpr/components/_inputs/date-range/types.ts +2 -2
- package/dpr/components/_inputs/date-range/utils.js +1 -1
- package/dpr/components/_inputs/date-range/utils.js.map +2 -2
- package/dpr/components/_inputs/date-range/utils.test.ts +5 -7
- package/dpr/components/_inputs/date-range/utils.ts +4 -4
- package/dpr/components/_inputs/date-range/view.njk +1 -0
- package/dpr/components/_inputs/granular-date-range/types.js +1 -1
- package/dpr/components/_inputs/granular-date-range/types.js.map +1 -1
- package/dpr/components/_inputs/granular-date-range/utils.js +1 -1
- package/dpr/components/_inputs/granular-date-range/utils.js.map +1 -1
- package/dpr/components/_inputs/granular-date-range/utils.test.ts +1 -0
- package/dpr/components/_inputs/multi-select/utils.js +1 -1
- package/dpr/components/_inputs/multi-select/utils.js.map +3 -3
- package/dpr/components/_inputs/multi-select/utils.ts +1 -1
- package/dpr/components/_inputs/multi-select/utilt.test.ts +29 -14
- package/dpr/components/_inputs/start-end-date/utils.js +1 -1
- package/dpr/components/_inputs/start-end-date/utils.js.map +1 -1
- package/dpr/components/_inputs/start-end-date/utils.test.ts +1 -0
- package/dpr/components/_reports/report-actions/actionsTemplate.js +1 -1
- package/dpr/components/_reports/report-actions/actionsTemplate.js.map +1 -1
- package/dpr/components/_reports/report-actions/types.d.js +1 -1
- package/dpr/components/_reports/report-actions/types.d.js.map +2 -2
- package/dpr/components/_reports/report-actions/types.d.ts +1 -1
- package/dpr/components/_reports/report-actions/utils.js +1 -1
- package/dpr/components/_reports/report-actions/utils.js.map +1 -1
- package/dpr/components/_reports/report-actions/utils.test.ts +8 -4
- package/dpr/components/_reports/report-columns-form/types.d.js +1 -1
- package/dpr/components/_reports/report-columns-form/types.d.js.map +1 -1
- package/dpr/components/_reports/report-columns-form/utils.js +1 -1
- package/dpr/components/_reports/report-columns-form/utils.js.map +2 -2
- package/dpr/components/_reports/report-columns-form/utils.ts +1 -1
- package/dpr/components/_reports/report-data-table/types.d.js +1 -1
- package/dpr/components/_reports/report-data-table/types.d.js.map +1 -1
- package/dpr/components/_reports/report-data-table/utils.js +1 -1
- package/dpr/components/_reports/report-data-table/utils.js.map +3 -3
- package/dpr/components/_reports/report-data-table/utils.test.ts +15 -8
- package/dpr/components/_reports/report-data-table/utils.ts +20 -8
- package/dpr/components/_reports/report-pagination/types.d.js +1 -1
- package/dpr/components/_reports/report-pagination/types.d.js.map +2 -2
- package/dpr/components/_reports/report-pagination/types.d.ts +2 -2
- package/dpr/components/_reports/report-pagination/utils.js +1 -1
- package/dpr/components/_reports/report-pagination/utils.js.map +1 -1
- package/dpr/components/_reports/report-pagination/utils.test.ts +1 -0
- package/dpr/components/_reports/report-totals/utils.js +1 -1
- package/dpr/components/_reports/report-totals/utils.js.map +1 -1
- package/dpr/components/card-group/utils.js +1 -1
- package/dpr/components/card-group/utils.js.map +1 -1
- package/dpr/components/card-group/utils.test.ts +7 -0
- package/dpr/components/report-list/defaultTokenProvider.js +1 -1
- package/dpr/components/report-list/defaultTokenProvider.js.map +3 -3
- package/dpr/components/report-list/defaultTokenProvider.ts +3 -3
- package/dpr/components/report-list/types.d.js +1 -1
- package/dpr/components/report-list/types.d.js.map +1 -1
- package/dpr/components/report-list/utils.js +1 -1
- package/dpr/components/report-list/utils.js.map +2 -2
- package/dpr/components/report-list/utils.test.ts +6 -4
- package/dpr/components/report-list/utils.ts +5 -5
- package/dpr/components/show-more/utils.js +1 -1
- package/dpr/components/show-more/utils.js.map +1 -1
- package/dpr/components/user-reports/bookmarks/utils.js +1 -1
- package/dpr/components/user-reports/bookmarks/utils.js.map +3 -3
- package/dpr/components/user-reports/bookmarks/utils.test.ts +14 -11
- package/dpr/components/user-reports/bookmarks/utils.ts +26 -31
- package/dpr/components/user-reports/requested/utils.js +1 -1
- package/dpr/components/user-reports/requested/utils.js.map +3 -3
- package/dpr/components/user-reports/requested/utils.test.ts +4 -3
- package/dpr/components/user-reports/requested/utils.ts +4 -3
- package/dpr/components/user-reports/types.d.js +1 -1
- package/dpr/components/user-reports/types.d.js.map +2 -2
- package/dpr/components/user-reports/types.d.ts +1 -1
- package/dpr/components/user-reports/utils.js +1 -1
- package/dpr/components/user-reports/utils.js.map +3 -3
- package/dpr/components/user-reports/utils.test.ts +48 -47
- package/dpr/components/user-reports/utils.ts +51 -57
- package/dpr/components/user-reports/viewed/utils.js +1 -1
- package/dpr/components/user-reports/viewed/utils.js.map +2 -2
- package/dpr/components/user-reports/viewed/utils.ts +5 -4
- package/dpr/data/agentConfig.js +1 -1
- package/dpr/data/agentConfig.js.map +1 -1
- package/dpr/data/dashboardClient.js +1 -1
- package/dpr/data/dashboardClient.js.map +2 -2
- package/dpr/data/dashboardClient.ts +2 -2
- package/dpr/data/dprReportingClient.js +1 -1
- package/dpr/data/dprReportingClient.js.map +3 -3
- package/dpr/data/dprReportingClient.ts +3 -3
- package/dpr/data/missingReportClient.js +2 -0
- package/dpr/data/missingReportClient.js.map +7 -0
- package/dpr/{services/missingReport → data}/missingReportClient.ts +4 -4
- package/dpr/data/productCollectionClient.js +2 -0
- package/dpr/data/productCollectionClient.js.map +7 -0
- package/dpr/data/productCollectionClient.ts +28 -0
- package/dpr/data/reportDataStore.js +1 -1
- package/dpr/data/reportDataStore.js.map +1 -1
- package/dpr/data/reportingClient.js +1 -1
- package/dpr/data/reportingClient.js.map +3 -3
- package/dpr/data/reportingClient.ts +7 -9
- package/dpr/data/restClient.js +1 -1
- package/dpr/data/restClient.js.map +2 -2
- package/dpr/data/restClient.ts +5 -5
- package/dpr/data/types.d.js +1 -1
- package/dpr/data/types.d.js.map +2 -2
- package/dpr/data/types.d.ts +1 -1
- package/dpr/middleware/reportAuthoriser.js +1 -1
- package/dpr/middleware/reportAuthoriser.js.map +2 -2
- package/dpr/middleware/reportAuthoriser.ts +2 -2
- package/dpr/middleware/setUpDprResources.js +1 -1
- package/dpr/middleware/setUpDprResources.js.map +2 -2
- package/dpr/middleware/setUpDprResources.test.ts +59 -20
- package/dpr/middleware/setUpDprResources.ts +30 -29
- package/dpr/middleware/setUpNestedRoute.js +1 -1
- package/dpr/middleware/setUpNestedRoute.js.map +2 -2
- package/dpr/middleware/setUpNestedRoute.ts +1 -1
- package/dpr/routes/index.js +1 -1
- package/dpr/routes/index.js.map +2 -2
- package/dpr/routes/index.ts +1 -2
- package/dpr/routes/journeys/download-report/controller.js +1 -1
- package/dpr/routes/journeys/download-report/controller.js.map +3 -3
- package/dpr/routes/journeys/download-report/controller.ts +7 -6
- package/dpr/routes/journeys/download-report/request-download/form/controller.js +1 -1
- package/dpr/routes/journeys/download-report/request-download/form/controller.js.map +3 -3
- package/dpr/routes/journeys/download-report/request-download/form/controller.ts +1 -1
- package/dpr/routes/journeys/download-report/request-download/form/routes.js +1 -1
- package/dpr/routes/journeys/download-report/request-download/form/routes.js.map +1 -1
- package/dpr/routes/journeys/download-report/request-download/form/submitted/controller.js +1 -1
- package/dpr/routes/journeys/download-report/request-download/form/submitted/controller.js.map +3 -3
- package/dpr/routes/journeys/download-report/request-download/form/submitted/controller.ts +1 -1
- package/dpr/routes/journeys/download-report/request-download/form/submitted/routes.js +1 -1
- package/dpr/routes/journeys/download-report/request-download/form/submitted/routes.js.map +1 -1
- package/dpr/routes/journeys/download-report/request-download/form/submitted/tests.cy.js +1 -1
- package/dpr/routes/journeys/download-report/request-download/form/submitted/tests.cy.js.map +1 -1
- package/dpr/routes/journeys/download-report/request-download/form/tests.cy.js +1 -1
- package/dpr/routes/journeys/download-report/request-download/form/tests.cy.js.map +1 -1
- package/dpr/routes/journeys/download-report/request-download/routes.js +1 -1
- package/dpr/routes/journeys/download-report/request-download/routes.js.map +1 -1
- package/dpr/routes/journeys/download-report/request-download/service.js +1 -1
- package/dpr/routes/journeys/download-report/request-download/service.js.map +3 -3
- package/dpr/routes/journeys/download-report/request-download/service.ts +20 -8
- package/dpr/routes/journeys/download-report/routes.js +1 -1
- package/dpr/routes/journeys/download-report/routes.js.map +3 -3
- package/dpr/routes/journeys/download-report/routes.ts +1 -4
- package/dpr/routes/journeys/download-report/tests.cy.js +1 -1
- package/dpr/routes/journeys/download-report/tests.cy.js.map +2 -2
- package/dpr/routes/journeys/download-report/tests.cy.ts +4 -1
- package/dpr/routes/journeys/download-report/utils.js +1 -1
- package/dpr/routes/journeys/download-report/utils.js.map +2 -2
- package/dpr/routes/journeys/download-report/utils.ts +2 -4
- package/dpr/routes/journeys/my-reports/bookmarks/controller.js +1 -1
- package/dpr/routes/journeys/my-reports/bookmarks/controller.js.map +1 -1
- package/dpr/routes/journeys/my-reports/bookmarks/list/controller.js +1 -1
- package/dpr/routes/journeys/my-reports/bookmarks/list/controller.js.map +3 -3
- package/dpr/routes/journeys/my-reports/bookmarks/list/controller.ts +2 -2
- package/dpr/routes/journeys/my-reports/bookmarks/list/routes.js +1 -1
- package/dpr/routes/journeys/my-reports/bookmarks/list/routes.js.map +1 -1
- package/dpr/routes/journeys/my-reports/bookmarks/list/tests.cy.js +1 -1
- package/dpr/routes/journeys/my-reports/bookmarks/list/tests.cy.js.map +2 -2
- package/dpr/routes/journeys/my-reports/bookmarks/list/tests.cy.ts +1 -2
- package/dpr/routes/journeys/my-reports/bookmarks/routes.js +1 -1
- package/dpr/routes/journeys/my-reports/bookmarks/routes.js.map +1 -1
- package/dpr/routes/journeys/my-reports/bookmarks/service.js +3 -3
- package/dpr/routes/journeys/my-reports/bookmarks/service.js.map +3 -3
- package/dpr/routes/journeys/my-reports/bookmarks/service.ts +31 -18
- package/dpr/routes/journeys/my-reports/bookmarks/tests.cy.js +1 -1
- package/dpr/routes/journeys/my-reports/bookmarks/tests.cy.js.map +2 -2
- package/dpr/routes/journeys/my-reports/bookmarks/tests.cy.ts +26 -26
- package/dpr/routes/journeys/my-reports/bookmarks/utils.js +1 -1
- package/dpr/routes/journeys/my-reports/bookmarks/utils.js.map +3 -3
- package/dpr/routes/journeys/my-reports/bookmarks/utils.ts +10 -11
- package/dpr/routes/journeys/my-reports/recently-viewed/controller.js +1 -1
- package/dpr/routes/journeys/my-reports/recently-viewed/controller.js.map +1 -1
- package/dpr/routes/journeys/my-reports/recently-viewed/list/controller.js +1 -1
- package/dpr/routes/journeys/my-reports/recently-viewed/list/controller.js.map +3 -3
- package/dpr/routes/journeys/my-reports/recently-viewed/list/controller.ts +1 -1
- package/dpr/routes/journeys/my-reports/recently-viewed/list/routes.js +1 -1
- package/dpr/routes/journeys/my-reports/recently-viewed/list/routes.js.map +1 -1
- package/dpr/routes/journeys/my-reports/recently-viewed/list/tests.cy.js +1 -1
- package/dpr/routes/journeys/my-reports/recently-viewed/list/tests.cy.js.map +2 -2
- package/dpr/routes/journeys/my-reports/recently-viewed/list/tests.cy.ts +7 -4
- package/dpr/routes/journeys/my-reports/recently-viewed/routes.js +1 -1
- package/dpr/routes/journeys/my-reports/recently-viewed/routes.js.map +1 -1
- package/dpr/routes/journeys/my-reports/recently-viewed/service.js +1 -1
- package/dpr/routes/journeys/my-reports/recently-viewed/service.js.map +3 -3
- package/dpr/routes/journeys/my-reports/recently-viewed/service.ts +0 -2
- package/dpr/routes/journeys/my-reports/requested-reports/controller.js +1 -1
- package/dpr/routes/journeys/my-reports/requested-reports/controller.js.map +1 -1
- package/dpr/routes/journeys/my-reports/requested-reports/list/controller.js +1 -1
- package/dpr/routes/journeys/my-reports/requested-reports/list/controller.js.map +3 -3
- package/dpr/routes/journeys/my-reports/requested-reports/list/controller.ts +1 -1
- package/dpr/routes/journeys/my-reports/requested-reports/list/routes.js +1 -1
- package/dpr/routes/journeys/my-reports/requested-reports/list/routes.js.map +1 -1
- package/dpr/routes/journeys/my-reports/requested-reports/list/tests.cy.js +1 -1
- package/dpr/routes/journeys/my-reports/requested-reports/list/tests.cy.js.map +1 -1
- package/dpr/routes/journeys/my-reports/requested-reports/routes.js +1 -1
- package/dpr/routes/journeys/my-reports/requested-reports/routes.js.map +1 -1
- package/dpr/routes/journeys/my-reports/requested-reports/service.js +1 -1
- package/dpr/routes/journeys/my-reports/requested-reports/service.js.map +3 -3
- package/dpr/routes/journeys/my-reports/requested-reports/service.ts +25 -17
- package/dpr/routes/journeys/my-reports/routes.js +1 -1
- package/dpr/routes/journeys/my-reports/routes.js.map +3 -3
- package/dpr/routes/journeys/my-reports/routes.ts +0 -3
- package/dpr/routes/journeys/product-collection/routes.js +1 -1
- package/dpr/routes/journeys/product-collection/routes.js.map +1 -1
- package/dpr/routes/journeys/product-collection/selected/controller.js +1 -1
- package/dpr/routes/journeys/product-collection/selected/controller.js.map +1 -1
- package/dpr/routes/journeys/product-collection/selected/routes.js +1 -1
- package/dpr/routes/journeys/product-collection/selected/routes.js.map +1 -1
- package/dpr/routes/journeys/product-collection/selected/tests.cy.js +1 -1
- package/dpr/routes/journeys/product-collection/selected/tests.cy.js.map +2 -2
- package/dpr/routes/journeys/product-collection/selected/tests.cy.ts +6 -4
- package/dpr/routes/journeys/product-collection/selected/validation.js +1 -1
- package/dpr/routes/journeys/product-collection/selected/validation.js.map +1 -1
- package/dpr/routes/journeys/request-missing-report/form/controller.js +1 -1
- package/dpr/routes/journeys/request-missing-report/form/controller.js.map +3 -3
- package/dpr/routes/journeys/request-missing-report/form/controller.ts +21 -19
- package/dpr/routes/journeys/request-missing-report/form/routes.js +1 -1
- package/dpr/routes/journeys/request-missing-report/form/routes.js.map +1 -1
- package/dpr/routes/journeys/request-missing-report/form/tests.cy.js +1 -1
- package/dpr/routes/journeys/request-missing-report/form/tests.cy.js.map +1 -1
- package/dpr/routes/journeys/request-missing-report/form/validation.js +1 -1
- package/dpr/routes/journeys/request-missing-report/form/validation.js.map +1 -1
- package/dpr/routes/journeys/request-missing-report/routes.js +1 -1
- package/dpr/routes/journeys/request-missing-report/routes.js.map +1 -1
- package/dpr/routes/journeys/request-missing-report/submitted/controller.js +1 -1
- package/dpr/routes/journeys/request-missing-report/submitted/controller.js.map +1 -1
- package/dpr/routes/journeys/request-missing-report/submitted/routes.js +1 -1
- package/dpr/routes/journeys/request-missing-report/submitted/routes.js.map +1 -1
- package/dpr/routes/journeys/request-missing-report/submitted/tests.cy.js +1 -1
- package/dpr/routes/journeys/request-missing-report/submitted/tests.cy.js.map +1 -1
- package/dpr/routes/journeys/request-missing-report/tests.cy.js +1 -1
- package/dpr/routes/journeys/request-missing-report/tests.cy.js.map +2 -2
- package/dpr/routes/journeys/request-missing-report/tests.cy.ts +1 -1
- package/dpr/routes/journeys/request-report/controller.js +1 -1
- package/dpr/routes/journeys/request-report/controller.js.map +3 -3
- package/dpr/routes/journeys/request-report/controller.ts +1 -1
- package/dpr/routes/journeys/request-report/filters/controller.js +1 -1
- package/dpr/routes/journeys/request-report/filters/controller.js.map +3 -3
- package/dpr/routes/journeys/request-report/filters/controller.ts +7 -8
- package/dpr/routes/journeys/request-report/filters/routes.js +1 -1
- package/dpr/routes/journeys/request-report/filters/routes.js.map +1 -1
- package/dpr/routes/journeys/request-report/filters/tests.cy.js +1 -1
- package/dpr/routes/journeys/request-report/filters/tests.cy.js.map +1 -1
- package/dpr/routes/journeys/request-report/filters/utils.js +1 -1
- package/dpr/routes/journeys/request-report/filters/utils.js.map +3 -3
- package/dpr/routes/journeys/request-report/filters/utils.ts +38 -23
- package/dpr/routes/journeys/request-report/filters/view.njk +2 -1
- package/dpr/routes/journeys/request-report/routes.js +1 -1
- package/dpr/routes/journeys/request-report/routes.js.map +2 -2
- package/dpr/routes/journeys/request-report/routes.ts +2 -2
- package/dpr/routes/journeys/request-report/status/controller.js +1 -1
- package/dpr/routes/journeys/request-report/status/controller.js.map +3 -3
- package/dpr/routes/journeys/request-report/status/controller.ts +4 -4
- package/dpr/routes/journeys/request-report/status/routes.js +1 -1
- package/dpr/routes/journeys/request-report/status/routes.js.map +1 -1
- package/dpr/routes/journeys/request-report/status/tests.cy.js +1 -1
- package/dpr/routes/journeys/request-report/status/tests.cy.js.map +2 -2
- package/dpr/routes/journeys/request-report/status/tests.cy.ts +9 -4
- package/dpr/routes/journeys/request-report/status/utils.js +1 -1
- package/dpr/routes/journeys/request-report/status/utils.js.map +3 -3
- package/dpr/routes/journeys/request-report/status/utils.ts +10 -13
- package/dpr/routes/journeys/request-report/tests.cy.js +1 -1
- package/dpr/routes/journeys/request-report/tests.cy.js.map +2 -2
- package/dpr/routes/journeys/request-report/tests.cy.ts +14 -11
- package/dpr/routes/journeys/routes.js +1 -1
- package/dpr/routes/journeys/routes.js.map +1 -1
- package/dpr/routes/journeys/view-report/async/controller.js +1 -1
- package/dpr/routes/journeys/view-report/async/controller.js.map +3 -3
- package/dpr/routes/journeys/view-report/async/controller.ts +4 -4
- package/dpr/routes/journeys/view-report/async/dashboard/controller.js +1 -1
- package/dpr/routes/journeys/view-report/async/dashboard/controller.js.map +3 -3
- package/dpr/routes/journeys/view-report/async/dashboard/controller.ts +4 -4
- package/dpr/routes/journeys/view-report/async/dashboard/routes.js +1 -1
- package/dpr/routes/journeys/view-report/async/dashboard/routes.js.map +1 -1
- package/dpr/routes/journeys/view-report/async/dashboard/tests.cy.js +1 -1
- package/dpr/routes/journeys/view-report/async/dashboard/tests.cy.js.map +2 -2
- package/dpr/routes/journeys/view-report/async/dashboard/tests.cy.ts +2 -2
- package/dpr/routes/journeys/view-report/async/dashboard/utils.js +1 -1
- package/dpr/routes/journeys/view-report/async/dashboard/utils.js.map +3 -3
- package/dpr/routes/journeys/view-report/async/dashboard/utils.ts +6 -8
- package/dpr/routes/journeys/view-report/async/report/controller.js +1 -1
- package/dpr/routes/journeys/view-report/async/report/controller.js.map +3 -3
- package/dpr/routes/journeys/view-report/async/report/controller.ts +5 -5
- package/dpr/routes/journeys/view-report/async/report/routes.js +1 -1
- package/dpr/routes/journeys/view-report/async/report/routes.js.map +1 -1
- package/dpr/routes/journeys/view-report/async/report/tests.cy.js +1 -1
- package/dpr/routes/journeys/view-report/async/report/tests.cy.js.map +2 -2
- package/dpr/routes/journeys/view-report/async/report/tests.cy.ts +9 -7
- package/dpr/routes/journeys/view-report/async/report/types.js +1 -1
- package/dpr/routes/journeys/view-report/async/report/types.js.map +2 -2
- package/dpr/routes/journeys/view-report/async/report/types.ts +8 -8
- package/dpr/routes/journeys/view-report/async/report/utils.js +1 -1
- package/dpr/routes/journeys/view-report/async/report/utils.js.map +2 -2
- package/dpr/routes/journeys/view-report/async/report/utils.ts +16 -18
- package/dpr/routes/journeys/view-report/async/routes.js +1 -1
- package/dpr/routes/journeys/view-report/async/routes.js.map +1 -1
- package/dpr/routes/journeys/view-report/controller.js +1 -1
- package/dpr/routes/journeys/view-report/controller.js.map +3 -3
- package/dpr/routes/journeys/view-report/controller.ts +1 -1
- package/dpr/routes/journeys/view-report/routes.js +1 -1
- package/dpr/routes/journeys/view-report/routes.js.map +2 -2
- package/dpr/routes/journeys/view-report/routes.ts +6 -3
- package/dpr/routes/journeys/view-report/sync/load-report/controller.js +1 -1
- package/dpr/routes/journeys/view-report/sync/load-report/controller.js.map +2 -2
- package/dpr/routes/journeys/view-report/sync/load-report/controller.ts +1 -1
- package/dpr/routes/journeys/view-report/sync/load-report/routes.js +1 -1
- package/dpr/routes/journeys/view-report/sync/load-report/routes.js.map +1 -1
- package/dpr/routes/journeys/view-report/sync/report/controller.js +1 -1
- package/dpr/routes/journeys/view-report/sync/report/controller.js.map +3 -3
- package/dpr/routes/journeys/view-report/sync/report/controller.ts +6 -6
- package/dpr/routes/journeys/view-report/sync/report/routes.js +1 -1
- package/dpr/routes/journeys/view-report/sync/report/routes.js.map +1 -1
- package/dpr/routes/journeys/view-report/sync/report/utils.js +1 -1
- package/dpr/routes/journeys/view-report/sync/report/utils.js.map +3 -3
- package/dpr/routes/journeys/view-report/sync/report/utils.ts +29 -19
- package/dpr/routes/journeys/view-report/sync/routes.js +1 -1
- package/dpr/routes/journeys/view-report/sync/routes.js.map +1 -1
- package/dpr/routes/journeys/view-report/sync/tests.cy.js +1 -1
- package/dpr/routes/journeys/view-report/sync/tests.cy.js.map +2 -2
- package/dpr/routes/journeys/view-report/sync/tests.cy.ts +1 -1
- package/dpr/routes/journeys/view-report/utils.js +1 -1
- package/dpr/routes/journeys/view-report/utils.js.map +3 -3
- package/dpr/routes/journeys/view-report/utils.ts +22 -12
- package/dpr/services/dashboardService.js +1 -1
- package/dpr/services/dashboardService.js.map +3 -3
- package/dpr/services/dashboardService.ts +1 -3
- package/dpr/services/defaultFilterValuesService.js +1 -1
- package/dpr/services/defaultFilterValuesService.js.map +3 -3
- package/dpr/services/defaultFilterValuesService.ts +34 -15
- package/dpr/services/index.js +1 -1
- package/dpr/services/index.js.map +1 -1
- package/dpr/services/missingReport/missingReportService.js +2 -0
- package/dpr/services/missingReport/missingReportService.js.map +7 -0
- package/dpr/services/missingReport/missingReportService.ts +26 -0
- package/dpr/services/productCollection/productCollectionService.js +1 -1
- package/dpr/services/productCollection/productCollectionService.js.map +3 -3
- package/dpr/services/productCollection/productCollectionService.ts +19 -14
- package/dpr/services/productCollection/productCollectionStoreService.js +1 -1
- package/dpr/services/productCollection/productCollectionStoreService.js.map +3 -3
- package/dpr/services/productCollection/productCollectionStoreService.ts +9 -3
- package/dpr/services/reportStoreService.js +1 -1
- package/dpr/services/reportStoreService.js.map +2 -2
- package/dpr/services/reportStoreService.ts +1 -1
- package/dpr/services/reportingService.js +1 -1
- package/dpr/services/reportingService.js.map +3 -3
- package/dpr/services/reportingService.ts +1 -3
- package/dpr/setUpNunjucksFilters.js +1 -1
- package/dpr/setUpNunjucksFilters.js.map +1 -1
- package/dpr/types/AsyncReportUtils.js +1 -1
- package/dpr/types/AsyncReportUtils.js.map +2 -2
- package/dpr/types/AsyncReportUtils.ts +2 -1
- package/dpr/types/Bookmark.js +1 -1
- package/dpr/types/Bookmark.js.map +2 -2
- package/dpr/types/Bookmark.ts +9 -3
- package/dpr/types/Charts.js +1 -1
- package/dpr/types/Charts.js.map +1 -1
- package/dpr/types/Download.js +1 -1
- package/dpr/types/Download.js.map +1 -1
- package/dpr/types/DprConfig.js +1 -1
- package/dpr/types/DprConfig.js.map +2 -2
- package/dpr/types/DprConfig.ts +8 -0
- package/dpr/types/DprUser.js +1 -1
- package/dpr/types/DprUser.js.map +2 -2
- package/dpr/types/DprUser.ts +2 -2
- package/dpr/types/EmbeddedReportUtils.js +1 -1
- package/dpr/types/EmbeddedReportUtils.js.map +1 -1
- package/dpr/types/ExecutionData.d.js +1 -1
- package/dpr/types/ExecutionData.d.js.map +2 -2
- package/dpr/types/ExecutionData.d.ts +2 -2
- package/dpr/types/Metrics.js +1 -1
- package/dpr/types/Metrics.js.map +2 -2
- package/dpr/types/Metrics.ts +1 -1
- package/dpr/types/ReportQuery.js +1 -1
- package/dpr/types/ReportQuery.js.map +2 -2
- package/dpr/types/ReportQuery.ts +15 -11
- package/dpr/types/ReportStore.js +1 -1
- package/dpr/types/ReportStore.js.map +1 -1
- package/dpr/types/Services.d.js +1 -1
- package/dpr/types/Services.d.js.map +2 -2
- package/dpr/types/Services.d.ts +8 -8
- package/dpr/types/Templates.d.js +1 -1
- package/dpr/types/Templates.d.js.map +1 -1
- package/dpr/types/UserReports.js +1 -1
- package/dpr/types/UserReports.js.map +2 -2
- package/dpr/types/UserReports.ts +29 -15
- package/dpr/types/api.d.js +1 -1
- package/dpr/types/api.d.js.map +1 -1
- package/dpr/types/index.d.js +1 -1
- package/dpr/types/index.d.js.map +2 -2
- package/dpr/types/index.d.ts +1 -1
- package/dpr/utils/CollatedSummaryBuilder/CollatedSummaryBuilder.js +1 -1
- package/dpr/utils/CollatedSummaryBuilder/CollatedSummaryBuilder.js.map +1 -1
- package/dpr/utils/CollatedSummaryBuilder/CollatedSummaryBuilder.test.ts +2 -0
- package/dpr/utils/CreateDprServices.js +2 -0
- package/dpr/utils/CreateDprServices.js.map +7 -0
- package/dpr/utils/CreateDprServices.ts +73 -0
- package/dpr/utils/DataTableBuilder/DataTableBuilder.js +1 -1
- package/dpr/utils/DataTableBuilder/DataTableBuilder.js.map +1 -1
- package/dpr/utils/DataTableBuilder/DataTableBuilder.test.ts +10 -0
- package/dpr/utils/DataTableBuilder/types.d.js +1 -1
- package/dpr/utils/DataTableBuilder/types.d.js.map +2 -2
- package/dpr/utils/DataTableBuilder/types.d.ts +3 -3
- package/dpr/utils/DateMapper/DateMapper.js +1 -1
- package/dpr/utils/DateMapper/DateMapper.js.map +2 -2
- package/dpr/utils/DateMapper/DateMapper.test.ts +22 -9
- package/dpr/utils/DateMapper/DateMapper.ts +9 -11
- package/dpr/utils/DateMapper/types.d.js +1 -1
- package/dpr/utils/DateMapper/types.d.js.map +1 -1
- package/dpr/utils/ErrorHandler.js +2 -0
- package/dpr/utils/ErrorHandler.js.map +7 -0
- package/dpr/utils/ErrorHandler.ts +85 -0
- package/dpr/utils/ParentChildDataTableBuilder/ParentChildDataTableBuilder.js +1 -1
- package/dpr/utils/ParentChildDataTableBuilder/ParentChildDataTableBuilder.js.map +2 -2
- package/dpr/utils/ParentChildDataTableBuilder/ParentChildDataTableBuilder.test.ts +13 -2
- package/dpr/utils/ParentChildDataTableBuilder/ParentChildDataTableBuilder.ts +3 -3
- package/dpr/utils/ParentChildDataTableBuilder/types.d.js +1 -1
- package/dpr/utils/ParentChildDataTableBuilder/types.d.js.map +1 -1
- package/dpr/utils/Personalisation/personalisationUtils.js +1 -1
- package/dpr/utils/Personalisation/personalisationUtils.js.map +3 -3
- package/dpr/utils/Personalisation/personalisationUtils.ts +6 -2
- package/dpr/utils/Personalisation/types.d.js +1 -1
- package/dpr/utils/Personalisation/types.d.js.map +1 -1
- package/dpr/utils/SectionedDataTableBuilder/SectionedDataTableBuilder.js +1 -1
- package/dpr/utils/SectionedDataTableBuilder/SectionedDataTableBuilder.js.map +2 -2
- package/dpr/utils/SectionedDataTableBuilder/SectionedDataTableBuilder.test.ts +5 -0
- package/dpr/utils/SectionedDataTableBuilder/SectionedDataTableBuilder.ts +1 -1
- package/dpr/utils/SectionedDataTableBuilder/types.d.js +1 -1
- package/dpr/utils/SectionedDataTableBuilder/types.d.js.map +1 -1
- package/dpr/utils/SectionedFieldsTableBuilder/SectionedFieldsTableBuilder.js +1 -1
- package/dpr/utils/SectionedFieldsTableBuilder/SectionedFieldsTableBuilder.js.map +2 -2
- package/dpr/utils/SectionedFieldsTableBuilder/SectionedFieldsTableBuilder.test.ts +7 -4
- package/dpr/utils/SectionedFieldsTableBuilder/SectionedFieldsTableBuilder.ts +3 -3
- package/dpr/utils/SummaryDataTableBuilder/SummaryDataTableBuilder.js +1 -1
- package/dpr/utils/SummaryDataTableBuilder/SummaryDataTableBuilder.js.map +1 -1
- package/dpr/utils/SummaryDataTableBuilder/SummaryDataTableBuilder.test.ts +1 -0
- package/dpr/utils/UserStoreItemBuilder.js +1 -1
- package/dpr/utils/UserStoreItemBuilder.js.map +2 -2
- package/dpr/utils/UserStoreItemBuilder.ts +19 -32
- package/dpr/utils/arrayUtils.js +1 -1
- package/dpr/utils/arrayUtils.js.map +1 -1
- package/dpr/utils/datasetHelper.js +1 -1
- package/dpr/utils/datasetHelper.js.map +2 -2
- package/dpr/utils/datasetHelper.test.ts +21 -33
- package/dpr/utils/datasetHelper.ts +12 -17
- package/dpr/utils/definitionUtils.js +1 -1
- package/dpr/utils/definitionUtils.js.map +3 -3
- package/dpr/utils/definitionUtils.ts +14 -3
- package/dpr/utils/index.js +1 -1
- package/dpr/utils/index.js.map +1 -1
- package/dpr/utils/indexedAccesHelper.js +2 -0
- package/dpr/utils/indexedAccesHelper.js.map +7 -0
- package/dpr/utils/indexedAccesHelper.ts +24 -0
- package/dpr/utils/localsHelper.js +1 -1
- package/dpr/utils/localsHelper.js.map +2 -2
- package/dpr/utils/localsHelper.ts +8 -8
- package/dpr/utils/logger.js +1 -1
- package/dpr/utils/logger.js.map +2 -2
- package/dpr/utils/logger.ts +1 -1
- package/dpr/utils/reportListsHelper.js +1 -1
- package/dpr/utils/reportListsHelper.js.map +1 -1
- package/dpr/utils/reportStoreHelper.js +1 -1
- package/dpr/utils/reportStoreHelper.js.map +1 -1
- package/dpr/utils/reportStoreHelper.test.ts +3 -2
- package/dpr/utils/requestStatusHelper.js +1 -1
- package/dpr/utils/requestStatusHelper.js.map +3 -3
- package/dpr/utils/requestStatusHelper.ts +29 -42
- package/dpr/utils/sanitisedError.js +1 -1
- package/dpr/utils/sanitisedError.js.map +2 -2
- package/dpr/utils/sanitisedError.ts +1 -1
- package/dpr/utils/urlHelper.js +1 -1
- package/dpr/utils/urlHelper.js.map +2 -2
- package/dpr/utils/urlHelper.ts +4 -4
- package/dpr/validation/validate.js +1 -1
- package/dpr/validation/validate.js.map +2 -2
- package/dpr/validation/validate.ts +2 -2
- package/package.json +4 -2
- package/dpr/components/error-summary/utils.js +0 -2
- package/dpr/components/error-summary/utils.js.map +0 -7
- package/dpr/components/error-summary/utils.test.ts +0 -54
- package/dpr/components/error-summary/utils.ts +0 -65
- package/dpr/services/missingReport/missingReportClient.js +0 -2
- package/dpr/services/missingReport/missingReportClient.js.map +0 -7
- package/dpr/utils/ReportStoreServiceUtils.js +0 -2
- package/dpr/utils/ReportStoreServiceUtils.js.map +0 -7
- package/dpr/utils/ReportStoreServiceUtils.ts +0 -140
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../../src/dpr/routes/journeys/view-report/async/report/tests.cy.ts"],
|
|
4
|
-
"sourcesContent": ["import {\n checkSelectedFilterValues,\n requestReport,\n executeReportStubs,\n} from '../../../../../../../cypress-tests/cypressUtils'\nimport DateMapper from '../../../../../utils/DateMapper/DateMapper'\n\ncontext('Viewing a report', () => {\n const path = '/embedded/platform/'\n let viewReportUrl: string\n let tableId: string\n\n describe('List report page', () => {\n before(() => {\n executeReportStubs()\n cy.task('stubDefinitionRequestExamplesSuccess')\n cy.task('stubRequestSuccessResult10')\n cy.task('stubRequestSuccessResult20')\n cy.task('stubRequestSuccessResult100')\n\n // Request and run a report so we can go back to it for each test\n requestReport({ name: 'Successful Report', description: 'this will succeed', path })\n cy.url().then((url) => {\n viewReportUrl = url\n const urlArr = url.split('/')\n tableId = urlArr[urlArr.length - 2]\n })\n })\n\n beforeEach(() => {\n cy.visit(viewReportUrl)\n })\n\n describe('Report details', () => {\n it('should show the report details', () => {\n cy.findAllByRole('group').contains('Report details').should('be.visible').click()\n\n cy.findAllByRole('group')\n .contains('Report details')\n .parent()\n .parent()\n .within(() => {\n cy.findAllByRole('row').each((row, index) => {\n cy.wrap(row).within(() => {\n switch (index) {\n case 0:\n cy.findAllByRole('cell', { name: 'Name:' }).should('exist')\n cy.findAllByRole('cell', { name: 'Successful Report' }).should('exist')\n break\n case 1:\n cy.findAllByRole('cell', { name: 'Product:' }).should('exist')\n cy.findAllByRole('cell', { name: 'Successful Report' }).should('exist')\n break\n case 2:\n cy.findAllByRole('cell', { name: 'Description:' }).should('exist')\n cy.findAllByRole('cell', { name: 'this will succeed' }).should('exist')\n break\n case 3:\n cy.findAllByRole('cell', { name: 'Classification:' }).should('exist')\n cy.findAllByRole('cell', { name: 'OFFICIAL' }).should('exist')\n break\n case 4:\n cy.findAllByRole('cell', { name: 'Requested at:' }).should('exist')\n cy.findAllByRole('cell', { name: /\\d{1,2}\\/\\d{1,2}\\/\\d{2,4}/ }).should('exist')\n break\n case 5:\n cy.findAllByRole('cell', { name: 'Applied Filters:' }).should('exist')\n cy.findAllByRole('listitem').each((item, i) => {\n switch (i) {\n case 0:\n cy.wrap(item).contains('Field 1: value1.2')\n break\n case 1:\n cy.wrap(item).contains('Field 3 start: 01/02/2003')\n break\n case 2:\n cy.wrap(item).contains('Field 3 end: 04/05/2006')\n break\n case 3:\n cy.wrap(item).contains('Field 7: 01/02/2005')\n break\n case 4:\n cy.wrap(item).contains('Field 8: value8.2,value8.3')\n break\n case 5:\n cy.wrap(item).contains('Sort column: Field 1')\n break\n case 6:\n cy.wrap(item).contains('Sort direction: Descending')\n break\n default:\n break\n }\n })\n break\n default:\n break\n }\n })\n })\n })\n })\n })\n\n describe('Actions', () => {\n it('should show the actions and go to the filters page when refresh action is clicked', () => {\n cy.findByLabelText('Refresh report').should('be.visible')\n cy.findByLabelText(/Print screen/)\n .should('be.visible')\n .should('be.disabled')\n cy.findByLabelText(/download/).should('be.visible')\n cy.findByLabelText(/Copy report link/).should('be.visible')\n cy.findByRole('button', { name: /Add bookmark/ }).should('be.visible')\n\n cy.findByLabelText('Refresh report').should('be.visible').click()\n cy.url().should(\n 'match',\n /.*\\/embedded\\/platform\\/dpr\\/request-report\\/report\\/request-examples\\/request-example-success\\/filters/i,\n )\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-01`)\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 })\n })\n })\n\n describe('Column interactions', () => {\n const expectInitialisedColumns = () => {\n cy.findByRole('checkbox', { name: 'Field 1' }).should('be.checked')\n cy.findByRole('checkbox', { name: 'Field 2' }).should('be.checked').should('be.disabled')\n cy.findByRole('checkbox', { name: 'Field 3' }).should('be.checked')\n cy.findByRole('checkbox', { name: 'Field 4' }).should('not.be.checked')\n cy.findByRole('checkbox', { name: 'Field 5' }).should('not.be.checked')\n cy.findByRole('checkbox', { name: 'Field 6' }).should('be.checked').should('be.disabled')\n cy.findByRole('checkbox', { name: 'Field 7' }).should('be.checked')\n cy.findByRole('checkbox', { name: 'Field 8' }).should('not.be.checked')\n\n cy.location().should((location) => {\n expect(location.search).to.contain(`columns=field1`)\n expect(location.search).to.contain(`columns=field2`)\n expect(location.search).to.contain(`columns=field3`)\n expect(location.search).not.to.contain(`columns=field4`)\n expect(location.search).not.to.contain(`columns=field5`)\n expect(location.search).to.contain(`columns=field6`)\n expect(location.search).to.contain(`columns=field7`)\n expect(location.search).not.to.contain(`columns=field8`)\n })\n\n cy.findByLabelText(/Successful Report/).within(() => {\n cy.findAllByRole('rowgroup')\n .eq(0)\n .within(() => {\n cy.findAllByRole('row')\n .eq(1)\n .within(() => {\n cy.findAllByRole('columnheader').should('have.length', 5)\n })\n })\n })\n }\n\n const expectUpdatedColumns = () => {\n cy.findByRole('checkbox', { name: 'Field 1' }).should('not.be.checked')\n cy.findByRole('checkbox', { name: 'Field 2' }).should('be.checked').should('be.disabled')\n cy.findByRole('checkbox', { name: 'Field 3' }).should('not.be.checked')\n cy.findByRole('checkbox', { name: 'Field 4' }).should('not.be.checked')\n cy.findByRole('checkbox', { name: 'Field 5' }).should('be.checked')\n cy.findByRole('checkbox', { name: 'Field 6' }).should('be.checked').should('be.disabled')\n cy.findByRole('checkbox', { name: 'Field 7' }).should('not.be.checked')\n cy.findByRole('checkbox', { name: 'Field 8' }).should('be.checked')\n\n cy.location().should((location) => {\n expect(location.search).not.to.contain(`columns=field1`)\n expect(location.search).to.contain(`columns=field2`)\n expect(location.search).not.to.contain(`columns=field3`)\n expect(location.search).not.to.contain(`columns=field4`)\n expect(location.search).to.contain(`columns=field5`)\n expect(location.search).to.contain(`columns=field6`)\n expect(location.search).not.to.contain(`columns=field7`)\n expect(location.search).to.contain(`columns=field8`)\n })\n\n cy.findByLabelText(/Successful Report/).within(() => {\n cy.findAllByRole('rowgroup')\n .eq(0)\n .within(() => {\n cy.findAllByRole('row')\n .eq(1)\n .within(() => {\n cy.findAllByRole('columnheader').should('have.length', 4)\n })\n })\n })\n }\n\n const setColumnValues = () => {\n cy.findByRole('checkbox', { name: 'Field 1' }).uncheck()\n cy.findByRole('checkbox', { name: 'Field 3' }).uncheck()\n cy.findByRole('checkbox', { name: 'Field 5' }).check()\n cy.findByRole('checkbox', { name: 'Field 7' }).uncheck()\n cy.findByRole('checkbox', { name: 'Field 8' }).check()\n }\n\n it('should initialise the column content correctly', () => {\n cy.findAllByRole('group')\n .contains(/Show columns/)\n .should('be.visible')\n .click()\n expectInitialisedColumns()\n cy.findAllByRole('group').contains('Show columns (5 of 8 shown)')\n cy.findByLabelText(/Successful Report/).within(() => {\n cy.findAllByRole('rowgroup')\n .eq(0)\n .within(() => {\n cy.findAllByRole('columnheader').each((head, index) => {\n switch (index) {\n case 0:\n cy.wrap(head).contains('Field 1')\n break\n case 1:\n cy.wrap(head).contains('Field 2')\n break\n case 2:\n cy.wrap(head).contains('Field 3')\n break\n case 3:\n cy.wrap(head).contains('Field 6')\n break\n case 4:\n cy.wrap(head).contains('Field 7')\n break\n default:\n break\n }\n })\n })\n })\n })\n\n it('should apply the columns', () => {\n cy.findAllByRole('group')\n .contains(/Show columns/)\n .click()\n\n setColumnValues()\n\n cy.findByRole('button', { name: 'Apply columns' }).click()\n\n expectUpdatedColumns()\n\n cy.findByLabelText(/Successful Report/).within(() => {\n cy.findAllByRole('rowgroup')\n .eq(0)\n .within(() => {\n cy.findAllByRole('columnheader').each((head, index) => {\n switch (index) {\n case 0:\n cy.wrap(head).contains('Field 2')\n break\n case 1:\n cy.wrap(head).contains('Field 5')\n break\n case 2:\n cy.wrap(head).contains('Field 6')\n break\n case 3:\n cy.wrap(head).contains('Field 8')\n break\n default:\n break\n }\n })\n })\n })\n })\n\n it('should reset the columns to their DPD defaults', () => {\n cy.findAllByRole('group')\n .contains(/Show columns/)\n .click()\n\n setColumnValues()\n cy.findByRole('button', { name: 'Apply columns' }).click()\n expectUpdatedColumns()\n\n cy.findAllByRole('group')\n .contains(/Show columns/)\n .click()\n\n cy.findByRole('link', { name: 'Reset columns' }).click()\n\n expectInitialisedColumns()\n })\n\n it('should apply the columns from the URL', () => {\n cy.visit(\n `/embedded/platform/dpr/view-report/async/report/request-examples/request-example-success/${tableId}/report?columns=field1&columns=field5&columns=field8`,\n )\n\n cy.findByRole('checkbox', { name: 'Field 1' }).should('be.checked')\n cy.findByRole('checkbox', { name: 'Field 2' }).should('be.checked').should('be.disabled')\n cy.findByRole('checkbox', { name: 'Field 3' }).should('not.be.checked')\n cy.findByRole('checkbox', { name: 'Field 4' }).should('not.be.checked')\n cy.findByRole('checkbox', { name: 'Field 5' }).should('be.checked')\n cy.findByRole('checkbox', { name: 'Field 6' }).should('be.checked').should('be.disabled')\n cy.findByRole('checkbox', { name: 'Field 7' }).should('not.be.checked')\n cy.findByRole('checkbox', { name: 'Field 8' }).should('be.checked')\n\n cy.findByLabelText(/Successful Report/).within(() => {\n cy.findAllByRole('rowgroup')\n .eq(0)\n .within(() => {\n cy.findAllByRole('columnheader').each((head, index) => {\n switch (index) {\n case 0:\n cy.wrap(head).contains('Field 1')\n break\n case 1:\n cy.wrap(head).contains('Field 2')\n break\n case 2:\n cy.wrap(head).contains('Field 5')\n break\n case 3:\n cy.wrap(head).contains('Field 6')\n break\n case 4:\n cy.wrap(head).contains('Field 8')\n break\n default:\n break\n }\n })\n })\n })\n })\n\n it('should only apply mandatory columms', () => {\n cy.findAllByRole('group')\n .contains(/Show columns/)\n .click()\n\n cy.findByRole('checkbox', { name: 'Field 1' }).uncheck()\n cy.findByRole('checkbox', { name: 'Field 3' }).uncheck()\n cy.findByRole('checkbox', { name: 'Field 7' }).uncheck()\n\n cy.findByRole('button', { name: 'Apply columns' }).click()\n\n cy.findByRole('checkbox', { name: 'Field 1' }).should('not.be.checked')\n cy.findByRole('checkbox', { name: 'Field 2' }).should('be.checked').should('be.disabled')\n cy.findByRole('checkbox', { name: 'Field 3' }).should('not.be.checked')\n cy.findByRole('checkbox', { name: 'Field 4' }).should('not.be.checked')\n cy.findByRole('checkbox', { name: 'Field 5' }).should('not.be.checked')\n cy.findByRole('checkbox', { name: 'Field 6' }).should('be.checked').should('be.disabled')\n cy.findByRole('checkbox', { name: 'Field 7' }).should('not.be.checked')\n cy.findByRole('checkbox', { name: 'Field 8' }).should('not.be.checked')\n\n cy.location().should((location) => {\n expect(location.search).not.to.contain(`columns=field1`)\n expect(location.search).to.contain(`columns=field2`)\n expect(location.search).not.to.contain(`columns=field3`)\n expect(location.search).not.to.contain(`columns=field4`)\n expect(location.search).not.to.contain(`columns=field5`)\n expect(location.search).to.contain(`columns=field6`)\n expect(location.search).not.to.contain(`columns=field7`)\n expect(location.search).not.to.contain(`columns=field8`)\n })\n\n cy.findByLabelText(/Successful Report/).within(() => {\n cy.findAllByRole('rowgroup')\n .eq(0)\n .within(() => {\n cy.findAllByRole('row')\n .eq(1)\n .within(() => {\n cy.findAllByRole('columnheader').should('have.length', 2)\n })\n })\n })\n })\n })\n\n describe('Paging interaction', () => {\n it('should show the table totals', () => {\n cy.findAllByRole('paragraph')\n .contains(/Showing \\d{1,4} to \\d{1,4} of \\d{1,4} results/)\n .should('exist')\n cy.findByLabelText(/Successful Report/).within(() => {\n cy.findAllByRole('rowgroup')\n .eq(1)\n .within(() => {\n cy.findAllByRole('row').should('have.length', 20)\n })\n })\n })\n\n it('should change the page size', () => {\n cy.get('#page-size-select').select('10')\n cy.findAllByRole('paragraph')\n .contains(/Showing 1 to 10 of 100 results/)\n .should('exist')\n cy.findByLabelText(/Successful Report/).within(() => {\n cy.findAllByRole('rowgroup')\n .eq(1)\n .within(() => {\n cy.findAllByRole('row').should('have.length', 10)\n })\n })\n })\n\n it('should change the page size via the URL', () => {\n cy.visit(\n `/embedded/platform/dpr/view-report/async/report/request-examples/request-example-success/${tableId}/report?pageSize=100`,\n )\n cy.findAllByRole('paragraph')\n .contains(/100 total results/)\n .should('exist')\n cy.findByLabelText(/Successful Report/).within(() => {\n cy.findAllByRole('rowgroup')\n .eq(1)\n .within(() => {\n cy.findAllByRole('row').should('have.length', 100)\n })\n })\n })\n\n it('should change the page', () => {\n cy.findByLabelText('Page 5').click()\n cy.location().should((location) => {\n expect(location.search).to.contain(`selectedPage=5`)\n })\n })\n\n it('should change the page via the URL', () => {\n cy.visit(\n `/embedded/platform/dpr/view-report/async/report/request-examples/request-example-success/${tableId}/report?selectedPage=3`,\n )\n cy.findByRole('link', { current: 'page' }).contains('3')\n })\n })\n })\n\n describe('Interactive report', () => {\n const applyFilters = () => {\n cy.findByRole('button', { name: 'Apply filters' }).click()\n }\n\n const showFilters = () => {\n cy.findAllByRole('group')\n .contains(/Show filters/)\n .click()\n }\n\n before(() => {\n executeReportStubs()\n cy.task('stubDefinitionFeatureTestingInteractive')\n cy.task('stubAsyncRequestSuccessReportTablesCount')\n cy.task('stubRequestSuccessResult20')\n cy.task('stubRequestSuccessResult100')\n })\n\n describe('Apply filters', () => {\n before(() => {\n requestReport({ name: 'Interactive Report', description: 'this is an interactive report', path })\n cy.url().then((url) => {\n viewReportUrl = url\n })\n })\n\n beforeEach(() => {\n cy.visit(viewReportUrl)\n })\n\n const removeAllFilters = () => {\n for (let index = 0; index < 4; index += 1) {\n cy.findByLabelText('Selected filters').within(() => {\n cy.findAllByRole('link').first().click()\n })\n }\n }\n\n describe('Date range', () => {\n it('should apply the date range', () => {\n cy.findByRole('textbox', { name: 'From' }).should('have.value', '01/02/2003')\n cy.findByRole('textbox', { name: 'To' }).should('have.value', '04/05/2006')\n\n removeAllFilters()\n showFilters()\n\n cy.findByRole('textbox', { name: 'From' }).type('02/05/2025')\n cy.findByRole('textbox', { name: 'To' }).type('05/07/2025').blur()\n\n applyFilters()\n\n cy.location().should((location) => {\n expect(location.search).to.contain(`filters.field3.start=2025-05-02`)\n expect(location.search).to.contain(`filters.field3.end=2025-07-05`)\n })\n\n checkSelectedFilterValues({ length: 2, buttonValues: [{ key: 'Field 3', value: '02/05/2025 - 05/07/2025' }] })\n })\n\n it('should apply the relative daterange', () => {\n removeAllFilters()\n showFilters()\n\n cy.findByRole('tab', { name: 'Preset date ranges' }).click()\n cy.findByRole('radio', { name: 'Tomorrow' }).check()\n\n applyFilters()\n\n let startValue: string\n let endValue: string\n cy.findByRole('textbox', { name: 'From' })\n .invoke('val')\n .should('not.be.empty')\n .then((val: string) => {\n startValue = val\n })\n cy.findByRole('textbox', { name: 'To' })\n .invoke('val')\n .should('not.be.empty')\n .then((val: string) => {\n endValue = val\n })\n\n const dateMapper = new DateMapper()\n cy.location().should((location) => {\n expect(location.search).to.contain(`filters.field3.start=${dateMapper.toDateString(startValue, 'iso')}`)\n expect(location.search).to.contain(`filters.field3.end=${dateMapper.toDateString(endValue, 'iso')}`)\n expect(location.search).to.contain(`filters.field3.relative-duration=tomorrow`)\n })\n\n checkSelectedFilterValues({ length: 2, buttonValues: [{ key: 'Field 3', value: 'Tomorrow' }] })\n })\n })\n\n describe('Multiselect', () => {\n it('should apply the multiselect values', () => {\n cy.findByRole('checkbox', { name: 'Value 8.2' }).should('be.checked')\n cy.findByRole('checkbox', { name: 'Value 8.3' }).should('be.checked')\n\n removeAllFilters()\n\n cy.findByRole('checkbox', { name: 'Value 8.1' }).should('not.be.checked')\n cy.findByRole('checkbox', { name: 'Value 8.2' }).should('not.be.checked')\n cy.findByRole('checkbox', { name: 'Value 8.3' }).should('not.be.checked')\n cy.findByRole('checkbox', { name: 'Value 8.4' }).should('not.be.checked')\n\n showFilters()\n\n cy.findByRole('checkbox', { name: 'Value 8.1' }).check()\n cy.findByRole('checkbox', { name: 'Value 8.3' }).check()\n\n applyFilters()\n\n cy.findByRole('checkbox', { name: 'Value 8.1' }).should('be.checked')\n cy.findByRole('checkbox', { name: 'Value 8.2' }).should('not.be.checked')\n cy.findByRole('checkbox', { name: 'Value 8.3' }).should('be.checked')\n cy.findByRole('checkbox', { name: 'Value 8.4' }).should('not.be.checked')\n\n checkSelectedFilterValues({ length: 2, buttonValues: [{ key: 'Field 8', value: 'Value 8.1, Value 8.3' }] })\n })\n\n it('should set the selected filter values correctly', () => {\n cy.findByRole('checkbox', { name: 'Value 8.2' }).should('be.checked')\n cy.findByRole('checkbox', { name: 'Value 8.3' }).should('be.checked')\n\n removeAllFilters()\n\n cy.findByRole('checkbox', { name: 'Value 8.1' }).should('not.be.checked')\n cy.findByRole('checkbox', { name: 'Value 8.2' }).should('not.be.checked')\n cy.findByRole('checkbox', { name: 'Value 8.3' }).should('not.be.checked')\n cy.findByRole('checkbox', { name: 'Value 8.4' }).should('not.be.checked')\n\n showFilters()\n\n cy.findByRole('checkbox', { name: 'Value 8.1' }).check()\n cy.findByRole('checkbox', { name: 'Value 8.2' }).check()\n cy.findByRole('checkbox', { name: 'Value 8.3' }).check()\n cy.findByRole('checkbox', { name: 'Value 8.4' }).check()\n\n applyFilters()\n\n cy.findByRole('checkbox', { name: 'Value 8.1' }).should('be.checked')\n cy.findByRole('checkbox', { name: 'Value 8.2' }).should('be.checked')\n cy.findByRole('checkbox', { name: 'Value 8.3' }).should('be.checked')\n cy.findByRole('checkbox', { name: 'Value 8.4' }).should('be.checked')\n\n checkSelectedFilterValues({\n length: 2,\n buttonValues: [{ key: 'Field 8', value: 'Value 8.1, Value 8.2, Value 8.3 + 1 more' }],\n })\n })\n\n it('should set the values correctly when only one checkbox selected', () => {\n removeAllFilters()\n\n cy.findByRole('checkbox', { name: 'Value 8.1' }).should('not.be.checked')\n cy.findByRole('checkbox', { name: 'Value 8.2' }).should('not.be.checked')\n cy.findByRole('checkbox', { name: 'Value 8.3' }).should('not.be.checked')\n cy.findByRole('checkbox', { name: 'Value 8.4' }).should('not.be.checked')\n\n showFilters()\n\n cy.findByRole('checkbox', { name: 'Value 8.1' }).check()\n\n applyFilters()\n\n cy.findByRole('checkbox', { name: 'Value 8.1' }).should('be.checked')\n cy.findByRole('checkbox', { name: 'Value 8.2' }).should('not.be.checked')\n cy.findByRole('checkbox', { name: 'Value 8.3' }).should('not.be.checked')\n cy.findByRole('checkbox', { name: 'Value 8.4' }).should('not.be.checked')\n\n checkSelectedFilterValues({\n length: 2,\n buttonValues: [{ key: 'Field 8', value: 'Value 8.1' }],\n })\n })\n })\n\n it('Applying filters should persist current applied columns', () => {\n cy.findAllByRole('group')\n .contains(/Show columns/)\n .should('be.visible')\n .click()\n\n cy.findByRole('checkbox', { name: 'Field 1' }).uncheck()\n cy.findByRole('checkbox', { name: 'Field 3' }).uncheck()\n cy.findByRole('checkbox', { name: 'Field 5' }).check()\n cy.findByRole('checkbox', { name: 'Field 7' }).uncheck()\n cy.findByRole('checkbox', { name: 'Field 8' }).check()\n\n cy.findByRole('button', { name: 'Apply columns' }).click()\n cy.findAllByRole('group').contains('Show columns (4 of 8 shown)')\n\n showFilters()\n cy.findByRole('checkbox', { name: 'Value 8.1' }).check()\n cy.findByRole('checkbox', { name: 'Value 8.3' }).check()\n applyFilters()\n\n cy.findAllByRole('group').contains('Show columns (4 of 8 shown)')\n })\n })\n\n describe('User defined interactive defaults', () => {\n const saveDefaultsButton = () => {\n return cy.findByRole('button', { name: 'Save current filter values as defaults' })\n }\n const updateDefaultsButton = () => {\n return cy.findByRole('button', { name: 'Update defaults' })\n }\n const deleteDefaultsButton = () => {\n return cy.findByRole('button', { name: 'Delete defaults' })\n }\n\n const checkSelectedFiltersInUserReports = ({\n name,\n product,\n length,\n selectedFilters,\n }: {\n name: string\n product: string\n length: number\n selectedFilters: { key: string; value: string }[]\n }) => {\n cy.findByLabelText(/Viewed \\(/).within(() => {\n cy.findByRole('row', {\n name: (_, element) => {\n return element.textContent.includes(name) && element.textContent.includes(product)\n },\n }).within(() => {\n cy.findAllByRole('listitem')\n .should('have.length', length)\n .each((li, index) => {\n if (selectedFilters[index]) {\n const { key, value } = selectedFilters[index]\n cy.wrap(li).contains(key)\n cy.wrap(li).contains(value)\n }\n })\n })\n })\n }\n\n it('should save the interactive filters correctly', () => {\n // request the report\n requestReport({ name: 'Interactive Report', description: 'this is an interactive report', path })\n\n // check the default filters\n checkSelectedFilterValues({\n length: 5,\n buttonValues: [\n { key: 'Field 1', value: 'Value 1.2' },\n { key: 'Field 3', value: '01/02/2003 - 04/05/2006' },\n { key: 'Field 7', value: '01/02/2005' },\n { key: 'Field 8', value: 'Value 8.2, Value 8.3' },\n ],\n })\n\n // update the filters\n showFilters()\n cy.findByRole('checkbox', { name: 'Value 8.1' }).check()\n cy.findByRole('checkbox', { name: 'Value 8.4' }).check()\n cy.findByRole('combobox', { name: 'Field 2' }).select('value2.2')\n applyFilters()\n\n const selectedFiltersButtonValues = [\n { key: 'Field 1', value: 'Value 1.2' },\n { key: 'Field 2', value: 'Value 2.2' },\n { key: 'Field 3', value: '01/02/2003 - 04/05/2006' },\n { key: 'Field 7', value: '01/02/2005' },\n { key: 'Field 8', value: 'Value 8.1, Value 8.2, Value 8.3 + 1 more' },\n ]\n checkSelectedFilterValues({\n length: 6,\n buttonValues: selectedFiltersButtonValues,\n })\n\n // save the filters\n saveDefaultsButton().click()\n\n // check for saved page furniture\n updateDefaultsButton().should('exist')\n deleteDefaultsButton().should('exist')\n\n // check the selected filters\n checkSelectedFilterValues({\n length: 6,\n buttonValues: selectedFiltersButtonValues,\n })\n })\n\n it('should init the report with saved interactive defaults', () => {\n // request the report\n requestReport({ name: 'Interactive Report', description: 'this is an interactive report', path })\n cy.url().then((url) => {\n viewReportUrl = url\n })\n\n // check saved defaults page furniture\n updateDefaultsButton().should('exist')\n deleteDefaultsButton().should('exist')\n\n const selectedFiltersButtonValues = [\n { key: 'Field 1', value: 'Value 1.2' },\n { key: 'Field 2', value: 'Value 2.2' },\n { key: 'Field 3', value: '01/02/2003 - 04/05/2006' },\n { key: 'Field 7', value: '01/02/2005' },\n { key: 'Field 8', value: 'Value 8.1, Value 8.2, Value 8.3 + 1 more' },\n ]\n checkSelectedFilterValues({\n length: 6,\n buttonValues: selectedFiltersButtonValues,\n })\n\n cy.visit(path)\n cy.findByRole('tab', { name: /Viewed/ }).click()\n checkSelectedFiltersInUserReports({\n name: 'Interactive Report',\n product: 'Interactive Report',\n length: 5,\n selectedFilters: selectedFiltersButtonValues,\n })\n })\n\n it('should reset the filter values to the saved defaults', () => {\n cy.visit(viewReportUrl)\n\n // check saved defaults page furniture\n updateDefaultsButton().should('exist')\n deleteDefaultsButton().should('exist')\n\n const savedDefaultSelectedFilters = [\n { key: 'Field 1', value: 'Value 1.2' },\n { key: 'Field 2', value: 'Value 2.2' },\n { key: 'Field 3', value: '01/02/2003 - 04/05/2006' },\n { key: 'Field 7', value: '01/02/2005' },\n { key: 'Field 8', value: 'Value 8.1, Value 8.2, Value 8.3 + 1 more' },\n ]\n checkSelectedFilterValues({\n length: 6,\n buttonValues: savedDefaultSelectedFilters,\n })\n\n // apply some filters\n showFilters()\n cy.findByRole('checkbox', { name: 'Value 8.1' }).uncheck()\n cy.findByRole('checkbox', { name: 'Value 8.3' }).uncheck()\n cy.findByRole('combobox', { name: 'Field 2' }).select('value2.3')\n applyFilters()\n\n checkSelectedFilterValues({\n length: 6,\n buttonValues: [\n { key: 'Field 1', value: 'Value 1.2' },\n { key: 'Field 2', value: 'Value 2.3' },\n { key: 'Field 3', value: '01/02/2003 - 04/05/2006' },\n { key: 'Field 7', value: '01/02/2005' },\n { key: 'Field 8', value: 'Value 8.4' },\n ],\n })\n\n cy.visit(path)\n cy.findByRole('tab', { name: /Viewed/ }).click()\n checkSelectedFiltersInUserReports({\n name: 'Interactive Report',\n product: 'Interactive Report',\n length: 5,\n selectedFilters: [\n { key: 'Field 1', value: 'Value 1.2' },\n { key: 'Field 2', value: 'Value 2.3' },\n { key: 'Field 3', value: '01/02/2003 - 04/05/2006' },\n { key: 'Field 7', value: '01/02/2005' },\n { key: 'Field 8', value: 'Value 8.4' },\n ],\n })\n\n cy.visit(viewReportUrl)\n\n cy.findByRole('link', { name: 'Reset filters' }).click()\n\n checkSelectedFilterValues({\n length: 6,\n buttonValues: savedDefaultSelectedFilters,\n })\n\n cy.visit(path)\n cy.findByRole('tab', { name: /Viewed/ }).click()\n checkSelectedFiltersInUserReports({\n name: 'Interactive Report',\n product: 'Interactive Report',\n length: 5,\n selectedFilters: savedDefaultSelectedFilters,\n })\n })\n\n it('should update the filter values and init the report with the updated interactive defaults', () => {\n cy.visit(viewReportUrl)\n\n // check saved defaults page furniture\n updateDefaultsButton().should('exist')\n deleteDefaultsButton().should('exist')\n\n checkSelectedFilterValues({\n length: 6,\n buttonValues: [\n { key: 'Field 1', value: 'Value 1.2' },\n { key: 'Field 2', value: 'Value 2.2' },\n { key: 'Field 3', value: '01/02/2003 - 04/05/2006' },\n { key: 'Field 7', value: '01/02/2005' },\n { key: 'Field 8', value: 'Value 8.1, Value 8.2, Value 8.3 + 1 more' },\n ],\n })\n\n // apply some filters\n showFilters()\n cy.findByRole('checkbox', { name: 'Value 8.1' }).uncheck()\n cy.findByRole('checkbox', { name: 'Value 8.3' }).uncheck()\n cy.findByRole('combobox', { name: 'Field 2' }).select('value2.3')\n applyFilters()\n\n const expectedSelectedValues = [\n { key: 'Field 1', value: 'Value 1.2' },\n { key: 'Field 2', value: 'Value 2.3' },\n { key: 'Field 3', value: '01/02/2003 - 04/05/2006' },\n { key: 'Field 7', value: '01/02/2005' },\n { key: 'Field 8', value: 'Value 8.2, Value 8.4' },\n ]\n\n checkSelectedFilterValues({\n length: 6,\n buttonValues: expectedSelectedValues,\n })\n\n updateDefaultsButton().click()\n\n checkSelectedFilterValues({\n length: 6,\n buttonValues: expectedSelectedValues,\n })\n\n requestReport({ name: 'Interactive Report', description: 'this is an interactive report', path })\n cy.url().then((url) => {\n viewReportUrl = url\n })\n\n // check the initial filter values match the default\n checkSelectedFilterValues({\n length: 6,\n buttonValues: expectedSelectedValues,\n })\n\n // check saved defaults page furniture\n updateDefaultsButton().should('exist')\n deleteDefaultsButton().should('exist')\n\n cy.visit(path)\n cy.findByRole('tab', { name: /Viewed/ }).click()\n checkSelectedFiltersInUserReports({\n name: 'Interactive Report',\n product: 'Interactive Report',\n length: 5,\n selectedFilters: expectedSelectedValues,\n })\n })\n\n it('should delete the saved defaults', () => {\n cy.visit(viewReportUrl)\n\n checkSelectedFilterValues({\n length: 6,\n buttonValues: [\n { key: 'Field 1', value: 'Value 1.2' },\n { key: 'Field 2', value: 'Value 2.3' },\n { key: 'Field 3', value: '01/02/2003 - 04/05/2006' },\n { key: 'Field 7', value: '01/02/2005' },\n { key: 'Field 8', value: 'Value 8.2, Value 8.4' },\n ],\n })\n\n deleteDefaultsButton().click()\n\n // Expect DPD defaults to be applied\n checkSelectedFilterValues({\n length: 5,\n buttonValues: [\n { key: 'Field 1', value: 'Value 1.2' },\n { key: 'Field 3', value: '01/02/2003 - 04/05/2006' },\n { key: 'Field 7', value: '01/02/2005' },\n { key: 'Field 8', value: 'Value 8.2, Value 8.3' },\n ],\n })\n\n cy.visit(path)\n cy.findByRole('tab', { name: /Viewed/ }).click()\n checkSelectedFiltersInUserReports({\n name: 'Interactive Report',\n product: 'Interactive Report',\n length: 4,\n selectedFilters: [\n { key: 'Field 1', value: 'Value 1.2' },\n { key: 'Field 3', value: '01/02/2003 - 04/05/2006' },\n { key: 'Field 7', value: '01/02/2005' },\n { key: 'Field 8', value: 'Value 8.2, Value 8.3' },\n ],\n })\n })\n\n describe('Input types', () => {\n describe('Relative date range', () => {\n it('should save the relative daterange', () => {\n // request the report\n requestReport({ name: 'Interactive Report', description: 'this is an interactive report', path })\n\n checkSelectedFilterValues({\n length: 5,\n buttonValues: [\n { key: 'Field 1', value: 'Value 1.2' },\n { key: 'Field 3', value: '01/02/2003 - 04/05/2006' },\n { key: 'Field 7', value: '01/02/2005' },\n { key: 'Field 8', value: 'Value 8.2, Value 8.3' },\n ],\n })\n\n // update the filters\n showFilters()\n cy.findByRole('tab', { name: 'Preset date ranges' }).click()\n cy.findByRole('radio', { name: 'Tomorrow' }).check()\n applyFilters()\n\n const expectedUpdatedSelected = [\n { key: 'Field 1', value: 'Value 1.2' },\n { key: 'Field 3', value: 'Tomorrow' },\n { key: 'Field 7', value: '01/02/2005' },\n { key: 'Field 8', value: 'Value 8.2, Value 8.3' },\n ]\n\n checkSelectedFilterValues({\n length: 5,\n buttonValues: expectedUpdatedSelected,\n })\n\n // save the filters\n saveDefaultsButton().click()\n\n // check for saved page furniture\n updateDefaultsButton().should('exist')\n deleteDefaultsButton().should('exist')\n\n // check the selected filters\n checkSelectedFilterValues({\n length: 5,\n buttonValues: expectedUpdatedSelected,\n })\n\n // request the report to check it defaults to saved\n requestReport({ name: 'Interactive Report', description: 'this is an interactive report', path })\n\n // check the selected filters\n checkSelectedFilterValues({\n length: 5,\n buttonValues: expectedUpdatedSelected,\n })\n\n deleteDefaultsButton().click()\n })\n })\n\n describe('Multiselect', () => {\n it('should save a single multiselect value', () => {\n // request the report\n requestReport({ name: 'Interactive Report', description: 'this is an interactive report', path })\n\n checkSelectedFilterValues({\n length: 5,\n buttonValues: [\n { key: 'Field 1', value: 'Value 1.2' },\n { key: 'Field 3', value: '01/02/2003 - 04/05/2006' },\n { key: 'Field 7', value: '01/02/2005' },\n { key: 'Field 8', value: 'Value 8.2, Value 8.3' },\n ],\n })\n\n // update the filters\n showFilters()\n cy.findByRole('checkbox', { name: 'Value 8.3' }).uncheck()\n applyFilters()\n\n const expectedUpdatedSelected = [\n { key: 'Field 1', value: 'Value 1.2' },\n { key: 'Field 3', value: '01/02/2003 - 04/05/2006' },\n { key: 'Field 7', value: '01/02/2005' },\n { key: 'Field 8', value: 'Value 8.2' },\n ]\n\n checkSelectedFilterValues({\n length: 5,\n buttonValues: expectedUpdatedSelected,\n })\n\n // save the filters\n saveDefaultsButton().click()\n\n // check for saved page furniture\n updateDefaultsButton().should('exist')\n deleteDefaultsButton().should('exist')\n\n // check the selected filters\n checkSelectedFilterValues({\n length: 5,\n buttonValues: expectedUpdatedSelected,\n })\n\n // request the report to check it defaults to saved\n requestReport({ name: 'Interactive Report', description: 'this is an interactive report', path })\n\n // check the selected filters\n checkSelectedFilterValues({\n length: 5,\n buttonValues: expectedUpdatedSelected,\n })\n\n deleteDefaultsButton().click()\n })\n })\n })\n })\n\n describe('Sorting', () => {\n before(() => {\n requestReport({ name: 'Interactive Report', description: 'this is an interactive report', path })\n cy.url().then((url) => {\n viewReportUrl = url\n })\n })\n\n beforeEach(() => {\n cy.visit(viewReportUrl)\n })\n\n it('should show the sort direction in the column header and the url', () => {\n cy.findByRole('link', { name: 'Reset filters' }).click()\n\n // Initial state\n cy.findByRole('link', { name: 'Field 1' }).should('have.class', 'data-table-header-button-sort-ascending')\n cy.findByRole('link', { name: 'Field 2' }).should('have.class', 'data-table-header-button-sort-none')\n\n // Sort desc by field 1\n cy.findByRole('link', { name: 'Field 1' }).click()\n cy.findByRole('link', { name: 'Field 1' }).should('have.class', 'data-table-header-button-sort-descending')\n cy.findByRole('link', { name: 'Field 2' }).should('have.class', 'data-table-header-button-sort-none')\n cy.location().should((location) => {\n expect(location.search).to.contain(`&sortColumn=field1&sortedAsc=false`)\n expect(location.search).to.contain(`filters.field8=value8.2&filters.field8=value8.3`)\n })\n\n // Sort asc by field 1\n cy.findByRole('link', { name: 'Field 1' }).click()\n cy.findByRole('link', { name: 'Field 1' }).should('have.class', 'data-table-header-button-sort-ascending')\n cy.findByRole('link', { name: 'Field 2' }).should('have.class', 'data-table-header-button-sort-none')\n cy.location().should((location) => {\n expect(location.search).to.contain(`&sortColumn=field1&sortedAsc=true`)\n expect(location.search).to.contain(`filters.field8=value8.2&filters.field8=value8.3`)\n })\n\n // Sort asc by field 2\n cy.findByRole('link', { name: 'Field 2' }).click()\n cy.findByRole('link', { name: 'Field 2' }).should('have.class', 'data-table-header-button-sort-ascending')\n cy.findByRole('link', { name: 'Field 1' }).should('have.class', 'data-table-header-button-sort-none')\n cy.location().should((location) => {\n expect(location.search).to.contain(`&sortColumn=field2&sortedAsc=true`)\n expect(location.search).to.contain(`filters.field8=value8.2&filters.field8=value8.3`)\n })\n\n // Sort desc by field 2\n cy.findByRole('link', { name: 'Field 2' }).click()\n cy.findByRole('link', { name: 'Field 2' }).should('have.class', 'data-table-header-button-sort-descending')\n cy.findByRole('link', { name: 'Field 1' }).should('have.class', 'data-table-header-button-sort-none')\n cy.location().should((location) => {\n expect(location.search).to.contain(`&sortColumn=field2&sortedAsc=false`)\n expect(location.search).to.contain(`filters.field8=value8.2&filters.field8=value8.3`)\n })\n })\n })\n })\n})\n"],
|
|
5
|
-
"mappings": "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",
|
|
4
|
+
"sourcesContent": ["import {\n checkSelectedFilterValues,\n requestReport,\n executeReportStubs,\n} from '../../../../../../../cypress-tests/cypressUtils'\nimport DateMapper from '../../../../../utils/DateMapper/DateMapper'\n\ncontext('Viewing a report', () => {\n const path = '/embedded/platform/'\n let viewReportUrl: string\n let tableId: string\n\n describe('List report page', () => {\n before(() => {\n executeReportStubs()\n cy.task('stubDefinitionRequestExamplesSuccess')\n cy.task('stubRequestSuccessResult10')\n cy.task('stubRequestSuccessResult20')\n cy.task('stubRequestSuccessResult100')\n\n // Request and run a report so we can go back to it for each test\n requestReport({ name: 'Successful Report', description: 'this will succeed', path })\n cy.url().then((url) => {\n viewReportUrl = url\n const urlArr = url.split('/')\n tableId = urlArr[urlArr.length - 2]\n })\n })\n\n beforeEach(() => {\n cy.visit(viewReportUrl)\n })\n\n describe('Report details', () => {\n it('should show the report details', () => {\n cy.findAllByRole('group').contains('Report details').should('be.visible').click()\n\n cy.findAllByRole('group')\n .contains('Report details')\n .parent()\n .parent()\n .within(() => {\n cy.findAllByRole('row').each((row, index) => {\n cy.wrap(row).within(() => {\n switch (index) {\n case 0:\n cy.findAllByRole('cell', { name: 'Name:' }).should('exist')\n cy.findAllByRole('cell', { name: 'Successful Report' }).should('exist')\n break\n case 1:\n cy.findAllByRole('cell', { name: 'Product:' }).should('exist')\n cy.findAllByRole('cell', { name: 'Successful Report' }).should('exist')\n break\n case 2:\n cy.findAllByRole('cell', { name: 'Description:' }).should('exist')\n cy.findAllByRole('cell', { name: 'this will succeed' }).should('exist')\n break\n case 3:\n cy.findAllByRole('cell', { name: 'Classification:' }).should('exist')\n cy.findAllByRole('cell', { name: 'OFFICIAL' }).should('exist')\n break\n case 4:\n cy.findAllByRole('cell', { name: 'Requested at:' }).should('exist')\n cy.findAllByRole('cell', { name: /\\d{1,2}\\/\\d{1,2}\\/\\d{2,4}/ }).should('exist')\n break\n case 5:\n cy.findAllByRole('cell', { name: 'Applied Filters:' }).should('exist')\n cy.findAllByRole('listitem').each((item, i) => {\n switch (i) {\n case 0:\n cy.wrap(item).contains('Field 1: value1.2')\n break\n case 1:\n cy.wrap(item).contains('Field 3 start: 01/02/2003')\n break\n case 2:\n cy.wrap(item).contains('Field 3 end: 04/05/2006')\n break\n case 3:\n cy.wrap(item).contains('Field 7: 01/02/2005')\n break\n case 4:\n cy.wrap(item).contains('Field 8: value8.2,value8.3')\n break\n case 5:\n cy.wrap(item).contains('Sort column: Field 1')\n break\n case 6:\n cy.wrap(item).contains('Sort direction: Descending')\n break\n default:\n break\n }\n })\n break\n default:\n break\n }\n })\n })\n })\n })\n })\n\n describe('Actions', () => {\n it('should show the actions and go to the filters page when refresh action is clicked', () => {\n cy.findByLabelText('Refresh report').should('be.visible')\n cy.findByLabelText(/Print screen/)\n .should('be.visible')\n .should('be.disabled')\n cy.findByLabelText(/download/).should('be.visible')\n cy.findByLabelText(/Copy report link/).should('be.visible')\n cy.findByRole('button', { name: /Add bookmark/ }).should('be.visible')\n\n cy.findByLabelText('Refresh report').should('be.visible').click()\n cy.url().should(\n 'match',\n /.*\\/embedded\\/platform\\/dpr\\/request-report\\/report\\/request-examples\\/request-example-success\\/filters/i,\n )\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-01`)\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 })\n })\n })\n\n describe('Column interactions', () => {\n const expectInitialisedColumns = () => {\n cy.findByRole('checkbox', { name: 'Field 1' }).should('be.checked')\n cy.findByRole('checkbox', { name: 'Field 2' }).should('be.checked').should('be.disabled')\n cy.findByRole('checkbox', { name: 'Field 3' }).should('be.checked')\n cy.findByRole('checkbox', { name: 'Field 4' }).should('not.be.checked')\n cy.findByRole('checkbox', { name: 'Field 5' }).should('not.be.checked')\n cy.findByRole('checkbox', { name: 'Field 6' }).should('be.checked').should('be.disabled')\n cy.findByRole('checkbox', { name: 'Field 7' }).should('be.checked')\n cy.findByRole('checkbox', { name: 'Field 8' }).should('not.be.checked')\n\n cy.location().should((location) => {\n expect(location.search).to.contain(`columns=field1`)\n expect(location.search).to.contain(`columns=field2`)\n expect(location.search).to.contain(`columns=field3`)\n expect(location.search).not.to.contain(`columns=field4`)\n expect(location.search).not.to.contain(`columns=field5`)\n expect(location.search).to.contain(`columns=field6`)\n expect(location.search).to.contain(`columns=field7`)\n expect(location.search).not.to.contain(`columns=field8`)\n })\n\n cy.findByLabelText(/Successful Report/).within(() => {\n cy.findAllByRole('rowgroup')\n .eq(0)\n .within(() => {\n cy.findAllByRole('row')\n .eq(1)\n .within(() => {\n cy.findAllByRole('columnheader').should('have.length', 5)\n })\n })\n })\n }\n\n const expectUpdatedColumns = () => {\n cy.findByRole('checkbox', { name: 'Field 1' }).should('not.be.checked')\n cy.findByRole('checkbox', { name: 'Field 2' }).should('be.checked').should('be.disabled')\n cy.findByRole('checkbox', { name: 'Field 3' }).should('not.be.checked')\n cy.findByRole('checkbox', { name: 'Field 4' }).should('not.be.checked')\n cy.findByRole('checkbox', { name: 'Field 5' }).should('be.checked')\n cy.findByRole('checkbox', { name: 'Field 6' }).should('be.checked').should('be.disabled')\n cy.findByRole('checkbox', { name: 'Field 7' }).should('not.be.checked')\n cy.findByRole('checkbox', { name: 'Field 8' }).should('be.checked')\n\n cy.location().should((location) => {\n expect(location.search).not.to.contain(`columns=field1`)\n expect(location.search).to.contain(`columns=field2`)\n expect(location.search).not.to.contain(`columns=field3`)\n expect(location.search).not.to.contain(`columns=field4`)\n expect(location.search).to.contain(`columns=field5`)\n expect(location.search).to.contain(`columns=field6`)\n expect(location.search).not.to.contain(`columns=field7`)\n expect(location.search).to.contain(`columns=field8`)\n })\n\n cy.findByLabelText(/Successful Report/).within(() => {\n cy.findAllByRole('rowgroup')\n .eq(0)\n .within(() => {\n cy.findAllByRole('row')\n .eq(1)\n .within(() => {\n cy.findAllByRole('columnheader').should('have.length', 4)\n })\n })\n })\n }\n\n const setColumnValues = () => {\n cy.findByRole('checkbox', { name: 'Field 1' }).uncheck()\n cy.findByRole('checkbox', { name: 'Field 3' }).uncheck()\n cy.findByRole('checkbox', { name: 'Field 5' }).check()\n cy.findByRole('checkbox', { name: 'Field 7' }).uncheck()\n cy.findByRole('checkbox', { name: 'Field 8' }).check()\n }\n\n it('should initialise the column content correctly', () => {\n cy.findAllByRole('group')\n .contains(/Show columns/)\n .should('be.visible')\n .click()\n expectInitialisedColumns()\n cy.findAllByRole('group').contains('Show columns (5 of 8 shown)')\n cy.findByLabelText(/Successful Report/).within(() => {\n cy.findAllByRole('rowgroup')\n .eq(0)\n .within(() => {\n cy.findAllByRole('columnheader').each((head, index) => {\n switch (index) {\n case 0:\n cy.wrap(head).contains('Field 1')\n break\n case 1:\n cy.wrap(head).contains('Field 2')\n break\n case 2:\n cy.wrap(head).contains('Field 3')\n break\n case 3:\n cy.wrap(head).contains('Field 6')\n break\n case 4:\n cy.wrap(head).contains('Field 7')\n break\n default:\n break\n }\n })\n })\n })\n })\n\n it('should apply the columns', () => {\n cy.findAllByRole('group')\n .contains(/Show columns/)\n .click()\n\n setColumnValues()\n\n cy.findByRole('button', { name: 'Apply columns' }).click()\n\n expectUpdatedColumns()\n\n cy.findByLabelText(/Successful Report/).within(() => {\n cy.findAllByRole('rowgroup')\n .eq(0)\n .within(() => {\n cy.findAllByRole('columnheader').each((head, index) => {\n switch (index) {\n case 0:\n cy.wrap(head).contains('Field 2')\n break\n case 1:\n cy.wrap(head).contains('Field 5')\n break\n case 2:\n cy.wrap(head).contains('Field 6')\n break\n case 3:\n cy.wrap(head).contains('Field 8')\n break\n default:\n break\n }\n })\n })\n })\n })\n\n it('should reset the columns to their DPD defaults', () => {\n cy.findAllByRole('group')\n .contains(/Show columns/)\n .click()\n\n setColumnValues()\n cy.findByRole('button', { name: 'Apply columns' }).click()\n expectUpdatedColumns()\n\n cy.findAllByRole('group')\n .contains(/Show columns/)\n .click()\n\n cy.findByRole('link', { name: 'Reset columns' }).click()\n\n expectInitialisedColumns()\n })\n\n it('should apply the columns from the URL', () => {\n cy.visit(\n `/embedded/platform/dpr/view-report/async/report/request-examples/request-example-success/${tableId}/report?columns=field1&columns=field5&columns=field8`,\n )\n\n cy.findByRole('checkbox', { name: 'Field 1' }).should('be.checked')\n cy.findByRole('checkbox', { name: 'Field 2' }).should('be.checked').should('be.disabled')\n cy.findByRole('checkbox', { name: 'Field 3' }).should('not.be.checked')\n cy.findByRole('checkbox', { name: 'Field 4' }).should('not.be.checked')\n cy.findByRole('checkbox', { name: 'Field 5' }).should('be.checked')\n cy.findByRole('checkbox', { name: 'Field 6' }).should('be.checked').should('be.disabled')\n cy.findByRole('checkbox', { name: 'Field 7' }).should('not.be.checked')\n cy.findByRole('checkbox', { name: 'Field 8' }).should('be.checked')\n\n cy.findByLabelText(/Successful Report/).within(() => {\n cy.findAllByRole('rowgroup')\n .eq(0)\n .within(() => {\n cy.findAllByRole('columnheader').each((head, index) => {\n switch (index) {\n case 0:\n cy.wrap(head).contains('Field 1')\n break\n case 1:\n cy.wrap(head).contains('Field 2')\n break\n case 2:\n cy.wrap(head).contains('Field 5')\n break\n case 3:\n cy.wrap(head).contains('Field 6')\n break\n case 4:\n cy.wrap(head).contains('Field 8')\n break\n default:\n break\n }\n })\n })\n })\n })\n\n it('should only apply mandatory columms', () => {\n cy.findAllByRole('group')\n .contains(/Show columns/)\n .click()\n\n cy.findByRole('checkbox', { name: 'Field 1' }).uncheck()\n cy.findByRole('checkbox', { name: 'Field 3' }).uncheck()\n cy.findByRole('checkbox', { name: 'Field 7' }).uncheck()\n\n cy.findByRole('button', { name: 'Apply columns' }).click()\n\n cy.findByRole('checkbox', { name: 'Field 1' }).should('not.be.checked')\n cy.findByRole('checkbox', { name: 'Field 2' }).should('be.checked').should('be.disabled')\n cy.findByRole('checkbox', { name: 'Field 3' }).should('not.be.checked')\n cy.findByRole('checkbox', { name: 'Field 4' }).should('not.be.checked')\n cy.findByRole('checkbox', { name: 'Field 5' }).should('not.be.checked')\n cy.findByRole('checkbox', { name: 'Field 6' }).should('be.checked').should('be.disabled')\n cy.findByRole('checkbox', { name: 'Field 7' }).should('not.be.checked')\n cy.findByRole('checkbox', { name: 'Field 8' }).should('not.be.checked')\n\n cy.location().should((location) => {\n expect(location.search).not.to.contain(`columns=field1`)\n expect(location.search).to.contain(`columns=field2`)\n expect(location.search).not.to.contain(`columns=field3`)\n expect(location.search).not.to.contain(`columns=field4`)\n expect(location.search).not.to.contain(`columns=field5`)\n expect(location.search).to.contain(`columns=field6`)\n expect(location.search).not.to.contain(`columns=field7`)\n expect(location.search).not.to.contain(`columns=field8`)\n })\n\n cy.findByLabelText(/Successful Report/).within(() => {\n cy.findAllByRole('rowgroup')\n .eq(0)\n .within(() => {\n cy.findAllByRole('row')\n .eq(1)\n .within(() => {\n cy.findAllByRole('columnheader').should('have.length', 2)\n })\n })\n })\n })\n })\n\n describe('Paging interaction', () => {\n it('should show the table totals', () => {\n cy.findAllByRole('paragraph')\n .contains(/Showing \\d{1,4} to \\d{1,4} of \\d{1,4} results/)\n .should('exist')\n cy.findByLabelText(/Successful Report/).within(() => {\n cy.findAllByRole('rowgroup')\n .eq(1)\n .within(() => {\n cy.findAllByRole('row').should('have.length', 20)\n })\n })\n })\n\n it('should change the page size', () => {\n cy.get('#page-size-select').select('10')\n cy.findAllByRole('paragraph')\n .contains(/Showing 1 to 10 of 100 results/)\n .should('exist')\n cy.findByLabelText(/Successful Report/).within(() => {\n cy.findAllByRole('rowgroup')\n .eq(1)\n .within(() => {\n cy.findAllByRole('row').should('have.length', 10)\n })\n })\n })\n\n it('should change the page size via the URL', () => {\n cy.visit(\n `/embedded/platform/dpr/view-report/async/report/request-examples/request-example-success/${tableId}/report?pageSize=100`,\n )\n cy.findAllByRole('paragraph')\n .contains(/100 total results/)\n .should('exist')\n cy.findByLabelText(/Successful Report/).within(() => {\n cy.findAllByRole('rowgroup')\n .eq(1)\n .within(() => {\n cy.findAllByRole('row').should('have.length', 100)\n })\n })\n })\n\n it('should change the page', () => {\n cy.findByLabelText('Page 5').click()\n cy.location().should((location) => {\n expect(location.search).to.contain(`selectedPage=5`)\n })\n })\n\n it('should change the page via the URL', () => {\n cy.visit(\n `/embedded/platform/dpr/view-report/async/report/request-examples/request-example-success/${tableId}/report?selectedPage=3`,\n )\n cy.findByRole('link', { current: 'page' }).contains('3')\n })\n })\n })\n\n describe('Interactive report', () => {\n const applyFilters = () => {\n cy.findByRole('button', { name: 'Apply filters' }).click()\n }\n\n const showFilters = () => {\n cy.findAllByRole('group')\n .contains(/Show filters/)\n .click()\n }\n\n before(() => {\n executeReportStubs()\n cy.task('stubDefinitionFeatureTestingInteractive')\n cy.task('stubAsyncRequestSuccessReportTablesCount')\n cy.task('stubRequestSuccessResult20')\n cy.task('stubRequestSuccessResult100')\n })\n\n describe('Apply filters', () => {\n before(() => {\n requestReport({ name: 'Interactive Report', description: 'this is an interactive report', path })\n cy.url().then((url) => {\n viewReportUrl = url\n })\n })\n\n beforeEach(() => {\n cy.visit(viewReportUrl)\n })\n\n const removeAllFilters = () => {\n for (let index = 0; index < 4; index += 1) {\n cy.findByLabelText('Selected filters').within(() => {\n cy.findAllByRole('link').first().click()\n })\n }\n }\n\n describe('Date range', () => {\n it('should apply the date range', () => {\n cy.findByRole('textbox', { name: 'From' }).should('have.value', '01/02/2003')\n cy.findByRole('textbox', { name: 'To' }).should('have.value', '04/05/2006')\n\n removeAllFilters()\n showFilters()\n\n cy.findByRole('textbox', { name: 'From' }).type('02/05/2025')\n cy.findByRole('textbox', { name: 'To' }).type('05/07/2025').blur()\n\n applyFilters()\n\n cy.location().should((location) => {\n expect(location.search).to.contain(`filters.field3.start=2025-05-02`)\n expect(location.search).to.contain(`filters.field3.end=2025-07-05`)\n })\n\n checkSelectedFilterValues({ length: 2, buttonValues: [{ key: 'Field 3', value: '02/05/2025 - 05/07/2025' }] })\n })\n\n it('should apply the relative daterange', () => {\n removeAllFilters()\n showFilters()\n\n cy.findByRole('tab', { name: 'Preset date ranges' }).click()\n cy.findByRole('radio', { name: 'Tomorrow' }).check()\n\n applyFilters()\n\n let startValue: string | number | string[] | undefined\n let endValue: string | number | string[] | undefined\n cy.findByRole('textbox', { name: 'From' })\n .invoke('val')\n .should('not.be.empty')\n .then((val) => {\n startValue = val\n })\n cy.findByRole('textbox', { name: 'To' })\n .invoke('val')\n .should('not.be.empty')\n .then((val) => {\n endValue = val\n })\n\n const dateMapper = new DateMapper()\n cy.location().should((location) => {\n expect(location.search).to.contain(\n `filters.field3.start=${dateMapper.toDateString(<string>startValue, 'iso')}`,\n )\n expect(location.search).to.contain(`filters.field3.end=${dateMapper.toDateString(<string>endValue, 'iso')}`)\n expect(location.search).to.contain(`filters.field3.relative-duration=tomorrow`)\n })\n\n checkSelectedFilterValues({ length: 2, buttonValues: [{ key: 'Field 3', value: 'Tomorrow' }] })\n })\n })\n\n describe('Multiselect', () => {\n it('should apply the multiselect values', () => {\n cy.findByRole('checkbox', { name: 'Value 8.2' }).should('be.checked')\n cy.findByRole('checkbox', { name: 'Value 8.3' }).should('be.checked')\n\n removeAllFilters()\n\n cy.findByRole('checkbox', { name: 'Value 8.1' }).should('not.be.checked')\n cy.findByRole('checkbox', { name: 'Value 8.2' }).should('not.be.checked')\n cy.findByRole('checkbox', { name: 'Value 8.3' }).should('not.be.checked')\n cy.findByRole('checkbox', { name: 'Value 8.4' }).should('not.be.checked')\n\n showFilters()\n\n cy.findByRole('checkbox', { name: 'Value 8.1' }).check()\n cy.findByRole('checkbox', { name: 'Value 8.3' }).check()\n\n applyFilters()\n\n cy.findByRole('checkbox', { name: 'Value 8.1' }).should('be.checked')\n cy.findByRole('checkbox', { name: 'Value 8.2' }).should('not.be.checked')\n cy.findByRole('checkbox', { name: 'Value 8.3' }).should('be.checked')\n cy.findByRole('checkbox', { name: 'Value 8.4' }).should('not.be.checked')\n\n checkSelectedFilterValues({ length: 2, buttonValues: [{ key: 'Field 8', value: 'Value 8.1, Value 8.3' }] })\n })\n\n it('should set the selected filter values correctly', () => {\n cy.findByRole('checkbox', { name: 'Value 8.2' }).should('be.checked')\n cy.findByRole('checkbox', { name: 'Value 8.3' }).should('be.checked')\n\n removeAllFilters()\n\n cy.findByRole('checkbox', { name: 'Value 8.1' }).should('not.be.checked')\n cy.findByRole('checkbox', { name: 'Value 8.2' }).should('not.be.checked')\n cy.findByRole('checkbox', { name: 'Value 8.3' }).should('not.be.checked')\n cy.findByRole('checkbox', { name: 'Value 8.4' }).should('not.be.checked')\n\n showFilters()\n\n cy.findByRole('checkbox', { name: 'Value 8.1' }).check()\n cy.findByRole('checkbox', { name: 'Value 8.2' }).check()\n cy.findByRole('checkbox', { name: 'Value 8.3' }).check()\n cy.findByRole('checkbox', { name: 'Value 8.4' }).check()\n\n applyFilters()\n\n cy.findByRole('checkbox', { name: 'Value 8.1' }).should('be.checked')\n cy.findByRole('checkbox', { name: 'Value 8.2' }).should('be.checked')\n cy.findByRole('checkbox', { name: 'Value 8.3' }).should('be.checked')\n cy.findByRole('checkbox', { name: 'Value 8.4' }).should('be.checked')\n\n checkSelectedFilterValues({\n length: 2,\n buttonValues: [{ key: 'Field 8', value: 'Value 8.1, Value 8.2, Value 8.3 + 1 more' }],\n })\n })\n\n it('should set the values correctly when only one checkbox selected', () => {\n removeAllFilters()\n\n cy.findByRole('checkbox', { name: 'Value 8.1' }).should('not.be.checked')\n cy.findByRole('checkbox', { name: 'Value 8.2' }).should('not.be.checked')\n cy.findByRole('checkbox', { name: 'Value 8.3' }).should('not.be.checked')\n cy.findByRole('checkbox', { name: 'Value 8.4' }).should('not.be.checked')\n\n showFilters()\n\n cy.findByRole('checkbox', { name: 'Value 8.1' }).check()\n\n applyFilters()\n\n cy.findByRole('checkbox', { name: 'Value 8.1' }).should('be.checked')\n cy.findByRole('checkbox', { name: 'Value 8.2' }).should('not.be.checked')\n cy.findByRole('checkbox', { name: 'Value 8.3' }).should('not.be.checked')\n cy.findByRole('checkbox', { name: 'Value 8.4' }).should('not.be.checked')\n\n checkSelectedFilterValues({\n length: 2,\n buttonValues: [{ key: 'Field 8', value: 'Value 8.1' }],\n })\n })\n })\n\n it('Applying filters should persist current applied columns', () => {\n cy.findAllByRole('group')\n .contains(/Show columns/)\n .should('be.visible')\n .click()\n\n cy.findByRole('checkbox', { name: 'Field 1' }).uncheck()\n cy.findByRole('checkbox', { name: 'Field 3' }).uncheck()\n cy.findByRole('checkbox', { name: 'Field 5' }).check()\n cy.findByRole('checkbox', { name: 'Field 7' }).uncheck()\n cy.findByRole('checkbox', { name: 'Field 8' }).check()\n\n cy.findByRole('button', { name: 'Apply columns' }).click()\n cy.findAllByRole('group').contains('Show columns (4 of 8 shown)')\n\n showFilters()\n cy.findByRole('checkbox', { name: 'Value 8.1' }).check()\n cy.findByRole('checkbox', { name: 'Value 8.3' }).check()\n applyFilters()\n\n cy.findAllByRole('group').contains('Show columns (4 of 8 shown)')\n })\n })\n\n describe('User defined interactive defaults', () => {\n const saveDefaultsButton = () => {\n return cy.findByRole('button', { name: 'Save current filter values as defaults' })\n }\n const updateDefaultsButton = () => {\n return cy.findByRole('button', { name: 'Update defaults' })\n }\n const deleteDefaultsButton = () => {\n return cy.findByRole('button', { name: 'Delete defaults' })\n }\n\n const checkSelectedFiltersInUserReports = ({\n name,\n product,\n length,\n selectedFilters,\n }: {\n name: string\n product: string\n length: number\n selectedFilters: { key: string; value: string }[]\n }) => {\n cy.findByLabelText(/Viewed \\(/).within(() => {\n cy.findByRole('row', {\n name: (_, element) => {\n return Boolean(element.textContent?.includes(name)) && Boolean(element.textContent?.includes(product))\n },\n }).within(() => {\n cy.findAllByRole('listitem')\n .should('have.length', length)\n .each((li, index) => {\n if (selectedFilters[index]) {\n const { key, value } = selectedFilters[index]\n cy.wrap(li).contains(key)\n cy.wrap(li).contains(value)\n }\n })\n })\n })\n }\n\n it('should save the interactive filters correctly', () => {\n // request the report\n requestReport({ name: 'Interactive Report', description: 'this is an interactive report', path })\n\n // check the default filters\n checkSelectedFilterValues({\n length: 5,\n buttonValues: [\n { key: 'Field 1', value: 'Value 1.2' },\n { key: 'Field 3', value: '01/02/2003 - 04/05/2006' },\n { key: 'Field 7', value: '01/02/2005' },\n { key: 'Field 8', value: 'Value 8.2, Value 8.3' },\n ],\n })\n\n // update the filters\n showFilters()\n cy.findByRole('checkbox', { name: 'Value 8.1' }).check()\n cy.findByRole('checkbox', { name: 'Value 8.4' }).check()\n cy.findByRole('combobox', { name: 'Field 2' }).select('value2.2')\n applyFilters()\n\n const selectedFiltersButtonValues = [\n { key: 'Field 1', value: 'Value 1.2' },\n { key: 'Field 2', value: 'Value 2.2' },\n { key: 'Field 3', value: '01/02/2003 - 04/05/2006' },\n { key: 'Field 7', value: '01/02/2005' },\n { key: 'Field 8', value: 'Value 8.1, Value 8.2, Value 8.3 + 1 more' },\n ]\n checkSelectedFilterValues({\n length: 6,\n buttonValues: selectedFiltersButtonValues,\n })\n\n // save the filters\n saveDefaultsButton().click()\n\n // check for saved page furniture\n updateDefaultsButton().should('exist')\n deleteDefaultsButton().should('exist')\n\n // check the selected filters\n checkSelectedFilterValues({\n length: 6,\n buttonValues: selectedFiltersButtonValues,\n })\n })\n\n it('should init the report with saved interactive defaults', () => {\n // request the report\n requestReport({ name: 'Interactive Report', description: 'this is an interactive report', path })\n cy.url().then((url) => {\n viewReportUrl = url\n })\n\n // check saved defaults page furniture\n updateDefaultsButton().should('exist')\n deleteDefaultsButton().should('exist')\n\n const selectedFiltersButtonValues = [\n { key: 'Field 1', value: 'Value 1.2' },\n { key: 'Field 2', value: 'Value 2.2' },\n { key: 'Field 3', value: '01/02/2003 - 04/05/2006' },\n { key: 'Field 7', value: '01/02/2005' },\n { key: 'Field 8', value: 'Value 8.1, Value 8.2, Value 8.3 + 1 more' },\n ]\n checkSelectedFilterValues({\n length: 6,\n buttonValues: selectedFiltersButtonValues,\n })\n\n cy.visit(path)\n cy.findByRole('tab', { name: /Viewed/ }).click()\n checkSelectedFiltersInUserReports({\n name: 'Interactive Report',\n product: 'Interactive Report',\n length: 5,\n selectedFilters: selectedFiltersButtonValues,\n })\n })\n\n it('should reset the filter values to the saved defaults', () => {\n cy.visit(viewReportUrl)\n\n // check saved defaults page furniture\n updateDefaultsButton().should('exist')\n deleteDefaultsButton().should('exist')\n\n const savedDefaultSelectedFilters = [\n { key: 'Field 1', value: 'Value 1.2' },\n { key: 'Field 2', value: 'Value 2.2' },\n { key: 'Field 3', value: '01/02/2003 - 04/05/2006' },\n { key: 'Field 7', value: '01/02/2005' },\n { key: 'Field 8', value: 'Value 8.1, Value 8.2, Value 8.3 + 1 more' },\n ]\n checkSelectedFilterValues({\n length: 6,\n buttonValues: savedDefaultSelectedFilters,\n })\n\n // apply some filters\n showFilters()\n cy.findByRole('checkbox', { name: 'Value 8.1' }).uncheck()\n cy.findByRole('checkbox', { name: 'Value 8.3' }).uncheck()\n cy.findByRole('combobox', { name: 'Field 2' }).select('value2.3')\n applyFilters()\n\n checkSelectedFilterValues({\n length: 6,\n buttonValues: [\n { key: 'Field 1', value: 'Value 1.2' },\n { key: 'Field 2', value: 'Value 2.3' },\n { key: 'Field 3', value: '01/02/2003 - 04/05/2006' },\n { key: 'Field 7', value: '01/02/2005' },\n { key: 'Field 8', value: 'Value 8.4' },\n ],\n })\n\n cy.visit(path)\n cy.findByRole('tab', { name: /Viewed/ }).click()\n checkSelectedFiltersInUserReports({\n name: 'Interactive Report',\n product: 'Interactive Report',\n length: 5,\n selectedFilters: [\n { key: 'Field 1', value: 'Value 1.2' },\n { key: 'Field 2', value: 'Value 2.3' },\n { key: 'Field 3', value: '01/02/2003 - 04/05/2006' },\n { key: 'Field 7', value: '01/02/2005' },\n { key: 'Field 8', value: 'Value 8.4' },\n ],\n })\n\n cy.visit(viewReportUrl)\n\n cy.findByRole('link', { name: 'Reset filters' }).click()\n\n checkSelectedFilterValues({\n length: 6,\n buttonValues: savedDefaultSelectedFilters,\n })\n\n cy.visit(path)\n cy.findByRole('tab', { name: /Viewed/ }).click()\n checkSelectedFiltersInUserReports({\n name: 'Interactive Report',\n product: 'Interactive Report',\n length: 5,\n selectedFilters: savedDefaultSelectedFilters,\n })\n })\n\n it('should update the filter values and init the report with the updated interactive defaults', () => {\n cy.visit(viewReportUrl)\n\n // check saved defaults page furniture\n updateDefaultsButton().should('exist')\n deleteDefaultsButton().should('exist')\n\n checkSelectedFilterValues({\n length: 6,\n buttonValues: [\n { key: 'Field 1', value: 'Value 1.2' },\n { key: 'Field 2', value: 'Value 2.2' },\n { key: 'Field 3', value: '01/02/2003 - 04/05/2006' },\n { key: 'Field 7', value: '01/02/2005' },\n { key: 'Field 8', value: 'Value 8.1, Value 8.2, Value 8.3 + 1 more' },\n ],\n })\n\n // apply some filters\n showFilters()\n cy.findByRole('checkbox', { name: 'Value 8.1' }).uncheck()\n cy.findByRole('checkbox', { name: 'Value 8.3' }).uncheck()\n cy.findByRole('combobox', { name: 'Field 2' }).select('value2.3')\n applyFilters()\n\n const expectedSelectedValues = [\n { key: 'Field 1', value: 'Value 1.2' },\n { key: 'Field 2', value: 'Value 2.3' },\n { key: 'Field 3', value: '01/02/2003 - 04/05/2006' },\n { key: 'Field 7', value: '01/02/2005' },\n { key: 'Field 8', value: 'Value 8.2, Value 8.4' },\n ]\n\n checkSelectedFilterValues({\n length: 6,\n buttonValues: expectedSelectedValues,\n })\n\n updateDefaultsButton().click()\n\n checkSelectedFilterValues({\n length: 6,\n buttonValues: expectedSelectedValues,\n })\n\n requestReport({ name: 'Interactive Report', description: 'this is an interactive report', path })\n cy.url().then((url) => {\n viewReportUrl = url\n })\n\n // check the initial filter values match the default\n checkSelectedFilterValues({\n length: 6,\n buttonValues: expectedSelectedValues,\n })\n\n // check saved defaults page furniture\n updateDefaultsButton().should('exist')\n deleteDefaultsButton().should('exist')\n\n cy.visit(path)\n cy.findByRole('tab', { name: /Viewed/ }).click()\n checkSelectedFiltersInUserReports({\n name: 'Interactive Report',\n product: 'Interactive Report',\n length: 5,\n selectedFilters: expectedSelectedValues,\n })\n })\n\n it('should delete the saved defaults', () => {\n cy.visit(viewReportUrl)\n\n checkSelectedFilterValues({\n length: 6,\n buttonValues: [\n { key: 'Field 1', value: 'Value 1.2' },\n { key: 'Field 2', value: 'Value 2.3' },\n { key: 'Field 3', value: '01/02/2003 - 04/05/2006' },\n { key: 'Field 7', value: '01/02/2005' },\n { key: 'Field 8', value: 'Value 8.2, Value 8.4' },\n ],\n })\n\n deleteDefaultsButton().click()\n\n // Expect DPD defaults to be applied\n checkSelectedFilterValues({\n length: 5,\n buttonValues: [\n { key: 'Field 1', value: 'Value 1.2' },\n { key: 'Field 3', value: '01/02/2003 - 04/05/2006' },\n { key: 'Field 7', value: '01/02/2005' },\n { key: 'Field 8', value: 'Value 8.2, Value 8.3' },\n ],\n })\n\n cy.visit(path)\n cy.findByRole('tab', { name: /Viewed/ }).click()\n checkSelectedFiltersInUserReports({\n name: 'Interactive Report',\n product: 'Interactive Report',\n length: 4,\n selectedFilters: [\n { key: 'Field 1', value: 'Value 1.2' },\n { key: 'Field 3', value: '01/02/2003 - 04/05/2006' },\n { key: 'Field 7', value: '01/02/2005' },\n { key: 'Field 8', value: 'Value 8.2, Value 8.3' },\n ],\n })\n })\n\n describe('Input types', () => {\n describe('Relative date range', () => {\n it('should save the relative daterange', () => {\n // request the report\n requestReport({ name: 'Interactive Report', description: 'this is an interactive report', path })\n\n checkSelectedFilterValues({\n length: 5,\n buttonValues: [\n { key: 'Field 1', value: 'Value 1.2' },\n { key: 'Field 3', value: '01/02/2003 - 04/05/2006' },\n { key: 'Field 7', value: '01/02/2005' },\n { key: 'Field 8', value: 'Value 8.2, Value 8.3' },\n ],\n })\n\n // update the filters\n showFilters()\n cy.findByRole('tab', { name: 'Preset date ranges' }).click()\n cy.findByRole('radio', { name: 'Tomorrow' }).check()\n applyFilters()\n\n const expectedUpdatedSelected = [\n { key: 'Field 1', value: 'Value 1.2' },\n { key: 'Field 3', value: 'Tomorrow' },\n { key: 'Field 7', value: '01/02/2005' },\n { key: 'Field 8', value: 'Value 8.2, Value 8.3' },\n ]\n\n checkSelectedFilterValues({\n length: 5,\n buttonValues: expectedUpdatedSelected,\n })\n\n // save the filters\n saveDefaultsButton().click()\n\n // check for saved page furniture\n updateDefaultsButton().should('exist')\n deleteDefaultsButton().should('exist')\n\n // check the selected filters\n checkSelectedFilterValues({\n length: 5,\n buttonValues: expectedUpdatedSelected,\n })\n\n // request the report to check it defaults to saved\n requestReport({ name: 'Interactive Report', description: 'this is an interactive report', path })\n\n // check the selected filters\n checkSelectedFilterValues({\n length: 5,\n buttonValues: expectedUpdatedSelected,\n })\n\n deleteDefaultsButton().click()\n })\n })\n\n describe('Multiselect', () => {\n it('should save a single multiselect value', () => {\n // request the report\n requestReport({ name: 'Interactive Report', description: 'this is an interactive report', path })\n\n checkSelectedFilterValues({\n length: 5,\n buttonValues: [\n { key: 'Field 1', value: 'Value 1.2' },\n { key: 'Field 3', value: '01/02/2003 - 04/05/2006' },\n { key: 'Field 7', value: '01/02/2005' },\n { key: 'Field 8', value: 'Value 8.2, Value 8.3' },\n ],\n })\n\n // update the filters\n showFilters()\n cy.findByRole('checkbox', { name: 'Value 8.3' }).uncheck()\n applyFilters()\n\n const expectedUpdatedSelected = [\n { key: 'Field 1', value: 'Value 1.2' },\n { key: 'Field 3', value: '01/02/2003 - 04/05/2006' },\n { key: 'Field 7', value: '01/02/2005' },\n { key: 'Field 8', value: 'Value 8.2' },\n ]\n\n checkSelectedFilterValues({\n length: 5,\n buttonValues: expectedUpdatedSelected,\n })\n\n // save the filters\n saveDefaultsButton().click()\n\n // check for saved page furniture\n updateDefaultsButton().should('exist')\n deleteDefaultsButton().should('exist')\n\n // check the selected filters\n checkSelectedFilterValues({\n length: 5,\n buttonValues: expectedUpdatedSelected,\n })\n\n // request the report to check it defaults to saved\n requestReport({ name: 'Interactive Report', description: 'this is an interactive report', path })\n\n // check the selected filters\n checkSelectedFilterValues({\n length: 5,\n buttonValues: expectedUpdatedSelected,\n })\n\n deleteDefaultsButton().click()\n })\n })\n })\n })\n\n describe('Sorting', () => {\n before(() => {\n requestReport({ name: 'Interactive Report', description: 'this is an interactive report', path })\n cy.url().then((url) => {\n viewReportUrl = url\n })\n })\n\n beforeEach(() => {\n cy.visit(viewReportUrl)\n })\n\n it('should show the sort direction in the column header and the url', () => {\n cy.findByRole('link', { name: 'Reset filters' }).click()\n\n // Initial state\n cy.findByRole('link', { name: 'Field 1' }).should('have.class', 'data-table-header-button-sort-ascending')\n cy.findByRole('link', { name: 'Field 2' }).should('have.class', 'data-table-header-button-sort-none')\n\n // Sort desc by field 1\n cy.findByRole('link', { name: 'Field 1' }).click()\n cy.findByRole('link', { name: 'Field 1' }).should('have.class', 'data-table-header-button-sort-descending')\n cy.findByRole('link', { name: 'Field 2' }).should('have.class', 'data-table-header-button-sort-none')\n cy.location().should((location) => {\n expect(location.search).to.contain(`&sortColumn=field1&sortedAsc=false`)\n expect(location.search).to.contain(`filters.field8=value8.2&filters.field8=value8.3`)\n })\n\n // Sort asc by field 1\n cy.findByRole('link', { name: 'Field 1' }).click()\n cy.findByRole('link', { name: 'Field 1' }).should('have.class', 'data-table-header-button-sort-ascending')\n cy.findByRole('link', { name: 'Field 2' }).should('have.class', 'data-table-header-button-sort-none')\n cy.location().should((location) => {\n expect(location.search).to.contain(`&sortColumn=field1&sortedAsc=true`)\n expect(location.search).to.contain(`filters.field8=value8.2&filters.field8=value8.3`)\n })\n\n // Sort asc by field 2\n cy.findByRole('link', { name: 'Field 2' }).click()\n cy.findByRole('link', { name: 'Field 2' }).should('have.class', 'data-table-header-button-sort-ascending')\n cy.findByRole('link', { name: 'Field 1' }).should('have.class', 'data-table-header-button-sort-none')\n cy.location().should((location) => {\n expect(location.search).to.contain(`&sortColumn=field2&sortedAsc=true`)\n expect(location.search).to.contain(`filters.field8=value8.2&filters.field8=value8.3`)\n })\n\n // Sort desc by field 2\n cy.findByRole('link', { name: 'Field 2' }).click()\n cy.findByRole('link', { name: 'Field 2' }).should('have.class', 'data-table-header-button-sort-descending')\n cy.findByRole('link', { name: 'Field 1' }).should('have.class', 'data-table-header-button-sort-none')\n cy.location().should((location) => {\n expect(location.search).to.contain(`&sortColumn=field2&sortedAsc=false`)\n expect(location.search).to.contain(`filters.field8=value8.2&filters.field8=value8.3`)\n })\n })\n })\n })\n})\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["import_cypressUtils", "import_DateMapper", "path", "viewReportUrl", "tableId", "url", "urlArr", "row", "index", "item", "i", "location", "expectInitialisedColumns", "expectUpdatedColumns", "setColumnValues", "head", "applyFilters", "showFilters", "removeAllFilters", "startValue", "endValue", "val", "dateMapper", "DateMapper", "saveDefaultsButton", "updateDefaultsButton", "deleteDefaultsButton", "checkSelectedFiltersInUserReports", "name", "product", "length", "selectedFilters", "_", "element", "li", "key", "value", "selectedFiltersButtonValues", "savedDefaultSelectedFilters", "expectedSelectedValues", "expectedUpdatedSelected"]
|
|
7
7
|
}
|
|
@@ -513,25 +513,27 @@ context('Viewing a report', () => {
|
|
|
513
513
|
|
|
514
514
|
applyFilters()
|
|
515
515
|
|
|
516
|
-
let startValue: string
|
|
517
|
-
let endValue: string
|
|
516
|
+
let startValue: string | number | string[] | undefined
|
|
517
|
+
let endValue: string | number | string[] | undefined
|
|
518
518
|
cy.findByRole('textbox', { name: 'From' })
|
|
519
519
|
.invoke('val')
|
|
520
520
|
.should('not.be.empty')
|
|
521
|
-
.then((val
|
|
521
|
+
.then((val) => {
|
|
522
522
|
startValue = val
|
|
523
523
|
})
|
|
524
524
|
cy.findByRole('textbox', { name: 'To' })
|
|
525
525
|
.invoke('val')
|
|
526
526
|
.should('not.be.empty')
|
|
527
|
-
.then((val
|
|
527
|
+
.then((val) => {
|
|
528
528
|
endValue = val
|
|
529
529
|
})
|
|
530
530
|
|
|
531
531
|
const dateMapper = new DateMapper()
|
|
532
532
|
cy.location().should((location) => {
|
|
533
|
-
expect(location.search).to.contain(
|
|
534
|
-
|
|
533
|
+
expect(location.search).to.contain(
|
|
534
|
+
`filters.field3.start=${dateMapper.toDateString(<string>startValue, 'iso')}`,
|
|
535
|
+
)
|
|
536
|
+
expect(location.search).to.contain(`filters.field3.end=${dateMapper.toDateString(<string>endValue, 'iso')}`)
|
|
535
537
|
expect(location.search).to.contain(`filters.field3.relative-duration=tomorrow`)
|
|
536
538
|
})
|
|
537
539
|
|
|
@@ -672,7 +674,7 @@ context('Viewing a report', () => {
|
|
|
672
674
|
cy.findByLabelText(/Viewed \(/).within(() => {
|
|
673
675
|
cy.findByRole('row', {
|
|
674
676
|
name: (_, element) => {
|
|
675
|
-
return element.textContent
|
|
677
|
+
return Boolean(element.textContent?.includes(name)) && Boolean(element.textContent?.includes(product))
|
|
676
678
|
},
|
|
677
679
|
}).within(() => {
|
|
678
680
|
cy.findAllByRole('listitem')
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var
|
|
1
|
+
"use strict";var r=Object.defineProperty;var s=Object.getOwnPropertyDescriptor;var d=Object.getOwnPropertyNames;var o=Object.prototype.hasOwnProperty;var c=(t,e,a,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of d(e))!o.call(t,n)&&n!==a&&r(t,n,{get:()=>e[n],enumerable:!(i=s(e,n))||i.enumerable});return t};var f=t=>c(r({},"__esModule",{value:!0}),t);var p={};module.exports=f(p);
|
|
2
2
|
//# sourceMappingURL=types.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../../src/dpr/routes/journeys/view-report/async/report/types.ts"],
|
|
4
|
-
"sourcesContent": ["import { components } from '../../../../../types/api'\nimport Dict = NodeJS.Dict\nimport { AsyncReportUrlItemData } from '../../../../../types/UserReports'\n\nexport interface ReportUrls {\n reportUrl: string\n reportSearch?: string\n encodedSearch?: string\n pathname: string\n}\n\nexport interface ExtractedDefinitionData {\n reportName: string\n name: string\n description: string | undefined\n classification: string | undefined\n printable: boolean\n specification: components['schemas']['Specification']\n template: string\n fields: components['schemas']['FieldDefinition'][]\n}\n\nexport interface ExtractedRequestData {\n executionId?: string\n requestedTimestamp?: string\n querySummary: Dict<string>[]\n queryData?: Dict<string | string[]
|
|
5
|
-
"mappings": "
|
|
4
|
+
"sourcesContent": ["import { components } from '../../../../../types/api'\nimport Dict = NodeJS.Dict\nimport { AsyncReportUrlItemData } from '../../../../../types/UserReports'\n\nexport interface ReportUrls {\n reportUrl: string\n reportSearch?: string | undefined\n encodedSearch?: string | undefined\n pathname: string\n}\n\nexport interface ExtractedDefinitionData {\n reportName: string\n name: string\n description: string | undefined\n classification: string | undefined\n printable: boolean\n specification: components['schemas']['Specification']\n template: string\n fields: components['schemas']['FieldDefinition'][]\n}\n\nexport interface ExtractedRequestData {\n executionId?: string | undefined\n requestedTimestamp?: string | undefined\n querySummary: Dict<string>[]\n queryData?: Dict<string | string[]> | undefined\n requestUrl?: AsyncReportUrlItemData | undefined\n defaultQuery?: string | undefined\n dataProductDefinitionsPath?: string | undefined\n}\n"],
|
|
5
|
+
"mappings": "+WAAA,IAAAA,EAAA,kBAAAC,EAAAD",
|
|
6
6
|
"names": ["types_exports", "__toCommonJS"]
|
|
7
7
|
}
|
|
@@ -4,8 +4,8 @@ import { AsyncReportUrlItemData } from '../../../../../types/UserReports'
|
|
|
4
4
|
|
|
5
5
|
export interface ReportUrls {
|
|
6
6
|
reportUrl: string
|
|
7
|
-
reportSearch?: string
|
|
8
|
-
encodedSearch?: string
|
|
7
|
+
reportSearch?: string | undefined
|
|
8
|
+
encodedSearch?: string | undefined
|
|
9
9
|
pathname: string
|
|
10
10
|
}
|
|
11
11
|
|
|
@@ -21,11 +21,11 @@ export interface ExtractedDefinitionData {
|
|
|
21
21
|
}
|
|
22
22
|
|
|
23
23
|
export interface ExtractedRequestData {
|
|
24
|
-
executionId?: string
|
|
25
|
-
requestedTimestamp?: string
|
|
24
|
+
executionId?: string | undefined
|
|
25
|
+
requestedTimestamp?: string | undefined
|
|
26
26
|
querySummary: Dict<string>[]
|
|
27
|
-
queryData?: Dict<string | string[]>
|
|
28
|
-
requestUrl?: AsyncReportUrlItemData
|
|
29
|
-
defaultQuery?: string
|
|
30
|
-
dataProductDefinitionsPath?: string
|
|
27
|
+
queryData?: Dict<string | string[]> | undefined
|
|
28
|
+
requestUrl?: AsyncReportUrlItemData | undefined
|
|
29
|
+
defaultQuery?: string | undefined
|
|
30
|
+
dataProductDefinitionsPath?: string | undefined
|
|
31
31
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var M=Object.create;var b=Object.defineProperty;var G=Object.getOwnPropertyDescriptor;var J=Object.getOwnPropertyNames;var K=Object.getPrototypeOf,X=Object.prototype.hasOwnProperty;var Z=(t,e)=>{for(var o in e)b(t,o,{get:e[o],enumerable:!0})},E=(t,e,o,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let
|
|
1
|
+
"use strict";var M=Object.create;var b=Object.defineProperty;var G=Object.getOwnPropertyDescriptor;var J=Object.getOwnPropertyNames;var K=Object.getPrototypeOf,X=Object.prototype.hasOwnProperty;var Z=(t,e)=>{for(var o in e)b(t,o,{get:e[o],enumerable:!0})},E=(t,e,o,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of J(e))!X.call(t,a)&&a!==o&&b(t,a,{get:()=>e[a],enumerable:!(r=G(e,a))||r.enumerable});return t};var R=(t,e,o)=>(o=t!=null?M(K(t)):{},E(e||!t||!t.__esModule?b(o,"default",{value:t,enumerable:!0}):o,t)),$=t=>E(b({},"__esModule",{value:!0}),t);var ut={};Z(ut,{default:()=>pt,getChildData:()=>Y,getData:()=>O,getSummariesData:()=>W,renderReport:()=>_});module.exports=$(ut);var V=R(require("parseurl")),C=require("../../../../../types/UserReports"),T=R(require("../../../../../types/ReportQuery")),q=require("../../../../../components/_filters/filtersTypeEnum"),x=R(require("../../../../../utils/definitionUtils")),k=R(require("../../../../../components/_reports/report-pagination/utils")),F=R(require("../../../../../components/_reports/report-totals/utils")),v=R(require("../../../../../components/_filters/utils")),Q=R(require("../../../../../components/_reports/report-columns-form/utils")),N=R(require("../../../../../components/_reports/report-actions/utils")),B=R(require("../../../../../components/user-reports/utils")),h=R(require("../../../../../utils/localsHelper")),L=R(require("../../../../../components/_reports/report-data-table/utils")),z=R(require("../../../../../utils/CollatedSummaryBuilder/CollatedSummaryBuilder"));const O=async({res:t,req:e,services:o,token:r,userId:a})=>{const{definitionsPath:i}=h.default.getValues(t),{reportId:n,variantId:l,id:s,tableId:d}=e.params,p=l||s,c=await o.reportingService.getDefinition(r,n,p,i),{variant:u}=c,{specification:m}=u;if(!m)throw new Error("No specification found in variant definition");const f=await o.requestedReportService.getReportByTableId(d,a),g=Q.default.getColumns(m,e),D=await tt(c,g,t,e,o,f),U=await et({definition:c,services:o,token:r,req:e,res:t,reportQuery:D}),{summaries:w}=c.variant,S=w?await W(w,o,r,e,t):[],{childVariants:I}=c.variant,P=I?await Y(I,o,r,e,t,f):[];return{definition:c,requestData:f,reportData:U,summariesData:S,childData:P,reportQuery:D,columns:g}},tt=async(t,e,o,r,a,i)=>{const{definitionsPath:n}=h.default.getValues(o),l=x.default.getFields(t),s=x.default.getTemplate(t),d=await v.default.getFilters({fields:l,req:r,filtersType:q.FiltersType.INTERACTIVE,res:o,services:a}),p=r.query?.sortColumn||i?.query?.data?.sortColumn,c=r.query?.sortedAsc||i?.query?.data?.sortedAsc,u=r.query?.selectedPage,m=r.query?.pageSize,y=v.default.setRequestQueryFromFilterValues(d.filters),f={...p&&{sortColumn:p},...c&&{sortedAsc:c},...y,...m&&{pageSize:m},...u&&{pageSize:m},...e&&{columns:e.value}};return new T.default({fields:l,template:s,queryParams:f,definitionsPath:n})},et=async t=>{const{services:e,token:o,req:r,reportQuery:a}=t,{reportId:i,variantId:n,id:l,tableId:s}=r.params,d=n||l;return e.reportingService.getAsyncReport(o,i,d,s,a.toRecordWithFilterPrefix(!0))},W=async(t,e,o,r,a)=>{const{reportId:i,variantId:n,id:l,tableId:s}=r.params,{definitionsPath:d}=h.default.getValues(a),p=n||l;return Promise.all(t.map(async c=>{const u=await e.reportingService.getAsyncSummaryReport(o,i,p,s,c.id,{dataProductDefinitionsPath:d});return{...c,data:u}}))},Y=async(t,e,o,r,a,i)=>{const{definitionsPath:n}=h.default.getValues(a),{reportId:l}=r.params,s=i?.childExecutionData;if(!s)throw new Error("getChildData: No execution data found for child variants");return Promise.all(t.map(async d=>{const{specification:p}=d;if(!p)throw new Error("getChildData: No specification found in child variant definition");const c=new T.default({fields:p?.fields||[],template:p.template,queryParams:r.query,definitionsPath:n}).toRecordWithFilterPrefix(!0),u=s.find(f=>f.variantId===d.id);if(!u||!u.tableId)throw new Error("getChildData: No matching child execution data found");const{tableId:m}=u,y=await e.reportingService.getAsyncReport(o,l,d.id,m,c);return{id:d.id,data:y}}))},_=async({req:t,res:e,services:o})=>{const{token:r,dprUser:a}=h.default.getValues(e),{definition:i,requestData:n,reportData:l,childData:s,summariesData:d,reportQuery:p,columns:c}=await O({req:t,res:e,services:o,token:r,userId:a.id}),u=L.default.createDataTable(i,c,l,s,d,p),m=await ot(t,e,o,i,d,u,c,p,n),y={...m,dataTable:u};return n&&Object.keys(n).length&&B.default.updateLastViewed({req:t,services:o,reportStateData:n,userId:a.id,filters:m.filterData.filters}),{renderData:y}},ot=async(t,e,o,r,a,i,n,l,s)=>{const{nestedBaseUrl:d}=h.default.getValues(e),p=(0,V.default)(t);if(!p)throw new Error("Unable to set url data from request");const c=p?at(p,t):void 0,u=ct(r),{fields:m,specification:y}=u,f=s?lt(s):void 0,g=await st(r,o,e,t,l),D=await v.default.getFilters({fields:m,req:t,res:e,services:o,filtersType:q.FiltersType.INTERACTIVE}),U=await it(o,e,t,n,u,f,c),w=nt(e,t);let S;a.length&&(S=new z.default(y,a).collatePageSummaries());let I,P;if(u.template==="list"){I=k.default.getPaginationData(p,g,t);const{pageSize:A,currentPage:j,totalRows:H}=I;P=F.default.getTotals(A,j,H,i[0].rowCount)}return{...rt(y)&&{columns:n},filterData:D,count:g,nestedBaseUrl:d,...w,...U,...u,...f,...c,...I&&{pagination:I},...P&&{totals:P},...S&&{reportSummaries:S}}},rt=t=>{const{template:e}=t;return!["row-section","row-section-child","summary","summary-section"].includes(e)},nt=(t,e)=>{const{csrfToken:o}=h.default.getValues(t),{tableId:r,reportId:a,id:i}=e.params;return{csrfToken:o,loadType:C.LoadType.ASYNC,type:C.ReportType.REPORT,tableId:r,reportId:a,id:i}},at=(t,e)=>{const{search:o}=t,r=o?encodeURIComponent(o):void 0,a=o?e.originalUrl.split(o)[0]:e.originalUrl;return{reportUrl:a.replace("/download-disabled","").replace("/download-disabled?",""),reportSearch:o||void 0,encodedSearch:r,pathname:a}},it=async(t,e,o,r,a,i,n)=>{const{csrfToken:l,dprUser:s,bookmarkingEnabled:d,downloadingEnabled:p}=h.default.getValues(e),{reportId:c,id:u}=o.params,{downloadPermissionService:m,bookmarkService:y}=t;let f=!1;p&&(f=await m.downloadEnabledForReport(s.id,c,u));let g;return d&&(g=await y.isBookmarked(u,c,s.id)),{actions:dt(l,r,f,e,o,a,i,n),canDownload:f,bookmarked:g}},st=async(t,e,o,r,a)=>{const{token:i}=h.default.getValues(o),{tableId:n,reportId:l,id:s}=r.params;return t.variant.interactive?e.reportingService.getAsyncInteractiveCount(i,n,l,s,a):e.reportingService.getAsyncCount(i,n)},ct=t=>{const{variant:e,name:o,description:r}=t,{classification:a,printable:i,specification:n,name:l,description:s}=e;if(!n)throw new Error("No specification found in variant definition");const{template:d,fields:p}=n;return{reportName:o,name:l,description:s||r,classification:a,printable:!!i,specification:n,template:d,fields:p}},lt=t=>{const{query:e,url:o,timestamp:r}=t;return{executionId:t.executionId,requestedTimestamp:r.requested?new Date(r.requested).toLocaleString():void 0,querySummary:e?.summary||[],queryData:e?.data,requestUrl:o?.request,defaultQuery:o?.report?.default,dataProductDefinitionsPath:t.dataProductDefinitionsPath}},dt=(t,e,o,r,a,i,n,l)=>{const{reportName:s,name:d,printable:p}=i,{tableId:c,id:u,reportId:m}=a.params,{nestedBaseUrl:y,definitionsPath:f,downloadingEnabled:g}=h.default.getValues(r);let D;l&&g&&(D={enabled:g,name:d,reportName:s,csrfToken:t,reportId:m,id:u,tableId:c,columns:e.value,definitionPath:f,loadType:C.LoadType.ASYNC,nestedBaseUrl:y,canDownload:o,currentUrl:l.pathname,currentQueryParams:l.reportSearch,...n?.queryData&&{sortColumn:n.queryData.sortColumn,sortedAsc:n.queryData.sortedAsc}});let U,w;n?.requestUrl?.fullUrl&&(U={reportName:s,name:d,url:n.requestUrl.fullUrl},w={url:n.requestUrl.fullUrl});let S;return n?.executionId&&n?.requestUrl?.fullUrl&&(S={url:n.requestUrl.fullUrl,executionId:n.executionId}),N.default.getActions({...D&&{download:D},...U&&{share:U},...S&&{refresh:S},...w&&{copy:w},print:{enabled:p}})};var pt={renderReport:_};0&&(module.exports={getChildData,getData,getSummariesData,renderReport});
|
|
2
2
|
//# sourceMappingURL=utils.js.map
|