@ministryofjustice/hmpps-digital-prison-reporting-frontend 4.26.8 → 4.28.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (484) hide show
  1. package/dpr/assets/app.js.map +2 -2
  2. package/dpr/components/_async/async-filters-form/sortByTemplate.js +60 -1
  3. package/dpr/components/_async/async-filters-form/sortByTemplate.js.map +2 -2
  4. package/dpr/components/_async/async-filters-form/types.d.js +16 -1
  5. package/dpr/components/_async/async-filters-form/types.d.js.map +2 -2
  6. package/dpr/components/_async/async-filters-form/utils.js +180 -1
  7. package/dpr/components/_async/async-filters-form/utils.js.map +2 -2
  8. package/dpr/components/_catalogue/catalogue/types.js +16 -1
  9. package/dpr/components/_catalogue/catalogue/types.js.map +2 -2
  10. package/dpr/components/_catalogue/catalogue/utils.js +83 -1
  11. package/dpr/components/_catalogue/catalogue/utils.js.map +2 -2
  12. package/dpr/components/_catalogue/catalogue-list/utils.js +140 -1
  13. package/dpr/components/_catalogue/catalogue-list/utils.js.map +2 -2
  14. package/dpr/components/_charts/chart/Chart.js +99 -1
  15. package/dpr/components/_charts/chart/Chart.js.map +2 -2
  16. package/dpr/components/_charts/chart/ChartColours.js +61 -1
  17. package/dpr/components/_charts/chart/ChartColours.js.map +2 -2
  18. package/dpr/components/_charts/chart/ChartTimeseries.js +101 -1
  19. package/dpr/components/_charts/chart/ChartTimeseries.js.map +2 -2
  20. package/dpr/components/_charts/chart/bar/BarChart.js +193 -1
  21. package/dpr/components/_charts/chart/bar/BarChart.js.map +2 -2
  22. package/dpr/components/_charts/chart/bar/types.js +16 -1
  23. package/dpr/components/_charts/chart/bar/types.js.map +2 -2
  24. package/dpr/components/_charts/chart/bar/validate.js +73 -1
  25. package/dpr/components/_charts/chart/bar/validate.js.map +2 -2
  26. package/dpr/components/_charts/chart/bar-timeseries/BarTimeseriesChart.js +80 -1
  27. package/dpr/components/_charts/chart/bar-timeseries/BarTimeseriesChart.js.map +2 -2
  28. package/dpr/components/_charts/chart/bar-timeseries/types.js +16 -1
  29. package/dpr/components/_charts/chart/bar-timeseries/types.js.map +2 -2
  30. package/dpr/components/_charts/chart/bar-timeseries/validate.js +48 -1
  31. package/dpr/components/_charts/chart/bar-timeseries/validate.js.map +2 -2
  32. package/dpr/components/_charts/chart/buckets/Buckets.js +194 -1
  33. package/dpr/components/_charts/chart/buckets/Buckets.js.map +2 -2
  34. package/dpr/components/_charts/chart/buckets/types.js +16 -1
  35. package/dpr/components/_charts/chart/buckets/types.js.map +2 -2
  36. package/dpr/components/_charts/chart/buckets/validate.js +40 -1
  37. package/dpr/components/_charts/chart/buckets/validate.js.map +2 -2
  38. package/dpr/components/_charts/chart/chart-config.js +62 -1
  39. package/dpr/components/_charts/chart/chart-config.js.map +2 -2
  40. package/dpr/components/_charts/chart/doughnut/DoughnutChart.js +96 -1
  41. package/dpr/components/_charts/chart/doughnut/DoughnutChart.js.map +2 -2
  42. package/dpr/components/_charts/chart/doughnut/types.js +16 -1
  43. package/dpr/components/_charts/chart/doughnut/types.js.map +2 -2
  44. package/dpr/components/_charts/chart/doughnut/validate.js +48 -1
  45. package/dpr/components/_charts/chart/doughnut/validate.js.map +2 -2
  46. package/dpr/components/_charts/chart/heatmap/HeatmapChart.js +213 -1
  47. package/dpr/components/_charts/chart/heatmap/HeatmapChart.js.map +2 -2
  48. package/dpr/components/_charts/chart/heatmap/types.js +16 -1
  49. package/dpr/components/_charts/chart/heatmap/types.js.map +2 -2
  50. package/dpr/components/_charts/chart/heatmap/validate.js +40 -1
  51. package/dpr/components/_charts/chart/heatmap/validate.js.map +2 -2
  52. package/dpr/components/_charts/chart/line/LineChart.js +107 -1
  53. package/dpr/components/_charts/chart/line/LineChart.js.map +2 -2
  54. package/dpr/components/_charts/chart/line/types.js +16 -1
  55. package/dpr/components/_charts/chart/line/types.js.map +2 -2
  56. package/dpr/components/_charts/chart/line/validate.js +48 -1
  57. package/dpr/components/_charts/chart/line/validate.js.map +2 -2
  58. package/dpr/components/_charts/chart/line-timeseries/LineTimeseriesChart.js +81 -1
  59. package/dpr/components/_charts/chart/line-timeseries/LineTimeseriesChart.js.map +2 -2
  60. package/dpr/components/_charts/chart/line-timeseries/types.js +16 -1
  61. package/dpr/components/_charts/chart/line-timeseries/types.js.map +2 -2
  62. package/dpr/components/_charts/chart/line-timeseries/validate.js +48 -1
  63. package/dpr/components/_charts/chart/line-timeseries/validate.js.map +2 -2
  64. package/dpr/components/_charts/utils.js +240 -1
  65. package/dpr/components/_charts/utils.js.map +2 -2
  66. package/dpr/components/_dashboards/dashboard-list/types.js +16 -1
  67. package/dpr/components/_dashboards/dashboard-list/types.js.map +2 -2
  68. package/dpr/components/_dashboards/dashboard-list/utils.js +170 -1
  69. package/dpr/components/_dashboards/dashboard-list/utils.js.map +2 -2
  70. package/dpr/components/_dashboards/dashboard-list/validate.js +43 -1
  71. package/dpr/components/_dashboards/dashboard-list/validate.js.map +2 -2
  72. package/dpr/components/_dashboards/dashboard-visualisation/Validate.js +95 -1
  73. package/dpr/components/_dashboards/dashboard-visualisation/Validate.js.map +2 -2
  74. package/dpr/components/_dashboards/dashboard-visualisation/types.js +40 -1
  75. package/dpr/components/_dashboards/dashboard-visualisation/types.js.map +2 -2
  76. package/dpr/components/_dashboards/scorecard/Scorecard.js +176 -1
  77. package/dpr/components/_dashboards/scorecard/Scorecard.js.map +2 -2
  78. package/dpr/components/_dashboards/scorecard/types.js +16 -1
  79. package/dpr/components/_dashboards/scorecard/types.js.map +2 -2
  80. package/dpr/components/_dashboards/scorecard/utils.js +61 -1
  81. package/dpr/components/_dashboards/scorecard/utils.js.map +2 -2
  82. package/dpr/components/_dashboards/scorecard/validate.js +50 -1
  83. package/dpr/components/_dashboards/scorecard/validate.js.map +2 -2
  84. package/dpr/components/_dashboards/scorecard-group/ScorecardGroup.js +212 -1
  85. package/dpr/components/_dashboards/scorecard-group/ScorecardGroup.js.map +2 -2
  86. package/dpr/components/_dashboards/scorecard-group/types.js +16 -1
  87. package/dpr/components/_dashboards/scorecard-group/types.js.map +2 -2
  88. package/dpr/components/_dashboards/scorecard-group/validate.js +50 -1
  89. package/dpr/components/_dashboards/scorecard-group/validate.js.map +2 -2
  90. package/dpr/components/_filters/filter-input/enum.js +38 -1
  91. package/dpr/components/_filters/filter-input/enum.js.map +2 -2
  92. package/dpr/components/_filters/filter-input/filters.js +37 -1
  93. package/dpr/components/_filters/filter-input/filters.js.map +2 -2
  94. package/dpr/components/_filters/filter-input/types.d.js +16 -1
  95. package/dpr/components/_filters/filter-input/types.d.js.map +2 -2
  96. package/dpr/components/_filters/filters-selected/utils.js +314 -1
  97. package/dpr/components/_filters/filters-selected/utils.js.map +2 -2
  98. package/dpr/components/_filters/filtersTypeEnum.js +32 -1
  99. package/dpr/components/_filters/filtersTypeEnum.js.map +2 -2
  100. package/dpr/components/_filters/types.d.js +16 -1
  101. package/dpr/components/_filters/types.d.js.map +2 -2
  102. package/dpr/components/_filters/utils.js +385 -1
  103. package/dpr/components/_filters/utils.js.map +2 -2
  104. package/dpr/components/_inputs/autocomplete-text-input/utils.js +45 -1
  105. package/dpr/components/_inputs/autocomplete-text-input/utils.js.map +2 -2
  106. package/dpr/components/_inputs/date-input/utils.js +88 -1
  107. package/dpr/components/_inputs/date-input/utils.js.map +2 -2
  108. package/dpr/components/_inputs/date-range/types.js +38 -1
  109. package/dpr/components/_inputs/date-range/types.js.map +2 -2
  110. package/dpr/components/_inputs/date-range/utils.js +229 -1
  111. package/dpr/components/_inputs/date-range/utils.js.map +2 -2
  112. package/dpr/components/_inputs/granular-date-range/types.js +70 -1
  113. package/dpr/components/_inputs/granular-date-range/types.js.map +2 -2
  114. package/dpr/components/_inputs/granular-date-range/utils.js +445 -1
  115. package/dpr/components/_inputs/granular-date-range/utils.js.map +2 -2
  116. package/dpr/components/_inputs/multi-select/utils.js +88 -1
  117. package/dpr/components/_inputs/multi-select/utils.js.map +2 -2
  118. package/dpr/components/_inputs/start-end-date/utils.js +84 -1
  119. package/dpr/components/_inputs/start-end-date/utils.js.map +2 -2
  120. package/dpr/components/_reports/report-actions/actionsTemplate.js +59 -1
  121. package/dpr/components/_reports/report-actions/actionsTemplate.js.map +2 -2
  122. package/dpr/components/_reports/report-actions/types.d.js +16 -1
  123. package/dpr/components/_reports/report-actions/types.d.js.map +2 -2
  124. package/dpr/components/_reports/report-actions/utils.js +97 -1
  125. package/dpr/components/_reports/report-actions/utils.js.map +2 -2
  126. package/dpr/components/_reports/report-columns-form/types.d.js +16 -1
  127. package/dpr/components/_reports/report-columns-form/types.d.js.map +2 -2
  128. package/dpr/components/_reports/report-columns-form/utils.js +65 -1
  129. package/dpr/components/_reports/report-columns-form/utils.js.map +2 -2
  130. package/dpr/components/_reports/report-data-table/types.d.js +16 -1
  131. package/dpr/components/_reports/report-data-table/types.d.js.map +2 -2
  132. package/dpr/components/_reports/report-data-table/utils.js +122 -1
  133. package/dpr/components/_reports/report-data-table/utils.js.map +2 -2
  134. package/dpr/components/_reports/report-pagination/types.d.js +16 -1
  135. package/dpr/components/_reports/report-pagination/types.d.js.map +2 -2
  136. package/dpr/components/_reports/report-pagination/utils.js +105 -1
  137. package/dpr/components/_reports/report-pagination/utils.js.map +2 -2
  138. package/dpr/components/_reports/report-totals/utils.js +42 -1
  139. package/dpr/components/_reports/report-totals/utils.js.map +2 -2
  140. package/dpr/components/card-group/utils.js +57 -1
  141. package/dpr/components/card-group/utils.js.map +2 -2
  142. package/dpr/components/report-list/defaultTokenProvider.js +36 -1
  143. package/dpr/components/report-list/defaultTokenProvider.js.map +2 -2
  144. package/dpr/components/report-list/types.d.js +16 -1
  145. package/dpr/components/report-list/types.d.js.map +2 -2
  146. package/dpr/components/report-list/utils.js +238 -1
  147. package/dpr/components/report-list/utils.js.map +2 -2
  148. package/dpr/components/show-more/utils.js +38 -3
  149. package/dpr/components/show-more/utils.js.map +2 -2
  150. package/dpr/components/user-reports/bookmarks/utils.js +198 -1
  151. package/dpr/components/user-reports/bookmarks/utils.js.map +2 -2
  152. package/dpr/components/user-reports/requested/utils.js +65 -1
  153. package/dpr/components/user-reports/requested/utils.js.map +2 -2
  154. package/dpr/components/user-reports/types.d.js +16 -1
  155. package/dpr/components/user-reports/types.d.js.map +2 -2
  156. package/dpr/components/user-reports/utils.js +365 -1
  157. package/dpr/components/user-reports/utils.js.map +2 -2
  158. package/dpr/components/user-reports/viewed/utils.js +37 -1
  159. package/dpr/components/user-reports/viewed/utils.js.map +2 -2
  160. package/dpr/data/agentConfig.js +35 -1
  161. package/dpr/data/agentConfig.js.map +2 -2
  162. package/dpr/data/dashboardClient.js +108 -1
  163. package/dpr/data/dashboardClient.js.map +2 -2
  164. package/dpr/data/dprReportingClient.js +55 -1
  165. package/dpr/data/dprReportingClient.js.map +2 -2
  166. package/dpr/data/missingReportClient.js +55 -1
  167. package/dpr/data/missingReportClient.js.map +2 -2
  168. package/dpr/data/productCollectionClient.js +58 -1
  169. package/dpr/data/productCollectionClient.js.map +2 -2
  170. package/dpr/data/reportDataStore.js +77 -1
  171. package/dpr/data/reportDataStore.js.map +2 -2
  172. package/dpr/data/reportingClient.js +173 -1
  173. package/dpr/data/reportingClient.js.map +2 -2
  174. package/dpr/data/restClient.js +143 -1
  175. package/dpr/data/restClient.js.map +2 -2
  176. package/dpr/data/types.d.js +16 -1
  177. package/dpr/data/types.d.js.map +2 -2
  178. package/dpr/middleware/reportAuthoriser.js +63 -1
  179. package/dpr/middleware/reportAuthoriser.js.map +2 -2
  180. package/dpr/middleware/setUpDprResources.js +173 -1
  181. package/dpr/middleware/setUpDprResources.js.map +3 -3
  182. package/dpr/middleware/setUpDprResources.ts +3 -1
  183. package/dpr/middleware/setUpNestedRoute.js +35 -1
  184. package/dpr/middleware/setUpNestedRoute.js.map +2 -2
  185. package/dpr/routes/index.js +50 -1
  186. package/dpr/routes/index.js.map +2 -2
  187. package/dpr/routes/journeys/api-failures.cy.js +295 -1
  188. package/dpr/routes/journeys/api-failures.cy.js.map +2 -2
  189. package/dpr/routes/journeys/download-report/controller.js +65 -1
  190. package/dpr/routes/journeys/download-report/controller.js.map +2 -2
  191. package/dpr/routes/journeys/download-report/request-download/form/controller.js +98 -1
  192. package/dpr/routes/journeys/download-report/request-download/form/controller.js.map +3 -3
  193. package/dpr/routes/journeys/download-report/request-download/form/controller.ts +1 -1
  194. package/dpr/routes/journeys/download-report/request-download/form/routes.js +50 -1
  195. package/dpr/routes/journeys/download-report/request-download/form/routes.js.map +2 -2
  196. package/dpr/routes/journeys/download-report/request-download/form/submitted/controller.js +68 -1
  197. package/dpr/routes/journeys/download-report/request-download/form/submitted/controller.js.map +2 -2
  198. package/dpr/routes/journeys/download-report/request-download/form/submitted/routes.js +47 -1
  199. package/dpr/routes/journeys/download-report/request-download/form/submitted/routes.js.map +2 -2
  200. package/dpr/routes/journeys/download-report/request-download/form/submitted/tests.cy.js +17 -1
  201. package/dpr/routes/journeys/download-report/request-download/form/submitted/tests.cy.js.map +1 -1
  202. package/dpr/routes/journeys/download-report/request-download/form/tests.cy.js +24 -1
  203. package/dpr/routes/journeys/download-report/request-download/form/tests.cy.js.map +2 -2
  204. package/dpr/routes/journeys/download-report/request-download/routes.js +46 -1
  205. package/dpr/routes/journeys/download-report/request-download/routes.js.map +2 -2
  206. package/dpr/routes/journeys/download-report/request-download/service.js +90 -1
  207. package/dpr/routes/journeys/download-report/request-download/service.js.map +2 -2
  208. package/dpr/routes/journeys/download-report/routes.js +63 -1
  209. package/dpr/routes/journeys/download-report/routes.js.map +2 -2
  210. package/dpr/routes/journeys/download-report/tests.cy.js +104 -1
  211. package/dpr/routes/journeys/download-report/tests.cy.js.map +2 -2
  212. package/dpr/routes/journeys/download-report/utils.js +196 -1
  213. package/dpr/routes/journeys/download-report/utils.js.map +2 -2
  214. package/dpr/routes/journeys/my-reports/bookmarks/controller.js +58 -1
  215. package/dpr/routes/journeys/my-reports/bookmarks/controller.js.map +2 -2
  216. package/dpr/routes/journeys/my-reports/bookmarks/list/controller.js +56 -1
  217. package/dpr/routes/journeys/my-reports/bookmarks/list/controller.js.map +2 -2
  218. package/dpr/routes/journeys/my-reports/bookmarks/list/routes.js +47 -1
  219. package/dpr/routes/journeys/my-reports/bookmarks/list/routes.js.map +2 -2
  220. package/dpr/routes/journeys/my-reports/bookmarks/list/tests.cy.js +32 -1
  221. package/dpr/routes/journeys/my-reports/bookmarks/list/tests.cy.js.map +2 -2
  222. package/dpr/routes/journeys/my-reports/bookmarks/routes.js +49 -1
  223. package/dpr/routes/journeys/my-reports/bookmarks/routes.js.map +2 -2
  224. package/dpr/routes/journeys/my-reports/bookmarks/service.js +123 -4
  225. package/dpr/routes/journeys/my-reports/bookmarks/service.js.map +2 -2
  226. package/dpr/routes/journeys/my-reports/bookmarks/tests.cy.js +448 -1
  227. package/dpr/routes/journeys/my-reports/bookmarks/tests.cy.js.map +2 -2
  228. package/dpr/routes/journeys/my-reports/bookmarks/utils.js +44 -1
  229. package/dpr/routes/journeys/my-reports/bookmarks/utils.js.map +2 -2
  230. package/dpr/routes/journeys/my-reports/recently-viewed/controller.js +53 -1
  231. package/dpr/routes/journeys/my-reports/recently-viewed/controller.js.map +2 -2
  232. package/dpr/routes/journeys/my-reports/recently-viewed/list/controller.js +65 -1
  233. package/dpr/routes/journeys/my-reports/recently-viewed/list/controller.js.map +2 -2
  234. package/dpr/routes/journeys/my-reports/recently-viewed/list/routes.js +47 -1
  235. package/dpr/routes/journeys/my-reports/recently-viewed/list/routes.js.map +2 -2
  236. package/dpr/routes/journeys/my-reports/recently-viewed/list/tests.cy.js +83 -1
  237. package/dpr/routes/journeys/my-reports/recently-viewed/list/tests.cy.js.map +2 -2
  238. package/dpr/routes/journeys/my-reports/recently-viewed/routes.js +49 -1
  239. package/dpr/routes/journeys/my-reports/recently-viewed/routes.js.map +2 -2
  240. package/dpr/routes/journeys/my-reports/recently-viewed/service.js +118 -1
  241. package/dpr/routes/journeys/my-reports/recently-viewed/service.js.map +2 -2
  242. package/dpr/routes/journeys/my-reports/requested-reports/controller.js +52 -1
  243. package/dpr/routes/journeys/my-reports/requested-reports/controller.js.map +2 -2
  244. package/dpr/routes/journeys/my-reports/requested-reports/list/controller.js +65 -1
  245. package/dpr/routes/journeys/my-reports/requested-reports/list/controller.js.map +2 -2
  246. package/dpr/routes/journeys/my-reports/requested-reports/list/routes.js +47 -1
  247. package/dpr/routes/journeys/my-reports/requested-reports/list/routes.js.map +2 -2
  248. package/dpr/routes/journeys/my-reports/requested-reports/list/tests.cy.js +15 -1
  249. package/dpr/routes/journeys/my-reports/requested-reports/list/tests.cy.js.map +2 -2
  250. package/dpr/routes/journeys/my-reports/requested-reports/routes.js +49 -1
  251. package/dpr/routes/journeys/my-reports/requested-reports/routes.js.map +2 -2
  252. package/dpr/routes/journeys/my-reports/requested-reports/service.js +200 -1
  253. package/dpr/routes/journeys/my-reports/requested-reports/service.js.map +2 -2
  254. package/dpr/routes/journeys/my-reports/routes.js +59 -1
  255. package/dpr/routes/journeys/my-reports/routes.js.map +2 -2
  256. package/dpr/routes/journeys/product-collection/routes.js +45 -1
  257. package/dpr/routes/journeys/product-collection/routes.js.map +2 -2
  258. package/dpr/routes/journeys/product-collection/selected/controller.js +55 -1
  259. package/dpr/routes/journeys/product-collection/selected/controller.js.map +2 -2
  260. package/dpr/routes/journeys/product-collection/selected/routes.js +37 -1
  261. package/dpr/routes/journeys/product-collection/selected/routes.js.map +2 -2
  262. package/dpr/routes/journeys/product-collection/selected/tests.cy.js +47 -1
  263. package/dpr/routes/journeys/product-collection/selected/tests.cy.js.map +2 -2
  264. package/dpr/routes/journeys/product-collection/selected/validation.js +41 -1
  265. package/dpr/routes/journeys/product-collection/selected/validation.js.map +2 -2
  266. package/dpr/routes/journeys/request-missing-report/form/controller.js +104 -1
  267. package/dpr/routes/journeys/request-missing-report/form/controller.js.map +3 -3
  268. package/dpr/routes/journeys/request-missing-report/form/controller.ts +6 -3
  269. package/dpr/routes/journeys/request-missing-report/form/routes.js +50 -1
  270. package/dpr/routes/journeys/request-missing-report/form/routes.js.map +2 -2
  271. package/dpr/routes/journeys/request-missing-report/form/tests.cy.js +22 -1
  272. package/dpr/routes/journeys/request-missing-report/form/tests.cy.js.map +2 -2
  273. package/dpr/routes/journeys/request-missing-report/form/validation.js +43 -1
  274. package/dpr/routes/journeys/request-missing-report/form/validation.js.map +2 -2
  275. package/dpr/routes/journeys/request-missing-report/routes.js +57 -1
  276. package/dpr/routes/journeys/request-missing-report/routes.js.map +2 -2
  277. package/dpr/routes/journeys/request-missing-report/submitted/controller.js +65 -1
  278. package/dpr/routes/journeys/request-missing-report/submitted/controller.js.map +3 -3
  279. package/dpr/routes/journeys/request-missing-report/submitted/controller.ts +1 -1
  280. package/dpr/routes/journeys/request-missing-report/submitted/routes.js +47 -1
  281. package/dpr/routes/journeys/request-missing-report/submitted/routes.js.map +2 -2
  282. package/dpr/routes/journeys/request-missing-report/submitted/tests.cy.js +14 -1
  283. package/dpr/routes/journeys/request-missing-report/submitted/tests.cy.js.map +2 -2
  284. package/dpr/routes/journeys/request-missing-report/tests.cy.js +37 -1
  285. package/dpr/routes/journeys/request-missing-report/tests.cy.js.map +2 -2
  286. package/dpr/routes/journeys/request-report/controller.js +79 -1
  287. package/dpr/routes/journeys/request-report/controller.js.map +3 -3
  288. package/dpr/routes/journeys/request-report/controller.ts +3 -1
  289. package/dpr/routes/journeys/request-report/filters/controller.js +127 -1
  290. package/dpr/routes/journeys/request-report/filters/controller.js.map +3 -3
  291. package/dpr/routes/journeys/request-report/filters/controller.ts +3 -3
  292. package/dpr/routes/journeys/request-report/filters/routes.js +50 -1
  293. package/dpr/routes/journeys/request-report/filters/routes.js.map +2 -2
  294. package/dpr/routes/journeys/request-report/filters/tests.cy.js +451 -1
  295. package/dpr/routes/journeys/request-report/filters/tests.cy.js.map +2 -2
  296. package/dpr/routes/journeys/request-report/filters/utils.js +331 -1
  297. package/dpr/routes/journeys/request-report/filters/utils.js.map +2 -2
  298. package/dpr/routes/journeys/request-report/routes.js +100 -1
  299. package/dpr/routes/journeys/request-report/routes.js.map +3 -3
  300. package/dpr/routes/journeys/request-report/routes.ts +2 -0
  301. package/dpr/routes/journeys/request-report/status/controller.js +80 -1
  302. package/dpr/routes/journeys/request-report/status/controller.js.map +3 -3
  303. package/dpr/routes/journeys/request-report/status/controller.ts +1 -1
  304. package/dpr/routes/journeys/request-report/status/routes.js +48 -1
  305. package/dpr/routes/journeys/request-report/status/routes.js.map +2 -2
  306. package/dpr/routes/journeys/request-report/status/tests.cy.js +127 -1
  307. package/dpr/routes/journeys/request-report/status/tests.cy.js.map +2 -2
  308. package/dpr/routes/journeys/request-report/status/utils.js +72 -1
  309. package/dpr/routes/journeys/request-report/status/utils.js.map +2 -2
  310. package/dpr/routes/journeys/request-report/tests.cy.js +307 -1
  311. package/dpr/routes/journeys/request-report/tests.cy.js.map +2 -2
  312. package/dpr/routes/journeys/routes.js +46 -1
  313. package/dpr/routes/journeys/routes.js.map +2 -2
  314. package/dpr/routes/journeys/view-report/async/controller.js +89 -1
  315. package/dpr/routes/journeys/view-report/async/controller.js.map +3 -3
  316. package/dpr/routes/journeys/view-report/async/controller.ts +2 -2
  317. package/dpr/routes/journeys/view-report/async/dashboard/controller.js +82 -1
  318. package/dpr/routes/journeys/view-report/async/dashboard/controller.js.map +3 -3
  319. package/dpr/routes/journeys/view-report/async/dashboard/controller.ts +1 -1
  320. package/dpr/routes/journeys/view-report/async/dashboard/routes.js +48 -1
  321. package/dpr/routes/journeys/view-report/async/dashboard/routes.js.map +2 -2
  322. package/dpr/routes/journeys/view-report/async/dashboard/tests.cy.js +33 -1
  323. package/dpr/routes/journeys/view-report/async/dashboard/tests.cy.js.map +2 -2
  324. package/dpr/routes/journeys/view-report/async/dashboard/utils.js +242 -1
  325. package/dpr/routes/journeys/view-report/async/dashboard/utils.js.map +2 -2
  326. package/dpr/routes/journeys/view-report/async/report/controller.js +83 -1
  327. package/dpr/routes/journeys/view-report/async/report/controller.js.map +3 -3
  328. package/dpr/routes/journeys/view-report/async/report/controller.ts +1 -1
  329. package/dpr/routes/journeys/view-report/async/report/report-variants.cy.js +76 -1
  330. package/dpr/routes/journeys/view-report/async/report/report-variants.cy.js.map +2 -2
  331. package/dpr/routes/journeys/view-report/async/report/routes.js +53 -1
  332. package/dpr/routes/journeys/view-report/async/report/routes.js.map +2 -2
  333. package/dpr/routes/journeys/view-report/async/report/tests.cy.js +895 -1
  334. package/dpr/routes/journeys/view-report/async/report/tests.cy.js.map +2 -2
  335. package/dpr/routes/journeys/view-report/async/report/types.js +16 -1
  336. package/dpr/routes/journeys/view-report/async/report/types.js.map +2 -2
  337. package/dpr/routes/journeys/view-report/async/report/utils.js +427 -1
  338. package/dpr/routes/journeys/view-report/async/report/utils.js.map +2 -2
  339. package/dpr/routes/journeys/view-report/async/routes.js +52 -1
  340. package/dpr/routes/journeys/view-report/async/routes.js.map +2 -2
  341. package/dpr/routes/journeys/view-report/controller.js +62 -1
  342. package/dpr/routes/journeys/view-report/controller.js.map +3 -3
  343. package/dpr/routes/journeys/view-report/controller.ts +7 -4
  344. package/dpr/routes/journeys/view-report/routes.js +87 -1
  345. package/dpr/routes/journeys/view-report/routes.js.map +2 -2
  346. package/dpr/routes/journeys/view-report/sync/dashboard/controller.js +68 -1
  347. package/dpr/routes/journeys/view-report/sync/dashboard/controller.js.map +3 -3
  348. package/dpr/routes/journeys/view-report/sync/dashboard/controller.ts +1 -1
  349. package/dpr/routes/journeys/view-report/sync/dashboard/routes.js +48 -1
  350. package/dpr/routes/journeys/view-report/sync/dashboard/routes.js.map +2 -2
  351. package/dpr/routes/journeys/view-report/sync/dashboard/utils.js +144 -1
  352. package/dpr/routes/journeys/view-report/sync/dashboard/utils.js.map +2 -2
  353. package/dpr/routes/journeys/view-report/sync/load-report/controller.js +102 -1
  354. package/dpr/routes/journeys/view-report/sync/load-report/controller.js.map +3 -3
  355. package/dpr/routes/journeys/view-report/sync/load-report/controller.ts +1 -1
  356. package/dpr/routes/journeys/view-report/sync/load-report/routes.js +47 -1
  357. package/dpr/routes/journeys/view-report/sync/load-report/routes.js.map +2 -2
  358. package/dpr/routes/journeys/view-report/sync/report/controller.js +99 -1
  359. package/dpr/routes/journeys/view-report/sync/report/controller.js.map +3 -3
  360. package/dpr/routes/journeys/view-report/sync/report/controller.ts +3 -3
  361. package/dpr/routes/journeys/view-report/sync/report/routes.js +51 -1
  362. package/dpr/routes/journeys/view-report/sync/report/routes.js.map +2 -2
  363. package/dpr/routes/journeys/view-report/sync/report/utils.js +298 -1
  364. package/dpr/routes/journeys/view-report/sync/report/utils.js.map +2 -2
  365. package/dpr/routes/journeys/view-report/sync/routes.js +51 -1
  366. package/dpr/routes/journeys/view-report/sync/routes.js.map +2 -2
  367. package/dpr/routes/journeys/view-report/sync/tests.cy.js +43 -1
  368. package/dpr/routes/journeys/view-report/sync/tests.cy.js.map +2 -2
  369. package/dpr/routes/journeys/view-report/utils.js +173 -1
  370. package/dpr/routes/journeys/view-report/utils.js.map +2 -2
  371. package/dpr/services/dashboardService.js +66 -1
  372. package/dpr/services/dashboardService.js.map +2 -2
  373. package/dpr/services/defaultFilterValuesService.js +114 -1
  374. package/dpr/services/defaultFilterValuesService.js.map +2 -2
  375. package/dpr/services/featureFlagService.js +65 -1
  376. package/dpr/services/featureFlagService.js.map +2 -2
  377. package/dpr/services/featureFlags.cy.js +72 -1
  378. package/dpr/services/featureFlags.cy.js.map +2 -2
  379. package/dpr/services/index.js +59 -1
  380. package/dpr/services/index.js.map +2 -2
  381. package/dpr/services/missingReport/missingReportService.js +52 -1
  382. package/dpr/services/missingReport/missingReportService.js.map +2 -2
  383. package/dpr/services/productCollection/productCollectionService.js +55 -1
  384. package/dpr/services/productCollection/productCollectionService.js.map +2 -2
  385. package/dpr/services/productCollection/productCollectionStoreService.js +61 -1
  386. package/dpr/services/productCollection/productCollectionStoreService.js.map +2 -2
  387. package/dpr/services/reportStoreService.js +51 -1
  388. package/dpr/services/reportStoreService.js.map +2 -2
  389. package/dpr/services/reportingService.js +81 -1
  390. package/dpr/services/reportingService.js.map +2 -2
  391. package/dpr/setUpNunjucksFilters.js +66 -1
  392. package/dpr/setUpNunjucksFilters.js.map +2 -2
  393. package/dpr/types/AsyncReportUtils.js +16 -1
  394. package/dpr/types/AsyncReportUtils.js.map +2 -2
  395. package/dpr/types/Bookmark.js +16 -1
  396. package/dpr/types/Bookmark.js.map +2 -2
  397. package/dpr/types/Charts.js +16 -1
  398. package/dpr/types/Charts.js.map +2 -2
  399. package/dpr/types/Download.js +16 -1
  400. package/dpr/types/Download.js.map +2 -2
  401. package/dpr/types/DprConfig.js +16 -1
  402. package/dpr/types/DprConfig.js.map +2 -2
  403. package/dpr/types/DprUser.js +43 -1
  404. package/dpr/types/DprUser.js.map +2 -2
  405. package/dpr/types/EmbeddedReportUtils.js +33 -1
  406. package/dpr/types/EmbeddedReportUtils.js.map +2 -2
  407. package/dpr/types/ExecutionData.d.js +16 -1
  408. package/dpr/types/ExecutionData.d.js.map +2 -2
  409. package/dpr/types/Metrics.js +16 -1
  410. package/dpr/types/Metrics.js.map +2 -2
  411. package/dpr/types/ReportQuery.js +168 -1
  412. package/dpr/types/ReportQuery.js.map +2 -2
  413. package/dpr/types/ReportStore.js +16 -1
  414. package/dpr/types/ReportStore.js.map +2 -2
  415. package/dpr/types/Services.d.js +16 -1
  416. package/dpr/types/Services.d.js.map +2 -2
  417. package/dpr/types/Templates.d.js +16 -1
  418. package/dpr/types/Templates.d.js.map +2 -2
  419. package/dpr/types/UserReports.js +55 -1
  420. package/dpr/types/UserReports.js.map +2 -2
  421. package/dpr/types/api.d.js +16 -1
  422. package/dpr/types/api.d.js.map +2 -2
  423. package/dpr/types/index.d.js +16 -1
  424. package/dpr/types/index.d.js.map +2 -2
  425. package/dpr/utils/CollatedSummaryBuilder/CollatedSummaryBuilder.js +91 -1
  426. package/dpr/utils/CollatedSummaryBuilder/CollatedSummaryBuilder.js.map +2 -2
  427. package/dpr/utils/CreateDprServices.js +66 -1
  428. package/dpr/utils/CreateDprServices.js.map +2 -2
  429. package/dpr/utils/DataTableBuilder/DataTableBuilder.js +304 -1
  430. package/dpr/utils/DataTableBuilder/DataTableBuilder.js.map +2 -2
  431. package/dpr/utils/DataTableBuilder/types.d.js +16 -1
  432. package/dpr/utils/DataTableBuilder/types.d.js.map +2 -2
  433. package/dpr/utils/DateMapper/DateMapper.js +125 -1
  434. package/dpr/utils/DateMapper/DateMapper.js.map +2 -2
  435. package/dpr/utils/DateMapper/types.d.js +16 -1
  436. package/dpr/utils/DateMapper/types.d.js.map +2 -2
  437. package/dpr/utils/ErrorHandler.js +94 -1
  438. package/dpr/utils/ErrorHandler.js.map +3 -3
  439. package/dpr/utils/ErrorHandler.ts +1 -1
  440. package/dpr/utils/ParentChildDataTableBuilder/ParentChildDataTableBuilder.js +201 -1
  441. package/dpr/utils/ParentChildDataTableBuilder/ParentChildDataTableBuilder.js.map +2 -2
  442. package/dpr/utils/ParentChildDataTableBuilder/types.d.js +16 -1
  443. package/dpr/utils/ParentChildDataTableBuilder/types.d.js.map +2 -2
  444. package/dpr/utils/Personalisation/personalisationUtils.js +202 -1
  445. package/dpr/utils/Personalisation/personalisationUtils.js.map +2 -2
  446. package/dpr/utils/Personalisation/types.d.js +16 -1
  447. package/dpr/utils/Personalisation/types.d.js.map +2 -2
  448. package/dpr/utils/SectionedDataTableBuilder/SectionedDataTableBuilder.js +310 -1
  449. package/dpr/utils/SectionedDataTableBuilder/SectionedDataTableBuilder.js.map +2 -2
  450. package/dpr/utils/SectionedDataTableBuilder/types.d.js +16 -1
  451. package/dpr/utils/SectionedDataTableBuilder/types.d.js.map +2 -2
  452. package/dpr/utils/SectionedFieldsTableBuilder/SectionedFieldsTableBuilder.js +145 -1
  453. package/dpr/utils/SectionedFieldsTableBuilder/SectionedFieldsTableBuilder.js.map +2 -2
  454. package/dpr/utils/SummaryDataTableBuilder/SummaryDataTableBuilder.js +60 -1
  455. package/dpr/utils/SummaryDataTableBuilder/SummaryDataTableBuilder.js.map +2 -2
  456. package/dpr/utils/UserStoreItemBuilder.js +247 -1
  457. package/dpr/utils/UserStoreItemBuilder.js.map +2 -2
  458. package/dpr/utils/arrayUtils.js +28 -1
  459. package/dpr/utils/arrayUtils.js.map +2 -2
  460. package/dpr/utils/datasetHelper.js +229 -1
  461. package/dpr/utils/datasetHelper.js.map +2 -2
  462. package/dpr/utils/definitionUtils.js +133 -1
  463. package/dpr/utils/definitionUtils.js.map +2 -2
  464. package/dpr/utils/index.js +44 -1
  465. package/dpr/utils/index.js.map +2 -2
  466. package/dpr/utils/indexedAccesHelper.js +41 -1
  467. package/dpr/utils/indexedAccesHelper.js.map +2 -2
  468. package/dpr/utils/localsHelper.js +105 -1
  469. package/dpr/utils/localsHelper.js.map +2 -2
  470. package/dpr/utils/logger.js +48 -1
  471. package/dpr/utils/logger.js.map +2 -2
  472. package/dpr/utils/reportListsHelper.js +128 -12
  473. package/dpr/utils/reportListsHelper.js.map +2 -2
  474. package/dpr/utils/reportStoreHelper.js +65 -1
  475. package/dpr/utils/reportStoreHelper.js.map +2 -2
  476. package/dpr/utils/requestStatusHelper.js +172 -1
  477. package/dpr/utils/requestStatusHelper.js.map +2 -2
  478. package/dpr/utils/sanitisedError.js +45 -1
  479. package/dpr/utils/sanitisedError.js.map +2 -2
  480. package/dpr/utils/urlHelper.js +103 -1
  481. package/dpr/utils/urlHelper.js.map +2 -2
  482. package/dpr/validation/validate.js +52 -1
  483. package/dpr/validation/validate.js.map +2 -2
  484. package/package.json +9 -8
@@ -1,2 +1,896 @@
1
- "use strict";var x=Object.create;var b=Object.defineProperty;var B=Object.getOwnPropertyDescriptor;var v=Object.getOwnPropertyNames;var F=Object.getPrototypeOf,V=Object.prototype.hasOwnProperty;var g=(n,a,s,o)=>{if(a&&typeof a=="object"||typeof a=="function")for(let i of v(a))!V.call(n,i)&&i!==s&&b(n,i,{get:()=>a[i],enumerable:!(o=B(a,i))||o.enumerable});return n};var w=(n,a,s)=>(s=n!=null?x(F(n)):{},g(a||!n||!n.__esModule?b(s,"default",{value:n,enumerable:!0}):s,n));var l=require("../../../../../../../cypress-tests/cypressUtils"),f=w(require("../../../../../utils/DateMapper/DateMapper"));context("Viewing a report",()=>{const n="/embedded/platform/";let a,s;describe("List report page",()=>{before(()=>{(0,l.executeReportStubs)(),cy.task("stubDefinitionRequestExamplesSuccess"),cy.task("stubRequestSuccessResult10"),cy.task("stubRequestSuccessResult20"),cy.task("stubRequestSuccessResult100"),(0,l.requestReport)({name:"Successful Report",description:"this will succeed",path:n}),cy.url().then(o=>{a=o;const i=o.split("/");s=i[i.length-2]})}),beforeEach(()=>{cy.visit(a)}),describe("Report details",()=>{it("should show the report details",()=>{cy.findAllByRole("group").contains("Report details").should("be.visible").click(),cy.findAllByRole("group").contains("Report details").parent().parent().within(()=>{cy.findAllByRole("row").each((o,i)=>{cy.wrap(o).within(()=>{switch(i){case 0:cy.findAllByRole("cell",{name:"Name:"}).should("exist"),cy.findAllByRole("cell",{name:"Successful Report"}).should("exist");break;case 1:cy.findAllByRole("cell",{name:"Product:"}).should("exist"),cy.findAllByRole("cell",{name:"Successful Report"}).should("exist");break;case 2:cy.findAllByRole("cell",{name:"Description:"}).should("exist"),cy.findAllByRole("cell",{name:"this will succeed"}).should("exist");break;case 3:cy.findAllByRole("cell",{name:"Classification:"}).should("exist"),cy.findAllByRole("cell",{name:"OFFICIAL"}).should("exist");break;case 4:cy.findAllByRole("cell",{name:"Requested at:"}).should("exist"),cy.findAllByRole("cell",{name:/\d{1,2}\/\d{1,2}\/\d{2,4}/}).should("exist");break;case 5:cy.findAllByRole("cell",{name:"Applied Filters:"}).should("exist"),cy.findAllByRole("listitem").each((c,e)=>{switch(e){case 0:cy.wrap(c).contains("Field 1: value1.2");break;case 1:cy.wrap(c).contains("Field 3 start: 01/02/2003");break;case 2:cy.wrap(c).contains("Field 3 end: 04/05/2006");break;case 3:cy.wrap(c).contains("Field 7: 01/02/2005");break;case 4:cy.wrap(c).contains("Field 8: value8.2,value8.3");break;case 5:cy.wrap(c).contains("Sort column: Field 1");break;case 6:cy.wrap(c).contains("Sort direction: Descending");break;default:break}});break;default:break}})})})})}),describe("Actions",()=>{it("should show the actions and go to the filters page when refresh action is clicked",()=>{cy.findByLabelText("Refresh report").should("be.visible"),cy.findByLabelText(/download/).should("be.visible"),cy.findByLabelText(/Copy report link/).should("be.visible"),cy.findByRole("button",{name:/Add bookmark/}).should("be.visible"),cy.findByLabelText("Refresh report").should("be.visible").click(),cy.url().should("match",/.*\/embedded\/platform\/dpr\/request-report\/report\/request-examples\/request-example-success\/filters/i),cy.location().should(o=>{expect(o.search).to.contain("filters.field1=value1.2"),expect(o.search).to.contain("filters.field3.start=2003-02-01"),expect(o.search).to.contain("filters.field3.end=2006-05-04"),expect(o.search).to.contain("filters.field7=2005-02-01"),expect(o.search).to.contain("filters.field8=value8.2&filters.field8=value8.3")})})}),describe("Column interactions",()=>{const o=()=>{cy.findByRole("checkbox",{name:"Field 1"}).should("be.checked"),cy.findByRole("checkbox",{name:"Field 2"}).should("be.checked").should("be.disabled"),cy.findByRole("checkbox",{name:"Field 3"}).should("be.checked"),cy.findByRole("checkbox",{name:"Field 4"}).should("not.be.checked"),cy.findByRole("checkbox",{name:"Field 5"}).should("not.be.checked"),cy.findByRole("checkbox",{name:"Field 6"}).should("be.checked").should("be.disabled"),cy.findByRole("checkbox",{name:"Field 7"}).should("be.checked"),cy.findByRole("checkbox",{name:"Field 8"}).should("not.be.checked"),cy.location().should(e=>{expect(e.search).to.contain("columns=field1"),expect(e.search).to.contain("columns=field2"),expect(e.search).to.contain("columns=field3"),expect(e.search).not.to.contain("columns=field4"),expect(e.search).not.to.contain("columns=field5"),expect(e.search).to.contain("columns=field6"),expect(e.search).to.contain("columns=field7"),expect(e.search).not.to.contain("columns=field8")}),cy.findByLabelText(/Successful Report/).within(()=>{cy.findAllByRole("rowgroup").eq(0).within(()=>{cy.findAllByRole("row").eq(1).within(()=>{cy.findAllByRole("columnheader").should("have.length",5)})})})},i=()=>{cy.findByRole("checkbox",{name:"Field 1"}).should("not.be.checked"),cy.findByRole("checkbox",{name:"Field 2"}).should("be.checked").should("be.disabled"),cy.findByRole("checkbox",{name:"Field 3"}).should("not.be.checked"),cy.findByRole("checkbox",{name:"Field 4"}).should("not.be.checked"),cy.findByRole("checkbox",{name:"Field 5"}).should("be.checked"),cy.findByRole("checkbox",{name:"Field 6"}).should("be.checked").should("be.disabled"),cy.findByRole("checkbox",{name:"Field 7"}).should("not.be.checked"),cy.findByRole("checkbox",{name:"Field 8"}).should("be.checked"),cy.location().should(e=>{expect(e.search).not.to.contain("columns=field1"),expect(e.search).to.contain("columns=field2"),expect(e.search).not.to.contain("columns=field3"),expect(e.search).not.to.contain("columns=field4"),expect(e.search).to.contain("columns=field5"),expect(e.search).to.contain("columns=field6"),expect(e.search).not.to.contain("columns=field7"),expect(e.search).to.contain("columns=field8")}),cy.findByLabelText(/Successful Report/).within(()=>{cy.findAllByRole("rowgroup").eq(0).within(()=>{cy.findAllByRole("row").eq(1).within(()=>{cy.findAllByRole("columnheader").should("have.length",4)})})})},c=()=>{cy.findByRole("checkbox",{name:"Field 1"}).uncheck(),cy.findByRole("checkbox",{name:"Field 3"}).uncheck(),cy.findByRole("checkbox",{name:"Field 5"}).check(),cy.findByRole("checkbox",{name:"Field 7"}).uncheck(),cy.findByRole("checkbox",{name:"Field 8"}).check()};it("should initialise the column content correctly",()=>{cy.findAllByRole("group").contains(/Show columns/).should("be.visible").click(),o(),cy.findAllByRole("group").contains("Show columns (5 of 8 shown)"),cy.findByLabelText(/Successful Report/).within(()=>{cy.findAllByRole("rowgroup").eq(0).within(()=>{cy.findAllByRole("columnheader").each((e,d)=>{switch(d){case 0:cy.wrap(e).contains("Field 1");break;case 1:cy.wrap(e).contains("Field 2");break;case 2:cy.wrap(e).contains("Field 3");break;case 3:cy.wrap(e).contains("Field 6");break;case 4:cy.wrap(e).contains("Field 7");break;default:break}})})})}),it("should apply the columns",()=>{cy.findAllByRole("group").contains(/Show columns/).click(),c(),cy.findByRole("button",{name:"Apply columns"}).click(),i(),cy.findByLabelText(/Successful Report/).within(()=>{cy.findAllByRole("rowgroup").eq(0).within(()=>{cy.findAllByRole("columnheader").each((e,d)=>{switch(d){case 0:cy.wrap(e).contains("Field 2");break;case 1:cy.wrap(e).contains("Field 5");break;case 2:cy.wrap(e).contains("Field 6");break;case 3:cy.wrap(e).contains("Field 8");break;default:break}})})})}),it("should reset the columns to their DPD defaults",()=>{cy.findAllByRole("group").contains(/Show columns/).click(),c(),cy.findByRole("button",{name:"Apply columns"}).click(),i(),cy.findAllByRole("group").contains(/Show columns/).click(),cy.findByRole("link",{name:"Reset columns"}).click(),o()}),it("should apply the columns from the URL",()=>{cy.visit(`/embedded/platform/dpr/view-report/async/report/request-examples/request-example-success/${s}/report?columns=field1&columns=field5&columns=field8`),cy.findByRole("checkbox",{name:"Field 1"}).should("be.checked"),cy.findByRole("checkbox",{name:"Field 2"}).should("be.checked").should("be.disabled"),cy.findByRole("checkbox",{name:"Field 3"}).should("not.be.checked"),cy.findByRole("checkbox",{name:"Field 4"}).should("not.be.checked"),cy.findByRole("checkbox",{name:"Field 5"}).should("be.checked"),cy.findByRole("checkbox",{name:"Field 6"}).should("be.checked").should("be.disabled"),cy.findByRole("checkbox",{name:"Field 7"}).should("not.be.checked"),cy.findByRole("checkbox",{name:"Field 8"}).should("be.checked"),cy.findByLabelText(/Successful Report/).within(()=>{cy.findAllByRole("rowgroup").eq(0).within(()=>{cy.findAllByRole("columnheader").each((e,d)=>{switch(d){case 0:cy.wrap(e).contains("Field 1");break;case 1:cy.wrap(e).contains("Field 2");break;case 2:cy.wrap(e).contains("Field 5");break;case 3:cy.wrap(e).contains("Field 6");break;case 4:cy.wrap(e).contains("Field 8");break;default:break}})})})}),it("should only apply mandatory columms",()=>{cy.findAllByRole("group").contains(/Show columns/).click(),cy.findByRole("checkbox",{name:"Field 1"}).uncheck(),cy.findByRole("checkbox",{name:"Field 3"}).uncheck(),cy.findByRole("checkbox",{name:"Field 7"}).uncheck(),cy.findByRole("button",{name:"Apply columns"}).click(),cy.findByRole("checkbox",{name:"Field 1"}).should("not.be.checked"),cy.findByRole("checkbox",{name:"Field 2"}).should("be.checked").should("be.disabled"),cy.findByRole("checkbox",{name:"Field 3"}).should("not.be.checked"),cy.findByRole("checkbox",{name:"Field 4"}).should("not.be.checked"),cy.findByRole("checkbox",{name:"Field 5"}).should("not.be.checked"),cy.findByRole("checkbox",{name:"Field 6"}).should("be.checked").should("be.disabled"),cy.findByRole("checkbox",{name:"Field 7"}).should("not.be.checked"),cy.findByRole("checkbox",{name:"Field 8"}).should("not.be.checked"),cy.location().should(e=>{expect(e.search).not.to.contain("columns=field1"),expect(e.search).to.contain("columns=field2"),expect(e.search).not.to.contain("columns=field3"),expect(e.search).not.to.contain("columns=field4"),expect(e.search).not.to.contain("columns=field5"),expect(e.search).to.contain("columns=field6"),expect(e.search).not.to.contain("columns=field7"),expect(e.search).not.to.contain("columns=field8")}),cy.findByLabelText(/Successful Report/).within(()=>{cy.findAllByRole("rowgroup").eq(0).within(()=>{cy.findAllByRole("row").eq(1).within(()=>{cy.findAllByRole("columnheader").should("have.length",2)})})})})}),describe("Paging interaction",()=>{it("should show the table totals",()=>{cy.findAllByRole("paragraph").contains(/Showing \d{1,4} to \d{1,4} of \d{1,4} results/).should("exist"),cy.findByLabelText(/Successful Report/).within(()=>{cy.findAllByRole("rowgroup").eq(1).within(()=>{cy.findAllByRole("row").should("have.length",20)})})}),it("should change the page size",()=>{cy.get("#page-size-select").select("10"),cy.findAllByRole("paragraph").contains(/Showing 1 to 10 of 100 results/).should("exist"),cy.findByLabelText(/Successful Report/).within(()=>{cy.findAllByRole("rowgroup").eq(1).within(()=>{cy.findAllByRole("row").should("have.length",10)})})}),it("should change the page size via the URL",()=>{cy.visit(`/embedded/platform/dpr/view-report/async/report/request-examples/request-example-success/${s}/report?pageSize=100`),cy.findAllByRole("paragraph").contains(/100 total results/).should("exist"),cy.findByLabelText(/Successful Report/).within(()=>{cy.findAllByRole("rowgroup").eq(1).within(()=>{cy.findAllByRole("row").should("have.length",100)})})}),it("should change the page",()=>{cy.findByLabelText("Page 5").click(),cy.location().should(o=>{expect(o.search).to.contain("selectedPage=5")})}),it("should change the page via the URL",()=>{cy.visit(`/embedded/platform/dpr/view-report/async/report/request-examples/request-example-success/${s}/report?selectedPage=3`),cy.findByRole("link",{current:"page"}).contains("3")})})}),describe("Interactive report",()=>{const o=()=>{cy.findByRole("button",{name:"Apply filters"}).click()},i=()=>{cy.findAllByRole("group").contains(/Show filters/).click()};before(()=>{(0,l.executeReportStubs)(),cy.task("stubDefinitionFeatureTestingInteractive"),cy.task("stubAsyncRequestSuccessReportTablesCount"),cy.task("stubRequestSuccessResult20"),cy.task("stubRequestSuccessResult100")}),describe("Apply filters",()=>{before(()=>{(0,l.requestReport)({name:"Interactive Report",description:"this is an interactive report",path:n}),cy.url().then(e=>{a=e})}),beforeEach(()=>{cy.visit(a)});const c=()=>{for(let e=0;e<4;e+=1)cy.findByLabelText("Selected filters").within(()=>{cy.findAllByRole("link").first().click()})};describe("Date range",()=>{it("should apply the date range",()=>{cy.findByRole("textbox",{name:"From"}).should("have.value","01/02/2003"),cy.findByRole("textbox",{name:"To"}).should("have.value","04/05/2006"),c(),i(),cy.findByRole("textbox",{name:"From"}).type("02/05/2025"),cy.findByRole("textbox",{name:"To"}).type("05/07/2025").blur(),o(),cy.location().should(e=>{expect(e.search).to.contain("filters.field3.start=2025-05-02"),expect(e.search).to.contain("filters.field3.end=2025-07-05")}),(0,l.checkSelectedFilterValues)({length:2,buttonValues:[{key:"Field 3",value:"02/05/2025 - 05/07/2025"}]})}),it("should apply the relative daterange",()=>{c(),i(),cy.findByRole("tab",{name:"Preset date ranges"}).click(),cy.findByRole("radio",{name:"Tomorrow"}).check(),o();let e,d;cy.findByRole("textbox",{name:"From"}).invoke("val").should("not.be.empty").then(t=>{e=t}),cy.findByRole("textbox",{name:"To"}).invoke("val").should("not.be.empty").then(t=>{d=t});const u=new f.default;cy.location().should(t=>{expect(t.search).to.contain(`filters.field3.start=${u.toDateString(e,"iso")}`),expect(t.search).to.contain(`filters.field3.end=${u.toDateString(d,"iso")}`),expect(t.search).to.contain("filters.field3.relative-duration=tomorrow")}),(0,l.checkSelectedFilterValues)({length:2,buttonValues:[{key:"Field 3",value:"Tomorrow"}]})})}),describe("Multiselect",()=>{it("should apply the multiselect values",()=>{cy.findByRole("checkbox",{name:"Value 8.2"}).should("be.checked"),cy.findByRole("checkbox",{name:"Value 8.3"}).should("be.checked"),c(),cy.findByRole("checkbox",{name:"Value 8.1"}).should("not.be.checked"),cy.findByRole("checkbox",{name:"Value 8.2"}).should("not.be.checked"),cy.findByRole("checkbox",{name:"Value 8.3"}).should("not.be.checked"),cy.findByRole("checkbox",{name:"Value 8.4"}).should("not.be.checked"),i(),cy.findByRole("checkbox",{name:"Value 8.1"}).check(),cy.findByRole("checkbox",{name:"Value 8.3"}).check(),o(),cy.findByRole("checkbox",{name:"Value 8.1"}).should("be.checked"),cy.findByRole("checkbox",{name:"Value 8.2"}).should("not.be.checked"),cy.findByRole("checkbox",{name:"Value 8.3"}).should("be.checked"),cy.findByRole("checkbox",{name:"Value 8.4"}).should("not.be.checked"),(0,l.checkSelectedFilterValues)({length:2,buttonValues:[{key:"Field 8",value:"Value 8.1, Value 8.3"}]})}),it("should set the selected filter values correctly",()=>{cy.findByRole("checkbox",{name:"Value 8.2"}).should("be.checked"),cy.findByRole("checkbox",{name:"Value 8.3"}).should("be.checked"),c(),cy.findByRole("checkbox",{name:"Value 8.1"}).should("not.be.checked"),cy.findByRole("checkbox",{name:"Value 8.2"}).should("not.be.checked"),cy.findByRole("checkbox",{name:"Value 8.3"}).should("not.be.checked"),cy.findByRole("checkbox",{name:"Value 8.4"}).should("not.be.checked"),i(),cy.findByRole("checkbox",{name:"Value 8.1"}).check(),cy.findByRole("checkbox",{name:"Value 8.2"}).check(),cy.findByRole("checkbox",{name:"Value 8.3"}).check(),cy.findByRole("checkbox",{name:"Value 8.4"}).check(),o(),cy.findByRole("checkbox",{name:"Value 8.1"}).should("be.checked"),cy.findByRole("checkbox",{name:"Value 8.2"}).should("be.checked"),cy.findByRole("checkbox",{name:"Value 8.3"}).should("be.checked"),cy.findByRole("checkbox",{name:"Value 8.4"}).should("be.checked"),(0,l.checkSelectedFilterValues)({length:2,buttonValues:[{key:"Field 8",value:"Value 8.1, Value 8.2, Value 8.3 + 1 more"}]})}),it("should set the values correctly when only one checkbox selected",()=>{c(),cy.findByRole("checkbox",{name:"Value 8.1"}).should("not.be.checked"),cy.findByRole("checkbox",{name:"Value 8.2"}).should("not.be.checked"),cy.findByRole("checkbox",{name:"Value 8.3"}).should("not.be.checked"),cy.findByRole("checkbox",{name:"Value 8.4"}).should("not.be.checked"),i(),cy.findByRole("checkbox",{name:"Value 8.1"}).check(),o(),cy.findByRole("checkbox",{name:"Value 8.1"}).should("be.checked"),cy.findByRole("checkbox",{name:"Value 8.2"}).should("not.be.checked"),cy.findByRole("checkbox",{name:"Value 8.3"}).should("not.be.checked"),cy.findByRole("checkbox",{name:"Value 8.4"}).should("not.be.checked"),(0,l.checkSelectedFilterValues)({length:2,buttonValues:[{key:"Field 8",value:"Value 8.1"}]})})}),it("Applying filters should persist current applied columns",()=>{cy.findAllByRole("group").contains(/Show columns/).should("be.visible").click(),cy.findByRole("checkbox",{name:"Field 1"}).uncheck(),cy.findByRole("checkbox",{name:"Field 3"}).uncheck(),cy.findByRole("checkbox",{name:"Field 5"}).check(),cy.findByRole("checkbox",{name:"Field 7"}).uncheck(),cy.findByRole("checkbox",{name:"Field 8"}).check(),cy.findByRole("button",{name:"Apply columns"}).click(),cy.findAllByRole("group").contains("Show columns (4 of 8 shown)"),i(),cy.findByRole("checkbox",{name:"Value 8.1"}).check(),cy.findByRole("checkbox",{name:"Value 8.3"}).check(),o(),cy.findAllByRole("group").contains("Show columns (4 of 8 shown)")})}),describe("User defined interactive defaults",()=>{const c=()=>cy.findByRole("button",{name:"Save current filter values as defaults"}),e=()=>cy.findByRole("button",{name:"Update defaults"}),d=()=>cy.findByRole("button",{name:"Delete defaults"}),u=({name:t,product:h,length:m,selectedFilters:k})=>{cy.findByLabelText(/Viewed \(/).within(()=>{cy.findByRole("row",{name:(r,y)=>!!y.textContent?.includes(t)&&!!y.textContent?.includes(h)}).within(()=>{cy.findAllByRole("listitem").should("have.length",m).each((r,y)=>{if(k[y]){const{key:p,value:R}=k[y];cy.wrap(r).contains(p),cy.wrap(r).contains(R)}})})})};it("should save the interactive filters correctly",()=>{(0,l.requestReport)({name:"Interactive Report",description:"this is an interactive report",path:n}),(0,l.checkSelectedFilterValues)({length:5,buttonValues:[{key:"Field 1",value:"Value 1.2"},{key:"Field 3",value:"01/02/2003 - 04/05/2006"},{key:"Field 7",value:"01/02/2005"},{key:"Field 8",value:"Value 8.2, Value 8.3"}]}),i(),cy.findByRole("checkbox",{name:"Value 8.1"}).check(),cy.findByRole("checkbox",{name:"Value 8.4"}).check(),cy.findByRole("combobox",{name:"Field 2"}).select("value2.2"),o();const t=[{key:"Field 1",value:"Value 1.2"},{key:"Field 2",value:"Value 2.2"},{key:"Field 3",value:"01/02/2003 - 04/05/2006"},{key:"Field 7",value:"01/02/2005"},{key:"Field 8",value:"Value 8.1, Value 8.2, Value 8.3 + 1 more"}];(0,l.checkSelectedFilterValues)({length:6,buttonValues:t}),c().click(),e().should("exist"),d().should("exist"),(0,l.checkSelectedFilterValues)({length:6,buttonValues:t})}),it("should init the report with saved interactive defaults",()=>{(0,l.requestReport)({name:"Interactive Report",description:"this is an interactive report",path:n}),cy.url().then(h=>{a=h}),e().should("exist"),d().should("exist");const t=[{key:"Field 1",value:"Value 1.2"},{key:"Field 2",value:"Value 2.2"},{key:"Field 3",value:"01/02/2003 - 04/05/2006"},{key:"Field 7",value:"01/02/2005"},{key:"Field 8",value:"Value 8.1, Value 8.2, Value 8.3 + 1 more"}];(0,l.checkSelectedFilterValues)({length:6,buttonValues:t}),cy.visit(n),cy.findByRole("tab",{name:/Viewed/}).click(),u({name:"Interactive Report",product:"Interactive Report",length:5,selectedFilters:t})}),it("should reset the filter values to the saved defaults",()=>{cy.visit(a),e().should("exist"),d().should("exist");const t=[{key:"Field 1",value:"Value 1.2"},{key:"Field 2",value:"Value 2.2"},{key:"Field 3",value:"01/02/2003 - 04/05/2006"},{key:"Field 7",value:"01/02/2005"},{key:"Field 8",value:"Value 8.1, Value 8.2, Value 8.3 + 1 more"}];(0,l.checkSelectedFilterValues)({length:6,buttonValues:t}),i(),cy.findByRole("checkbox",{name:"Value 8.1"}).uncheck(),cy.findByRole("checkbox",{name:"Value 8.3"}).uncheck(),cy.findByRole("combobox",{name:"Field 2"}).select("value2.3"),o(),(0,l.checkSelectedFilterValues)({length:6,buttonValues:[{key:"Field 1",value:"Value 1.2"},{key:"Field 2",value:"Value 2.3"},{key:"Field 3",value:"01/02/2003 - 04/05/2006"},{key:"Field 7",value:"01/02/2005"},{key:"Field 8",value:"Value 8.4"}]}),cy.visit(n),cy.findByRole("tab",{name:/Viewed/}).click(),u({name:"Interactive Report",product:"Interactive Report",length:5,selectedFilters:[{key:"Field 1",value:"Value 1.2"},{key:"Field 2",value:"Value 2.3"},{key:"Field 3",value:"01/02/2003 - 04/05/2006"},{key:"Field 7",value:"01/02/2005"},{key:"Field 8",value:"Value 8.4"}]}),cy.visit(a),cy.findByRole("link",{name:"Reset filters"}).click(),(0,l.checkSelectedFilterValues)({length:6,buttonValues:t}),cy.visit(n),cy.findByRole("tab",{name:/Viewed/}).click(),u({name:"Interactive Report",product:"Interactive Report",length:5,selectedFilters:t})}),it("should update the filter values and init the report with the updated interactive defaults",()=>{cy.visit(a),e().should("exist"),d().should("exist"),(0,l.checkSelectedFilterValues)({length:6,buttonValues:[{key:"Field 1",value:"Value 1.2"},{key:"Field 2",value:"Value 2.2"},{key:"Field 3",value:"01/02/2003 - 04/05/2006"},{key:"Field 7",value:"01/02/2005"},{key:"Field 8",value:"Value 8.1, Value 8.2, Value 8.3 + 1 more"}]}),i(),cy.findByRole("checkbox",{name:"Value 8.1"}).uncheck(),cy.findByRole("checkbox",{name:"Value 8.3"}).uncheck(),cy.findByRole("combobox",{name:"Field 2"}).select("value2.3"),o();const t=[{key:"Field 1",value:"Value 1.2"},{key:"Field 2",value:"Value 2.3"},{key:"Field 3",value:"01/02/2003 - 04/05/2006"},{key:"Field 7",value:"01/02/2005"},{key:"Field 8",value:"Value 8.2, Value 8.4"}];(0,l.checkSelectedFilterValues)({length:6,buttonValues:t}),e().click(),(0,l.checkSelectedFilterValues)({length:6,buttonValues:t}),(0,l.requestReport)({name:"Interactive Report",description:"this is an interactive report",path:n}),cy.url().then(h=>{a=h}),(0,l.checkSelectedFilterValues)({length:6,buttonValues:t}),e().should("exist"),d().should("exist"),cy.visit(n),cy.findByRole("tab",{name:/Viewed/}).click(),u({name:"Interactive Report",product:"Interactive Report",length:5,selectedFilters:t})}),it("should delete the saved defaults",()=>{cy.visit(a),(0,l.checkSelectedFilterValues)({length:6,buttonValues:[{key:"Field 1",value:"Value 1.2"},{key:"Field 2",value:"Value 2.3"},{key:"Field 3",value:"01/02/2003 - 04/05/2006"},{key:"Field 7",value:"01/02/2005"},{key:"Field 8",value:"Value 8.2, Value 8.4"}]}),d().click(),(0,l.checkSelectedFilterValues)({length:5,buttonValues:[{key:"Field 1",value:"Value 1.2"},{key:"Field 3",value:"01/02/2003 - 04/05/2006"},{key:"Field 7",value:"01/02/2005"},{key:"Field 8",value:"Value 8.2, Value 8.3"}]}),cy.visit(n),cy.findByRole("tab",{name:/Viewed/}).click(),u({name:"Interactive Report",product:"Interactive Report",length:4,selectedFilters:[{key:"Field 1",value:"Value 1.2"},{key:"Field 3",value:"01/02/2003 - 04/05/2006"},{key:"Field 7",value:"01/02/2005"},{key:"Field 8",value:"Value 8.2, Value 8.3"}]})}),describe("Input types",()=>{describe("Relative date range",()=>{it("should save the relative daterange",()=>{(0,l.requestReport)({name:"Interactive Report",description:"this is an interactive report",path:n}),(0,l.checkSelectedFilterValues)({length:5,buttonValues:[{key:"Field 1",value:"Value 1.2"},{key:"Field 3",value:"01/02/2003 - 04/05/2006"},{key:"Field 7",value:"01/02/2005"},{key:"Field 8",value:"Value 8.2, Value 8.3"}]}),i(),cy.findByRole("tab",{name:"Preset date ranges"}).click(),cy.findByRole("radio",{name:"Tomorrow"}).check(),o();const t=[{key:"Field 1",value:"Value 1.2"},{key:"Field 3",value:"Tomorrow"},{key:"Field 7",value:"01/02/2005"},{key:"Field 8",value:"Value 8.2, Value 8.3"}];(0,l.checkSelectedFilterValues)({length:5,buttonValues:t}),c().click(),e().should("exist"),d().should("exist"),(0,l.checkSelectedFilterValues)({length:5,buttonValues:t}),(0,l.requestReport)({name:"Interactive Report",description:"this is an interactive report",path:n}),(0,l.checkSelectedFilterValues)({length:5,buttonValues:t}),d().click()})}),describe("Multiselect",()=>{it("should save a single multiselect value",()=>{(0,l.requestReport)({name:"Interactive Report",description:"this is an interactive report",path:n}),(0,l.checkSelectedFilterValues)({length:5,buttonValues:[{key:"Field 1",value:"Value 1.2"},{key:"Field 3",value:"01/02/2003 - 04/05/2006"},{key:"Field 7",value:"01/02/2005"},{key:"Field 8",value:"Value 8.2, Value 8.3"}]}),i(),cy.findByRole("checkbox",{name:"Value 8.3"}).uncheck(),o();const t=[{key:"Field 1",value:"Value 1.2"},{key:"Field 3",value:"01/02/2003 - 04/05/2006"},{key:"Field 7",value:"01/02/2005"},{key:"Field 8",value:"Value 8.2"}];(0,l.checkSelectedFilterValues)({length:5,buttonValues:t}),c().click(),e().should("exist"),d().should("exist"),(0,l.checkSelectedFilterValues)({length:5,buttonValues:t}),(0,l.requestReport)({name:"Interactive Report",description:"this is an interactive report",path:n}),(0,l.checkSelectedFilterValues)({length:5,buttonValues:t}),d().click()})})})}),describe("Sorting",()=>{before(()=>{(0,l.requestReport)({name:"Interactive Report",description:"this is an interactive report",path:n}),cy.url().then(c=>{a=c})}),beforeEach(()=>{cy.visit(a)}),it("should show the sort direction in the column header and the url",()=>{cy.findByRole("link",{name:"Reset filters"}).click(),cy.findByRole("link",{name:"Field 1"}).should("have.class","data-table-header-button-sort-ascending"),cy.findByRole("link",{name:"Field 2"}).should("have.class","data-table-header-button-sort-none"),cy.findByRole("link",{name:"Field 1"}).click(),cy.findByRole("link",{name:"Field 1"}).should("have.class","data-table-header-button-sort-descending"),cy.findByRole("link",{name:"Field 2"}).should("have.class","data-table-header-button-sort-none"),cy.location().should(c=>{expect(c.search).to.contain("&sortColumn=field1&sortedAsc=false"),expect(c.search).to.contain("filters.field8=value8.2&filters.field8=value8.3")}),cy.findByRole("link",{name:"Field 1"}).click(),cy.findByRole("link",{name:"Field 1"}).should("have.class","data-table-header-button-sort-ascending"),cy.findByRole("link",{name:"Field 2"}).should("have.class","data-table-header-button-sort-none"),cy.location().should(c=>{expect(c.search).to.contain("&sortColumn=field1&sortedAsc=true"),expect(c.search).to.contain("filters.field8=value8.2&filters.field8=value8.3")}),cy.findByRole("link",{name:"Field 2"}).click(),cy.findByRole("link",{name:"Field 2"}).should("have.class","data-table-header-button-sort-ascending"),cy.findByRole("link",{name:"Field 1"}).should("have.class","data-table-header-button-sort-none"),cy.location().should(c=>{expect(c.search).to.contain("&sortColumn=field2&sortedAsc=true"),expect(c.search).to.contain("filters.field8=value8.2&filters.field8=value8.3")}),cy.findByRole("link",{name:"Field 2"}).click(),cy.findByRole("link",{name:"Field 2"}).should("have.class","data-table-header-button-sort-descending"),cy.findByRole("link",{name:"Field 1"}).should("have.class","data-table-header-button-sort-none"),cy.location().should(c=>{expect(c.search).to.contain("&sortColumn=field2&sortedAsc=false"),expect(c.search).to.contain("filters.field8=value8.2&filters.field8=value8.3")})})})})});
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __copyProps = (to, from, except, desc) => {
9
+ if (from && typeof from === "object" || typeof from === "function") {
10
+ for (let key of __getOwnPropNames(from))
11
+ if (!__hasOwnProp.call(to, key) && key !== except)
12
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
13
+ }
14
+ return to;
15
+ };
16
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
17
+ // If the importer is in node compatibility mode or this is not an ESM
18
+ // file that has been converted to a CommonJS file using a Babel-
19
+ // compatible transform (i.e. "__esModule" has not been set), then set
20
+ // "default" to the CommonJS "module.exports" for node compatibility.
21
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
22
+ mod
23
+ ));
24
+ var import_cypressUtils = require("../../../../../../../cypress-tests/cypressUtils");
25
+ var import_DateMapper = __toESM(require("../../../../../utils/DateMapper/DateMapper"));
26
+ context("Viewing a report", () => {
27
+ const path = "/embedded/platform/";
28
+ let viewReportUrl;
29
+ let tableId;
30
+ describe("List report page", () => {
31
+ before(() => {
32
+ (0, import_cypressUtils.executeReportStubs)();
33
+ cy.task("stubDefinitionRequestExamplesSuccess");
34
+ cy.task("stubRequestSuccessResult10");
35
+ cy.task("stubRequestSuccessResult20");
36
+ cy.task("stubRequestSuccessResult100");
37
+ (0, import_cypressUtils.requestReport)({ name: "Successful Report", description: "this will succeed", path });
38
+ cy.url().then((url) => {
39
+ viewReportUrl = url;
40
+ const urlArr = url.split("/");
41
+ tableId = urlArr[urlArr.length - 2];
42
+ });
43
+ });
44
+ beforeEach(() => {
45
+ cy.visit(viewReportUrl);
46
+ });
47
+ describe("Report details", () => {
48
+ it("should show the report details", () => {
49
+ cy.findAllByRole("group").contains("Report details").should("be.visible").click();
50
+ cy.findAllByRole("group").contains("Report details").parent().parent().within(() => {
51
+ cy.findAllByRole("row").each((row, index) => {
52
+ cy.wrap(row).within(() => {
53
+ switch (index) {
54
+ case 0:
55
+ cy.findAllByRole("cell", { name: "Name:" }).should("exist");
56
+ cy.findAllByRole("cell", { name: "Successful Report" }).should("exist");
57
+ break;
58
+ case 1:
59
+ cy.findAllByRole("cell", { name: "Product:" }).should("exist");
60
+ cy.findAllByRole("cell", { name: "Successful Report" }).should("exist");
61
+ break;
62
+ case 2:
63
+ cy.findAllByRole("cell", { name: "Description:" }).should("exist");
64
+ cy.findAllByRole("cell", { name: "this will succeed" }).should("exist");
65
+ break;
66
+ case 3:
67
+ cy.findAllByRole("cell", { name: "Classification:" }).should("exist");
68
+ cy.findAllByRole("cell", { name: "OFFICIAL" }).should("exist");
69
+ break;
70
+ case 4:
71
+ cy.findAllByRole("cell", { name: "Requested at:" }).should("exist");
72
+ cy.findAllByRole("cell", { name: /\d{1,2}\/\d{1,2}\/\d{2,4}/ }).should("exist");
73
+ break;
74
+ case 5:
75
+ cy.findAllByRole("cell", { name: "Applied Filters:" }).should("exist");
76
+ cy.findAllByRole("listitem").each((item, i) => {
77
+ switch (i) {
78
+ case 0:
79
+ cy.wrap(item).contains("Field 1: value1.2");
80
+ break;
81
+ case 1:
82
+ cy.wrap(item).contains("Field 3 start: 01/02/2003");
83
+ break;
84
+ case 2:
85
+ cy.wrap(item).contains("Field 3 end: 04/05/2006");
86
+ break;
87
+ case 3:
88
+ cy.wrap(item).contains("Field 7: 01/02/2005");
89
+ break;
90
+ case 4:
91
+ cy.wrap(item).contains("Field 8: value8.2,value8.3");
92
+ break;
93
+ case 5:
94
+ cy.wrap(item).contains("Sort column: Field 1");
95
+ break;
96
+ case 6:
97
+ cy.wrap(item).contains("Sort direction: Descending");
98
+ break;
99
+ default:
100
+ break;
101
+ }
102
+ });
103
+ break;
104
+ default:
105
+ break;
106
+ }
107
+ });
108
+ });
109
+ });
110
+ });
111
+ });
112
+ describe("Actions", () => {
113
+ it("should show the actions and go to the filters page when refresh action is clicked", () => {
114
+ cy.findByLabelText("Refresh report").should("be.visible");
115
+ cy.findByLabelText(/download/).should("be.visible");
116
+ cy.findByLabelText(/Copy report link/).should("be.visible");
117
+ cy.findByRole("button", { name: /Add bookmark/ }).should("be.visible");
118
+ cy.findByLabelText("Refresh report").should("be.visible").click();
119
+ cy.url().should(
120
+ "match",
121
+ /.*\/embedded\/platform\/dpr\/request-report\/report\/request-examples\/request-example-success\/filters/i
122
+ );
123
+ cy.location().should((location) => {
124
+ expect(location.search).to.contain(`filters.field1=value1.2`);
125
+ expect(location.search).to.contain(`filters.field3.start=2003-02-01`);
126
+ expect(location.search).to.contain(`filters.field3.end=2006-05-04`);
127
+ expect(location.search).to.contain(`filters.field7=2005-02-01`);
128
+ expect(location.search).to.contain(`filters.field8=value8.2&filters.field8=value8.3`);
129
+ });
130
+ });
131
+ });
132
+ describe("Column interactions", () => {
133
+ const expectInitialisedColumns = () => {
134
+ cy.findByRole("checkbox", { name: "Field 1" }).should("be.checked");
135
+ cy.findByRole("checkbox", { name: "Field 2" }).should("be.checked").should("be.disabled");
136
+ cy.findByRole("checkbox", { name: "Field 3" }).should("be.checked");
137
+ cy.findByRole("checkbox", { name: "Field 4" }).should("not.be.checked");
138
+ cy.findByRole("checkbox", { name: "Field 5" }).should("not.be.checked");
139
+ cy.findByRole("checkbox", { name: "Field 6" }).should("be.checked").should("be.disabled");
140
+ cy.findByRole("checkbox", { name: "Field 7" }).should("be.checked");
141
+ cy.findByRole("checkbox", { name: "Field 8" }).should("not.be.checked");
142
+ cy.location().should((location) => {
143
+ expect(location.search).to.contain(`columns=field1`);
144
+ expect(location.search).to.contain(`columns=field2`);
145
+ expect(location.search).to.contain(`columns=field3`);
146
+ expect(location.search).not.to.contain(`columns=field4`);
147
+ expect(location.search).not.to.contain(`columns=field5`);
148
+ expect(location.search).to.contain(`columns=field6`);
149
+ expect(location.search).to.contain(`columns=field7`);
150
+ expect(location.search).not.to.contain(`columns=field8`);
151
+ });
152
+ cy.findByLabelText(/Successful Report/).within(() => {
153
+ cy.findAllByRole("rowgroup").eq(0).within(() => {
154
+ cy.findAllByRole("row").eq(1).within(() => {
155
+ cy.findAllByRole("columnheader").should("have.length", 5);
156
+ });
157
+ });
158
+ });
159
+ };
160
+ const expectUpdatedColumns = () => {
161
+ cy.findByRole("checkbox", { name: "Field 1" }).should("not.be.checked");
162
+ cy.findByRole("checkbox", { name: "Field 2" }).should("be.checked").should("be.disabled");
163
+ cy.findByRole("checkbox", { name: "Field 3" }).should("not.be.checked");
164
+ cy.findByRole("checkbox", { name: "Field 4" }).should("not.be.checked");
165
+ cy.findByRole("checkbox", { name: "Field 5" }).should("be.checked");
166
+ cy.findByRole("checkbox", { name: "Field 6" }).should("be.checked").should("be.disabled");
167
+ cy.findByRole("checkbox", { name: "Field 7" }).should("not.be.checked");
168
+ cy.findByRole("checkbox", { name: "Field 8" }).should("be.checked");
169
+ cy.location().should((location) => {
170
+ expect(location.search).not.to.contain(`columns=field1`);
171
+ expect(location.search).to.contain(`columns=field2`);
172
+ expect(location.search).not.to.contain(`columns=field3`);
173
+ expect(location.search).not.to.contain(`columns=field4`);
174
+ expect(location.search).to.contain(`columns=field5`);
175
+ expect(location.search).to.contain(`columns=field6`);
176
+ expect(location.search).not.to.contain(`columns=field7`);
177
+ expect(location.search).to.contain(`columns=field8`);
178
+ });
179
+ cy.findByLabelText(/Successful Report/).within(() => {
180
+ cy.findAllByRole("rowgroup").eq(0).within(() => {
181
+ cy.findAllByRole("row").eq(1).within(() => {
182
+ cy.findAllByRole("columnheader").should("have.length", 4);
183
+ });
184
+ });
185
+ });
186
+ };
187
+ const setColumnValues = () => {
188
+ cy.findByRole("checkbox", { name: "Field 1" }).uncheck();
189
+ cy.findByRole("checkbox", { name: "Field 3" }).uncheck();
190
+ cy.findByRole("checkbox", { name: "Field 5" }).check();
191
+ cy.findByRole("checkbox", { name: "Field 7" }).uncheck();
192
+ cy.findByRole("checkbox", { name: "Field 8" }).check();
193
+ };
194
+ it("should initialise the column content correctly", () => {
195
+ cy.findAllByRole("group").contains(/Show columns/).should("be.visible").click();
196
+ expectInitialisedColumns();
197
+ cy.findAllByRole("group").contains("Show columns (5 of 8 shown)");
198
+ cy.findByLabelText(/Successful Report/).within(() => {
199
+ cy.findAllByRole("rowgroup").eq(0).within(() => {
200
+ cy.findAllByRole("columnheader").each((head, index) => {
201
+ switch (index) {
202
+ case 0:
203
+ cy.wrap(head).contains("Field 1");
204
+ break;
205
+ case 1:
206
+ cy.wrap(head).contains("Field 2");
207
+ break;
208
+ case 2:
209
+ cy.wrap(head).contains("Field 3");
210
+ break;
211
+ case 3:
212
+ cy.wrap(head).contains("Field 6");
213
+ break;
214
+ case 4:
215
+ cy.wrap(head).contains("Field 7");
216
+ break;
217
+ default:
218
+ break;
219
+ }
220
+ });
221
+ });
222
+ });
223
+ });
224
+ it("should apply the columns", () => {
225
+ cy.findAllByRole("group").contains(/Show columns/).click();
226
+ setColumnValues();
227
+ cy.findByRole("button", { name: "Apply columns" }).click();
228
+ expectUpdatedColumns();
229
+ cy.findByLabelText(/Successful Report/).within(() => {
230
+ cy.findAllByRole("rowgroup").eq(0).within(() => {
231
+ cy.findAllByRole("columnheader").each((head, index) => {
232
+ switch (index) {
233
+ case 0:
234
+ cy.wrap(head).contains("Field 2");
235
+ break;
236
+ case 1:
237
+ cy.wrap(head).contains("Field 5");
238
+ break;
239
+ case 2:
240
+ cy.wrap(head).contains("Field 6");
241
+ break;
242
+ case 3:
243
+ cy.wrap(head).contains("Field 8");
244
+ break;
245
+ default:
246
+ break;
247
+ }
248
+ });
249
+ });
250
+ });
251
+ });
252
+ it("should reset the columns to their DPD defaults", () => {
253
+ cy.findAllByRole("group").contains(/Show columns/).click();
254
+ setColumnValues();
255
+ cy.findByRole("button", { name: "Apply columns" }).click();
256
+ expectUpdatedColumns();
257
+ cy.findAllByRole("group").contains(/Show columns/).click();
258
+ cy.findByRole("link", { name: "Reset columns" }).click();
259
+ expectInitialisedColumns();
260
+ });
261
+ it("should apply the columns from the URL", () => {
262
+ cy.visit(
263
+ `/embedded/platform/dpr/view-report/async/report/request-examples/request-example-success/${tableId}/report?columns=field1&columns=field5&columns=field8`
264
+ );
265
+ cy.findByRole("checkbox", { name: "Field 1" }).should("be.checked");
266
+ cy.findByRole("checkbox", { name: "Field 2" }).should("be.checked").should("be.disabled");
267
+ cy.findByRole("checkbox", { name: "Field 3" }).should("not.be.checked");
268
+ cy.findByRole("checkbox", { name: "Field 4" }).should("not.be.checked");
269
+ cy.findByRole("checkbox", { name: "Field 5" }).should("be.checked");
270
+ cy.findByRole("checkbox", { name: "Field 6" }).should("be.checked").should("be.disabled");
271
+ cy.findByRole("checkbox", { name: "Field 7" }).should("not.be.checked");
272
+ cy.findByRole("checkbox", { name: "Field 8" }).should("be.checked");
273
+ cy.findByLabelText(/Successful Report/).within(() => {
274
+ cy.findAllByRole("rowgroup").eq(0).within(() => {
275
+ cy.findAllByRole("columnheader").each((head, index) => {
276
+ switch (index) {
277
+ case 0:
278
+ cy.wrap(head).contains("Field 1");
279
+ break;
280
+ case 1:
281
+ cy.wrap(head).contains("Field 2");
282
+ break;
283
+ case 2:
284
+ cy.wrap(head).contains("Field 5");
285
+ break;
286
+ case 3:
287
+ cy.wrap(head).contains("Field 6");
288
+ break;
289
+ case 4:
290
+ cy.wrap(head).contains("Field 8");
291
+ break;
292
+ default:
293
+ break;
294
+ }
295
+ });
296
+ });
297
+ });
298
+ });
299
+ it("should only apply mandatory columms", () => {
300
+ cy.findAllByRole("group").contains(/Show columns/).click();
301
+ cy.findByRole("checkbox", { name: "Field 1" }).uncheck();
302
+ cy.findByRole("checkbox", { name: "Field 3" }).uncheck();
303
+ cy.findByRole("checkbox", { name: "Field 7" }).uncheck();
304
+ cy.findByRole("button", { name: "Apply columns" }).click();
305
+ cy.findByRole("checkbox", { name: "Field 1" }).should("not.be.checked");
306
+ cy.findByRole("checkbox", { name: "Field 2" }).should("be.checked").should("be.disabled");
307
+ cy.findByRole("checkbox", { name: "Field 3" }).should("not.be.checked");
308
+ cy.findByRole("checkbox", { name: "Field 4" }).should("not.be.checked");
309
+ cy.findByRole("checkbox", { name: "Field 5" }).should("not.be.checked");
310
+ cy.findByRole("checkbox", { name: "Field 6" }).should("be.checked").should("be.disabled");
311
+ cy.findByRole("checkbox", { name: "Field 7" }).should("not.be.checked");
312
+ cy.findByRole("checkbox", { name: "Field 8" }).should("not.be.checked");
313
+ cy.location().should((location) => {
314
+ expect(location.search).not.to.contain(`columns=field1`);
315
+ expect(location.search).to.contain(`columns=field2`);
316
+ expect(location.search).not.to.contain(`columns=field3`);
317
+ expect(location.search).not.to.contain(`columns=field4`);
318
+ expect(location.search).not.to.contain(`columns=field5`);
319
+ expect(location.search).to.contain(`columns=field6`);
320
+ expect(location.search).not.to.contain(`columns=field7`);
321
+ expect(location.search).not.to.contain(`columns=field8`);
322
+ });
323
+ cy.findByLabelText(/Successful Report/).within(() => {
324
+ cy.findAllByRole("rowgroup").eq(0).within(() => {
325
+ cy.findAllByRole("row").eq(1).within(() => {
326
+ cy.findAllByRole("columnheader").should("have.length", 2);
327
+ });
328
+ });
329
+ });
330
+ });
331
+ });
332
+ describe("Paging interaction", () => {
333
+ it("should show the table totals", () => {
334
+ cy.findAllByRole("paragraph").contains(/Showing \d{1,4} to \d{1,4} of \d{1,4} results/).should("exist");
335
+ cy.findByLabelText(/Successful Report/).within(() => {
336
+ cy.findAllByRole("rowgroup").eq(1).within(() => {
337
+ cy.findAllByRole("row").should("have.length", 20);
338
+ });
339
+ });
340
+ });
341
+ it("should change the page size", () => {
342
+ cy.get("#page-size-select").select("10");
343
+ cy.findAllByRole("paragraph").contains(/Showing 1 to 10 of 100 results/).should("exist");
344
+ cy.findByLabelText(/Successful Report/).within(() => {
345
+ cy.findAllByRole("rowgroup").eq(1).within(() => {
346
+ cy.findAllByRole("row").should("have.length", 10);
347
+ });
348
+ });
349
+ });
350
+ it("should change the page size via the URL", () => {
351
+ cy.visit(
352
+ `/embedded/platform/dpr/view-report/async/report/request-examples/request-example-success/${tableId}/report?pageSize=100`
353
+ );
354
+ cy.findAllByRole("paragraph").contains(/100 total results/).should("exist");
355
+ cy.findByLabelText(/Successful Report/).within(() => {
356
+ cy.findAllByRole("rowgroup").eq(1).within(() => {
357
+ cy.findAllByRole("row").should("have.length", 100);
358
+ });
359
+ });
360
+ });
361
+ it("should change the page", () => {
362
+ cy.findByLabelText("Page 5").click();
363
+ cy.location().should((location) => {
364
+ expect(location.search).to.contain(`selectedPage=5`);
365
+ });
366
+ });
367
+ it("should change the page via the URL", () => {
368
+ cy.visit(
369
+ `/embedded/platform/dpr/view-report/async/report/request-examples/request-example-success/${tableId}/report?selectedPage=3`
370
+ );
371
+ cy.findByRole("link", { current: "page" }).contains("3");
372
+ });
373
+ });
374
+ });
375
+ describe("Interactive report", () => {
376
+ const applyFilters = () => {
377
+ cy.findByRole("button", { name: "Apply filters" }).click();
378
+ };
379
+ const showFilters = () => {
380
+ cy.findAllByRole("group").contains(/Show filters/).click();
381
+ };
382
+ before(() => {
383
+ (0, import_cypressUtils.executeReportStubs)();
384
+ cy.task("stubDefinitionFeatureTestingInteractive");
385
+ cy.task("stubAsyncRequestSuccessReportTablesCount");
386
+ cy.task("stubRequestSuccessResult20");
387
+ cy.task("stubRequestSuccessResult100");
388
+ });
389
+ describe("Apply filters", () => {
390
+ before(() => {
391
+ (0, import_cypressUtils.requestReport)({ name: "Interactive Report", description: "this is an interactive report", path });
392
+ cy.url().then((url) => {
393
+ viewReportUrl = url;
394
+ });
395
+ });
396
+ beforeEach(() => {
397
+ cy.visit(viewReportUrl);
398
+ });
399
+ const removeAllFilters = () => {
400
+ for (let index = 0; index < 4; index += 1) {
401
+ cy.findByLabelText("Selected filters").within(() => {
402
+ cy.findAllByRole("link").first().click();
403
+ });
404
+ }
405
+ };
406
+ describe("Date range", () => {
407
+ it("should apply the date range", () => {
408
+ cy.findByRole("textbox", { name: "From" }).should("have.value", "01/02/2003");
409
+ cy.findByRole("textbox", { name: "To" }).should("have.value", "04/05/2006");
410
+ removeAllFilters();
411
+ showFilters();
412
+ cy.findByRole("textbox", { name: "From" }).type("02/05/2025");
413
+ cy.findByRole("textbox", { name: "To" }).type("05/07/2025").blur();
414
+ applyFilters();
415
+ cy.location().should((location) => {
416
+ expect(location.search).to.contain(`filters.field3.start=2025-05-02`);
417
+ expect(location.search).to.contain(`filters.field3.end=2025-07-05`);
418
+ });
419
+ (0, import_cypressUtils.checkSelectedFilterValues)({ length: 2, buttonValues: [{ key: "Field 3", value: "02/05/2025 - 05/07/2025" }] });
420
+ });
421
+ it("should apply the relative daterange", () => {
422
+ removeAllFilters();
423
+ showFilters();
424
+ cy.findByRole("tab", { name: "Preset date ranges" }).click();
425
+ cy.findByRole("radio", { name: "Tomorrow" }).check();
426
+ applyFilters();
427
+ let startValue;
428
+ let endValue;
429
+ cy.findByRole("textbox", { name: "From" }).invoke("val").should("not.be.empty").then((val) => {
430
+ startValue = val;
431
+ });
432
+ cy.findByRole("textbox", { name: "To" }).invoke("val").should("not.be.empty").then((val) => {
433
+ endValue = val;
434
+ });
435
+ const dateMapper = new import_DateMapper.default();
436
+ cy.location().should((location) => {
437
+ expect(location.search).to.contain(
438
+ `filters.field3.start=${dateMapper.toDateString(startValue, "iso")}`
439
+ );
440
+ expect(location.search).to.contain(`filters.field3.end=${dateMapper.toDateString(endValue, "iso")}`);
441
+ expect(location.search).to.contain(`filters.field3.relative-duration=tomorrow`);
442
+ });
443
+ (0, import_cypressUtils.checkSelectedFilterValues)({ length: 2, buttonValues: [{ key: "Field 3", value: "Tomorrow" }] });
444
+ });
445
+ });
446
+ describe("Multiselect", () => {
447
+ it("should apply the multiselect values", () => {
448
+ cy.findByRole("checkbox", { name: "Value 8.2" }).should("be.checked");
449
+ cy.findByRole("checkbox", { name: "Value 8.3" }).should("be.checked");
450
+ removeAllFilters();
451
+ cy.findByRole("checkbox", { name: "Value 8.1" }).should("not.be.checked");
452
+ cy.findByRole("checkbox", { name: "Value 8.2" }).should("not.be.checked");
453
+ cy.findByRole("checkbox", { name: "Value 8.3" }).should("not.be.checked");
454
+ cy.findByRole("checkbox", { name: "Value 8.4" }).should("not.be.checked");
455
+ showFilters();
456
+ cy.findByRole("checkbox", { name: "Value 8.1" }).check();
457
+ cy.findByRole("checkbox", { name: "Value 8.3" }).check();
458
+ applyFilters();
459
+ cy.findByRole("checkbox", { name: "Value 8.1" }).should("be.checked");
460
+ cy.findByRole("checkbox", { name: "Value 8.2" }).should("not.be.checked");
461
+ cy.findByRole("checkbox", { name: "Value 8.3" }).should("be.checked");
462
+ cy.findByRole("checkbox", { name: "Value 8.4" }).should("not.be.checked");
463
+ (0, import_cypressUtils.checkSelectedFilterValues)({ length: 2, buttonValues: [{ key: "Field 8", value: "Value 8.1, Value 8.3" }] });
464
+ });
465
+ it("should set the selected filter values correctly", () => {
466
+ cy.findByRole("checkbox", { name: "Value 8.2" }).should("be.checked");
467
+ cy.findByRole("checkbox", { name: "Value 8.3" }).should("be.checked");
468
+ removeAllFilters();
469
+ cy.findByRole("checkbox", { name: "Value 8.1" }).should("not.be.checked");
470
+ cy.findByRole("checkbox", { name: "Value 8.2" }).should("not.be.checked");
471
+ cy.findByRole("checkbox", { name: "Value 8.3" }).should("not.be.checked");
472
+ cy.findByRole("checkbox", { name: "Value 8.4" }).should("not.be.checked");
473
+ showFilters();
474
+ cy.findByRole("checkbox", { name: "Value 8.1" }).check();
475
+ cy.findByRole("checkbox", { name: "Value 8.2" }).check();
476
+ cy.findByRole("checkbox", { name: "Value 8.3" }).check();
477
+ cy.findByRole("checkbox", { name: "Value 8.4" }).check();
478
+ applyFilters();
479
+ cy.findByRole("checkbox", { name: "Value 8.1" }).should("be.checked");
480
+ cy.findByRole("checkbox", { name: "Value 8.2" }).should("be.checked");
481
+ cy.findByRole("checkbox", { name: "Value 8.3" }).should("be.checked");
482
+ cy.findByRole("checkbox", { name: "Value 8.4" }).should("be.checked");
483
+ (0, import_cypressUtils.checkSelectedFilterValues)({
484
+ length: 2,
485
+ buttonValues: [{ key: "Field 8", value: "Value 8.1, Value 8.2, Value 8.3 + 1 more" }]
486
+ });
487
+ });
488
+ it("should set the values correctly when only one checkbox selected", () => {
489
+ removeAllFilters();
490
+ cy.findByRole("checkbox", { name: "Value 8.1" }).should("not.be.checked");
491
+ cy.findByRole("checkbox", { name: "Value 8.2" }).should("not.be.checked");
492
+ cy.findByRole("checkbox", { name: "Value 8.3" }).should("not.be.checked");
493
+ cy.findByRole("checkbox", { name: "Value 8.4" }).should("not.be.checked");
494
+ showFilters();
495
+ cy.findByRole("checkbox", { name: "Value 8.1" }).check();
496
+ applyFilters();
497
+ cy.findByRole("checkbox", { name: "Value 8.1" }).should("be.checked");
498
+ cy.findByRole("checkbox", { name: "Value 8.2" }).should("not.be.checked");
499
+ cy.findByRole("checkbox", { name: "Value 8.3" }).should("not.be.checked");
500
+ cy.findByRole("checkbox", { name: "Value 8.4" }).should("not.be.checked");
501
+ (0, import_cypressUtils.checkSelectedFilterValues)({
502
+ length: 2,
503
+ buttonValues: [{ key: "Field 8", value: "Value 8.1" }]
504
+ });
505
+ });
506
+ });
507
+ it("Applying filters should persist current applied columns", () => {
508
+ cy.findAllByRole("group").contains(/Show columns/).should("be.visible").click();
509
+ cy.findByRole("checkbox", { name: "Field 1" }).uncheck();
510
+ cy.findByRole("checkbox", { name: "Field 3" }).uncheck();
511
+ cy.findByRole("checkbox", { name: "Field 5" }).check();
512
+ cy.findByRole("checkbox", { name: "Field 7" }).uncheck();
513
+ cy.findByRole("checkbox", { name: "Field 8" }).check();
514
+ cy.findByRole("button", { name: "Apply columns" }).click();
515
+ cy.findAllByRole("group").contains("Show columns (4 of 8 shown)");
516
+ showFilters();
517
+ cy.findByRole("checkbox", { name: "Value 8.1" }).check();
518
+ cy.findByRole("checkbox", { name: "Value 8.3" }).check();
519
+ applyFilters();
520
+ cy.findAllByRole("group").contains("Show columns (4 of 8 shown)");
521
+ });
522
+ });
523
+ describe("User defined interactive defaults", () => {
524
+ const saveDefaultsButton = () => {
525
+ return cy.findByRole("button", { name: "Save current filter values as defaults" });
526
+ };
527
+ const updateDefaultsButton = () => {
528
+ return cy.findByRole("button", { name: "Update defaults" });
529
+ };
530
+ const deleteDefaultsButton = () => {
531
+ return cy.findByRole("button", { name: "Delete defaults" });
532
+ };
533
+ const checkSelectedFiltersInUserReports = ({
534
+ name,
535
+ product,
536
+ length,
537
+ selectedFilters
538
+ }) => {
539
+ cy.findByLabelText(/Viewed \(/).within(() => {
540
+ cy.findByRole("row", {
541
+ name: (_, element) => {
542
+ return Boolean(element.textContent?.includes(name)) && Boolean(element.textContent?.includes(product));
543
+ }
544
+ }).within(() => {
545
+ cy.findAllByRole("listitem").should("have.length", length).each((li, index) => {
546
+ if (selectedFilters[index]) {
547
+ const { key, value } = selectedFilters[index];
548
+ cy.wrap(li).contains(key);
549
+ cy.wrap(li).contains(value);
550
+ }
551
+ });
552
+ });
553
+ });
554
+ };
555
+ it("should save the interactive filters correctly", () => {
556
+ (0, import_cypressUtils.requestReport)({ name: "Interactive Report", description: "this is an interactive report", path });
557
+ (0, import_cypressUtils.checkSelectedFilterValues)({
558
+ length: 5,
559
+ buttonValues: [
560
+ { key: "Field 1", value: "Value 1.2" },
561
+ { key: "Field 3", value: "01/02/2003 - 04/05/2006" },
562
+ { key: "Field 7", value: "01/02/2005" },
563
+ { key: "Field 8", value: "Value 8.2, Value 8.3" }
564
+ ]
565
+ });
566
+ showFilters();
567
+ cy.findByRole("checkbox", { name: "Value 8.1" }).check();
568
+ cy.findByRole("checkbox", { name: "Value 8.4" }).check();
569
+ cy.findByRole("combobox", { name: "Field 2" }).select("value2.2");
570
+ applyFilters();
571
+ const selectedFiltersButtonValues = [
572
+ { key: "Field 1", value: "Value 1.2" },
573
+ { key: "Field 2", value: "Value 2.2" },
574
+ { key: "Field 3", value: "01/02/2003 - 04/05/2006" },
575
+ { key: "Field 7", value: "01/02/2005" },
576
+ { key: "Field 8", value: "Value 8.1, Value 8.2, Value 8.3 + 1 more" }
577
+ ];
578
+ (0, import_cypressUtils.checkSelectedFilterValues)({
579
+ length: 6,
580
+ buttonValues: selectedFiltersButtonValues
581
+ });
582
+ saveDefaultsButton().click();
583
+ updateDefaultsButton().should("exist");
584
+ deleteDefaultsButton().should("exist");
585
+ (0, import_cypressUtils.checkSelectedFilterValues)({
586
+ length: 6,
587
+ buttonValues: selectedFiltersButtonValues
588
+ });
589
+ });
590
+ it("should init the report with saved interactive defaults", () => {
591
+ (0, import_cypressUtils.requestReport)({ name: "Interactive Report", description: "this is an interactive report", path });
592
+ cy.url().then((url) => {
593
+ viewReportUrl = url;
594
+ });
595
+ updateDefaultsButton().should("exist");
596
+ deleteDefaultsButton().should("exist");
597
+ const selectedFiltersButtonValues = [
598
+ { key: "Field 1", value: "Value 1.2" },
599
+ { key: "Field 2", value: "Value 2.2" },
600
+ { key: "Field 3", value: "01/02/2003 - 04/05/2006" },
601
+ { key: "Field 7", value: "01/02/2005" },
602
+ { key: "Field 8", value: "Value 8.1, Value 8.2, Value 8.3 + 1 more" }
603
+ ];
604
+ (0, import_cypressUtils.checkSelectedFilterValues)({
605
+ length: 6,
606
+ buttonValues: selectedFiltersButtonValues
607
+ });
608
+ cy.visit(path);
609
+ cy.findByRole("tab", { name: /Viewed/ }).click();
610
+ checkSelectedFiltersInUserReports({
611
+ name: "Interactive Report",
612
+ product: "Interactive Report",
613
+ length: 5,
614
+ selectedFilters: selectedFiltersButtonValues
615
+ });
616
+ });
617
+ it("should reset the filter values to the saved defaults", () => {
618
+ cy.visit(viewReportUrl);
619
+ updateDefaultsButton().should("exist");
620
+ deleteDefaultsButton().should("exist");
621
+ const savedDefaultSelectedFilters = [
622
+ { key: "Field 1", value: "Value 1.2" },
623
+ { key: "Field 2", value: "Value 2.2" },
624
+ { key: "Field 3", value: "01/02/2003 - 04/05/2006" },
625
+ { key: "Field 7", value: "01/02/2005" },
626
+ { key: "Field 8", value: "Value 8.1, Value 8.2, Value 8.3 + 1 more" }
627
+ ];
628
+ (0, import_cypressUtils.checkSelectedFilterValues)({
629
+ length: 6,
630
+ buttonValues: savedDefaultSelectedFilters
631
+ });
632
+ showFilters();
633
+ cy.findByRole("checkbox", { name: "Value 8.1" }).uncheck();
634
+ cy.findByRole("checkbox", { name: "Value 8.3" }).uncheck();
635
+ cy.findByRole("combobox", { name: "Field 2" }).select("value2.3");
636
+ applyFilters();
637
+ (0, import_cypressUtils.checkSelectedFilterValues)({
638
+ length: 6,
639
+ buttonValues: [
640
+ { key: "Field 1", value: "Value 1.2" },
641
+ { key: "Field 2", value: "Value 2.3" },
642
+ { key: "Field 3", value: "01/02/2003 - 04/05/2006" },
643
+ { key: "Field 7", value: "01/02/2005" },
644
+ { key: "Field 8", value: "Value 8.4" }
645
+ ]
646
+ });
647
+ cy.visit(path);
648
+ cy.findByRole("tab", { name: /Viewed/ }).click();
649
+ checkSelectedFiltersInUserReports({
650
+ name: "Interactive Report",
651
+ product: "Interactive Report",
652
+ length: 5,
653
+ selectedFilters: [
654
+ { key: "Field 1", value: "Value 1.2" },
655
+ { key: "Field 2", value: "Value 2.3" },
656
+ { key: "Field 3", value: "01/02/2003 - 04/05/2006" },
657
+ { key: "Field 7", value: "01/02/2005" },
658
+ { key: "Field 8", value: "Value 8.4" }
659
+ ]
660
+ });
661
+ cy.visit(viewReportUrl);
662
+ cy.findByRole("link", { name: "Reset filters" }).click();
663
+ (0, import_cypressUtils.checkSelectedFilterValues)({
664
+ length: 6,
665
+ buttonValues: savedDefaultSelectedFilters
666
+ });
667
+ cy.visit(path);
668
+ cy.findByRole("tab", { name: /Viewed/ }).click();
669
+ checkSelectedFiltersInUserReports({
670
+ name: "Interactive Report",
671
+ product: "Interactive Report",
672
+ length: 5,
673
+ selectedFilters: savedDefaultSelectedFilters
674
+ });
675
+ });
676
+ it("should update the filter values and init the report with the updated interactive defaults", () => {
677
+ cy.visit(viewReportUrl);
678
+ updateDefaultsButton().should("exist");
679
+ deleteDefaultsButton().should("exist");
680
+ (0, import_cypressUtils.checkSelectedFilterValues)({
681
+ length: 6,
682
+ buttonValues: [
683
+ { key: "Field 1", value: "Value 1.2" },
684
+ { key: "Field 2", value: "Value 2.2" },
685
+ { key: "Field 3", value: "01/02/2003 - 04/05/2006" },
686
+ { key: "Field 7", value: "01/02/2005" },
687
+ { key: "Field 8", value: "Value 8.1, Value 8.2, Value 8.3 + 1 more" }
688
+ ]
689
+ });
690
+ showFilters();
691
+ cy.findByRole("checkbox", { name: "Value 8.1" }).uncheck();
692
+ cy.findByRole("checkbox", { name: "Value 8.3" }).uncheck();
693
+ cy.findByRole("combobox", { name: "Field 2" }).select("value2.3");
694
+ applyFilters();
695
+ const expectedSelectedValues = [
696
+ { key: "Field 1", value: "Value 1.2" },
697
+ { key: "Field 2", value: "Value 2.3" },
698
+ { key: "Field 3", value: "01/02/2003 - 04/05/2006" },
699
+ { key: "Field 7", value: "01/02/2005" },
700
+ { key: "Field 8", value: "Value 8.2, Value 8.4" }
701
+ ];
702
+ (0, import_cypressUtils.checkSelectedFilterValues)({
703
+ length: 6,
704
+ buttonValues: expectedSelectedValues
705
+ });
706
+ updateDefaultsButton().click();
707
+ (0, import_cypressUtils.checkSelectedFilterValues)({
708
+ length: 6,
709
+ buttonValues: expectedSelectedValues
710
+ });
711
+ (0, import_cypressUtils.requestReport)({ name: "Interactive Report", description: "this is an interactive report", path });
712
+ cy.url().then((url) => {
713
+ viewReportUrl = url;
714
+ });
715
+ (0, import_cypressUtils.checkSelectedFilterValues)({
716
+ length: 6,
717
+ buttonValues: expectedSelectedValues
718
+ });
719
+ updateDefaultsButton().should("exist");
720
+ deleteDefaultsButton().should("exist");
721
+ cy.visit(path);
722
+ cy.findByRole("tab", { name: /Viewed/ }).click();
723
+ checkSelectedFiltersInUserReports({
724
+ name: "Interactive Report",
725
+ product: "Interactive Report",
726
+ length: 5,
727
+ selectedFilters: expectedSelectedValues
728
+ });
729
+ });
730
+ it("should delete the saved defaults", () => {
731
+ cy.visit(viewReportUrl);
732
+ (0, import_cypressUtils.checkSelectedFilterValues)({
733
+ length: 6,
734
+ buttonValues: [
735
+ { key: "Field 1", value: "Value 1.2" },
736
+ { key: "Field 2", value: "Value 2.3" },
737
+ { key: "Field 3", value: "01/02/2003 - 04/05/2006" },
738
+ { key: "Field 7", value: "01/02/2005" },
739
+ { key: "Field 8", value: "Value 8.2, Value 8.4" }
740
+ ]
741
+ });
742
+ deleteDefaultsButton().click();
743
+ (0, import_cypressUtils.checkSelectedFilterValues)({
744
+ length: 5,
745
+ buttonValues: [
746
+ { key: "Field 1", value: "Value 1.2" },
747
+ { key: "Field 3", value: "01/02/2003 - 04/05/2006" },
748
+ { key: "Field 7", value: "01/02/2005" },
749
+ { key: "Field 8", value: "Value 8.2, Value 8.3" }
750
+ ]
751
+ });
752
+ cy.visit(path);
753
+ cy.findByRole("tab", { name: /Viewed/ }).click();
754
+ checkSelectedFiltersInUserReports({
755
+ name: "Interactive Report",
756
+ product: "Interactive Report",
757
+ length: 4,
758
+ selectedFilters: [
759
+ { key: "Field 1", value: "Value 1.2" },
760
+ { key: "Field 3", value: "01/02/2003 - 04/05/2006" },
761
+ { key: "Field 7", value: "01/02/2005" },
762
+ { key: "Field 8", value: "Value 8.2, Value 8.3" }
763
+ ]
764
+ });
765
+ });
766
+ describe("Input types", () => {
767
+ describe("Relative date range", () => {
768
+ it("should save the relative daterange", () => {
769
+ (0, import_cypressUtils.requestReport)({ name: "Interactive Report", description: "this is an interactive report", path });
770
+ (0, import_cypressUtils.checkSelectedFilterValues)({
771
+ length: 5,
772
+ buttonValues: [
773
+ { key: "Field 1", value: "Value 1.2" },
774
+ { key: "Field 3", value: "01/02/2003 - 04/05/2006" },
775
+ { key: "Field 7", value: "01/02/2005" },
776
+ { key: "Field 8", value: "Value 8.2, Value 8.3" }
777
+ ]
778
+ });
779
+ showFilters();
780
+ cy.findByRole("tab", { name: "Preset date ranges" }).click();
781
+ cy.findByRole("radio", { name: "Tomorrow" }).check();
782
+ applyFilters();
783
+ const expectedUpdatedSelected = [
784
+ { key: "Field 1", value: "Value 1.2" },
785
+ { key: "Field 3", value: "Tomorrow" },
786
+ { key: "Field 7", value: "01/02/2005" },
787
+ { key: "Field 8", value: "Value 8.2, Value 8.3" }
788
+ ];
789
+ (0, import_cypressUtils.checkSelectedFilterValues)({
790
+ length: 5,
791
+ buttonValues: expectedUpdatedSelected
792
+ });
793
+ saveDefaultsButton().click();
794
+ updateDefaultsButton().should("exist");
795
+ deleteDefaultsButton().should("exist");
796
+ (0, import_cypressUtils.checkSelectedFilterValues)({
797
+ length: 5,
798
+ buttonValues: expectedUpdatedSelected
799
+ });
800
+ (0, import_cypressUtils.requestReport)({ name: "Interactive Report", description: "this is an interactive report", path });
801
+ (0, import_cypressUtils.checkSelectedFilterValues)({
802
+ length: 5,
803
+ buttonValues: expectedUpdatedSelected
804
+ });
805
+ deleteDefaultsButton().click();
806
+ });
807
+ });
808
+ describe("Multiselect", () => {
809
+ it("should save a single multiselect value", () => {
810
+ (0, import_cypressUtils.requestReport)({ name: "Interactive Report", description: "this is an interactive report", path });
811
+ (0, import_cypressUtils.checkSelectedFilterValues)({
812
+ length: 5,
813
+ buttonValues: [
814
+ { key: "Field 1", value: "Value 1.2" },
815
+ { key: "Field 3", value: "01/02/2003 - 04/05/2006" },
816
+ { key: "Field 7", value: "01/02/2005" },
817
+ { key: "Field 8", value: "Value 8.2, Value 8.3" }
818
+ ]
819
+ });
820
+ showFilters();
821
+ cy.findByRole("checkbox", { name: "Value 8.3" }).uncheck();
822
+ applyFilters();
823
+ const expectedUpdatedSelected = [
824
+ { key: "Field 1", value: "Value 1.2" },
825
+ { key: "Field 3", value: "01/02/2003 - 04/05/2006" },
826
+ { key: "Field 7", value: "01/02/2005" },
827
+ { key: "Field 8", value: "Value 8.2" }
828
+ ];
829
+ (0, import_cypressUtils.checkSelectedFilterValues)({
830
+ length: 5,
831
+ buttonValues: expectedUpdatedSelected
832
+ });
833
+ saveDefaultsButton().click();
834
+ updateDefaultsButton().should("exist");
835
+ deleteDefaultsButton().should("exist");
836
+ (0, import_cypressUtils.checkSelectedFilterValues)({
837
+ length: 5,
838
+ buttonValues: expectedUpdatedSelected
839
+ });
840
+ (0, import_cypressUtils.requestReport)({ name: "Interactive Report", description: "this is an interactive report", path });
841
+ (0, import_cypressUtils.checkSelectedFilterValues)({
842
+ length: 5,
843
+ buttonValues: expectedUpdatedSelected
844
+ });
845
+ deleteDefaultsButton().click();
846
+ });
847
+ });
848
+ });
849
+ });
850
+ describe("Sorting", () => {
851
+ before(() => {
852
+ (0, import_cypressUtils.requestReport)({ name: "Interactive Report", description: "this is an interactive report", path });
853
+ cy.url().then((url) => {
854
+ viewReportUrl = url;
855
+ });
856
+ });
857
+ beforeEach(() => {
858
+ cy.visit(viewReportUrl);
859
+ });
860
+ it("should show the sort direction in the column header and the url", () => {
861
+ cy.findByRole("link", { name: "Reset filters" }).click();
862
+ cy.findByRole("link", { name: "Field 1" }).should("have.class", "data-table-header-button-sort-ascending");
863
+ cy.findByRole("link", { name: "Field 2" }).should("have.class", "data-table-header-button-sort-none");
864
+ cy.findByRole("link", { name: "Field 1" }).click();
865
+ cy.findByRole("link", { name: "Field 1" }).should("have.class", "data-table-header-button-sort-descending");
866
+ cy.findByRole("link", { name: "Field 2" }).should("have.class", "data-table-header-button-sort-none");
867
+ cy.location().should((location) => {
868
+ expect(location.search).to.contain(`&sortColumn=field1&sortedAsc=false`);
869
+ expect(location.search).to.contain(`filters.field8=value8.2&filters.field8=value8.3`);
870
+ });
871
+ cy.findByRole("link", { name: "Field 1" }).click();
872
+ cy.findByRole("link", { name: "Field 1" }).should("have.class", "data-table-header-button-sort-ascending");
873
+ cy.findByRole("link", { name: "Field 2" }).should("have.class", "data-table-header-button-sort-none");
874
+ cy.location().should((location) => {
875
+ expect(location.search).to.contain(`&sortColumn=field1&sortedAsc=true`);
876
+ expect(location.search).to.contain(`filters.field8=value8.2&filters.field8=value8.3`);
877
+ });
878
+ cy.findByRole("link", { name: "Field 2" }).click();
879
+ cy.findByRole("link", { name: "Field 2" }).should("have.class", "data-table-header-button-sort-ascending");
880
+ cy.findByRole("link", { name: "Field 1" }).should("have.class", "data-table-header-button-sort-none");
881
+ cy.location().should((location) => {
882
+ expect(location.search).to.contain(`&sortColumn=field2&sortedAsc=true`);
883
+ expect(location.search).to.contain(`filters.field8=value8.2&filters.field8=value8.3`);
884
+ });
885
+ cy.findByRole("link", { name: "Field 2" }).click();
886
+ cy.findByRole("link", { name: "Field 2" }).should("have.class", "data-table-header-button-sort-descending");
887
+ cy.findByRole("link", { name: "Field 1" }).should("have.class", "data-table-header-button-sort-none");
888
+ cy.location().should((location) => {
889
+ expect(location.search).to.contain(`&sortColumn=field2&sortedAsc=false`);
890
+ expect(location.search).to.contain(`filters.field8=value8.2&filters.field8=value8.3`);
891
+ });
892
+ });
893
+ });
894
+ });
895
+ });
2
896
  //# sourceMappingURL=tests.cy.js.map