@itwin/reports-config-widget-react 0.4.0 → 0.6.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 (393) hide show
  1. package/CHANGELOG.json +61 -0
  2. package/CHANGELOG.md +23 -2
  3. package/LICENSE.md +9 -9
  4. package/README.md +38 -38
  5. package/__mocks__/fileMock.js +4 -4
  6. package/api/reports-config-widget-react.api.md +130 -0
  7. package/api/reports-config-widget-react.exports.csv +14 -0
  8. package/api/temp/reports-config-widget-react.api.md +130 -0
  9. package/coverage/clover.xml +524 -514
  10. package/coverage/coverage-final.json +32 -32
  11. package/coverage/lcov-report/favicon.png +0 -0
  12. package/coverage/lcov-report/index.html +26 -26
  13. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  14. package/coverage/lcov-report/src/ReportsConfigWidget.ts.html +15 -15
  15. package/coverage/lcov-report/src/index.html +1 -1
  16. package/coverage/lcov-report/src/test/index.html +15 -15
  17. package/coverage/lcov-report/src/test/test-utils.tsx.html +233 -20
  18. package/coverage/lcov-report/src/widget/ReportsConfigUiProvider.tsx.html +22 -64
  19. package/coverage/lcov-report/src/widget/components/ActionPanel.tsx.html +5 -38
  20. package/coverage/lcov-report/src/widget/components/AddMappingsModal.tsx.html +23 -119
  21. package/coverage/lcov-report/src/widget/components/BulkExtractor.ts.html +117 -90
  22. package/coverage/lcov-report/src/widget/components/Constants.ts.html +16 -10
  23. package/coverage/lcov-report/src/widget/components/DeleteModal.tsx.html +16 -106
  24. package/coverage/lcov-report/src/widget/components/ExtractionStates/FailedExtractionState.tsx.html +6 -21
  25. package/coverage/lcov-report/src/widget/components/ExtractionStates/QueuedExtractionState.tsx.html +6 -21
  26. package/coverage/lcov-report/src/widget/components/ExtractionStates/RunningExtractionState.tsx.html +7 -22
  27. package/coverage/lcov-report/src/widget/components/ExtractionStates/StartingExtractionState.tsx.html +7 -28
  28. package/coverage/lcov-report/src/widget/components/ExtractionStates/SucceededExtractionState.tsx.html +6 -21
  29. package/coverage/lcov-report/src/widget/components/ExtractionStates/index.html +1 -1
  30. package/coverage/lcov-report/src/widget/components/ExtractionStatus.tsx.html +20 -47
  31. package/coverage/lcov-report/src/widget/components/ExtractionToast.tsx.html +20 -11
  32. package/coverage/lcov-report/src/widget/components/HorizontalTile.tsx.html +16 -79
  33. package/coverage/lcov-report/src/widget/components/LocalizedTablePaginator.tsx.html +15 -108
  34. package/coverage/lcov-report/src/widget/components/ReportAction.tsx.html +36 -75
  35. package/coverage/lcov-report/src/widget/components/ReportHorizontalTile.tsx.html +62 -92
  36. package/coverage/lcov-report/src/widget/components/ReportMappingHorizontalTile.tsx.html +104 -128
  37. package/coverage/lcov-report/src/widget/components/ReportMappings.tsx.html +86 -299
  38. package/coverage/lcov-report/src/widget/components/Reports.tsx.html +64 -226
  39. package/coverage/lcov-report/src/widget/components/ReportsConfigContext.tsx.html +63 -45
  40. package/coverage/lcov-report/src/widget/components/ReportsContainer.tsx.html +10 -49
  41. package/coverage/lcov-report/src/widget/components/ReportsHeader.tsx.html +8 -47
  42. package/coverage/lcov-report/src/widget/components/ReportsRouter.tsx.html +6 -12
  43. package/coverage/lcov-report/src/widget/components/SearchBar.tsx.html +15 -27
  44. package/coverage/lcov-report/src/widget/components/SelectIModel.tsx.html +12 -57
  45. package/coverage/lcov-report/src/widget/components/index.html +56 -56
  46. package/coverage/lcov-report/src/widget/components/utils.tsx.html +32 -176
  47. package/coverage/lcov-report/src/widget/context/BulkExtractorContext.tsx.html +9 -15
  48. package/coverage/lcov-report/src/widget/context/ReportsConfigApiContext.tsx.html +9 -15
  49. package/coverage/lcov-report/src/widget/context/index.html +1 -1
  50. package/coverage/lcov-report/src/widget/hooks/index.html +1 -1
  51. package/coverage/lcov-report/src/widget/hooks/useValidator.ts.html +12 -54
  52. package/coverage/lcov-report/src/widget/index.html +1 -1
  53. package/coverage/lcov.info +959 -922
  54. package/jest.config.js +14 -17
  55. package/lib/cjs/ReportsConfigWidget.d.ts +4 -0
  56. package/lib/cjs/ReportsConfigWidget.d.ts.map +1 -1
  57. package/lib/cjs/ReportsConfigWidget.js +4 -0
  58. package/lib/cjs/ReportsConfigWidget.js.map +1 -1
  59. package/lib/cjs/reports-config-widget-react.js +8 -4
  60. package/lib/cjs/reports-config-widget-react.js.map +1 -1
  61. package/lib/cjs/test/AddMappingModal.test.js +24 -72
  62. package/lib/cjs/test/AddMappingModal.test.js.map +1 -1
  63. package/lib/cjs/test/BulkExtractor.test.js +73 -44
  64. package/lib/cjs/test/BulkExtractor.test.js.map +1 -1
  65. package/lib/cjs/test/DeleteModal.test.js +3 -3
  66. package/lib/cjs/test/DeleteModal.test.js.map +1 -1
  67. package/lib/cjs/test/ReportAction.test.js +6 -4
  68. package/lib/cjs/test/ReportAction.test.js.map +1 -1
  69. package/lib/cjs/test/ReportMappingHorizontalTile.test.js +76 -86
  70. package/lib/cjs/test/ReportMappingHorizontalTile.test.js.map +1 -1
  71. package/lib/cjs/test/ReportMappings.test.js +53 -80
  72. package/lib/cjs/test/ReportMappings.test.js.map +1 -1
  73. package/lib/cjs/test/Reports.test.js +54 -50
  74. package/lib/cjs/test/Reports.test.js.map +1 -1
  75. package/lib/cjs/test/WidgetHeader.test.js +3 -3
  76. package/lib/cjs/test/WidgetHeader.test.js.map +1 -1
  77. package/lib/cjs/test/test-utils.d.ts +38 -0
  78. package/lib/cjs/test/test-utils.d.ts.map +1 -1
  79. package/lib/cjs/test/test-utils.js +79 -5
  80. package/lib/cjs/test/test-utils.js.map +1 -1
  81. package/lib/cjs/tsconfig.tsbuildinfo +1 -1
  82. package/lib/cjs/widget/ReportsConfigUiProvider.d.ts +7 -0
  83. package/lib/cjs/widget/ReportsConfigUiProvider.d.ts.map +1 -1
  84. package/lib/cjs/widget/ReportsConfigUiProvider.js +13 -4
  85. package/lib/cjs/widget/ReportsConfigUiProvider.js.map +1 -1
  86. package/lib/cjs/widget/components/ActionPanel.d.ts.map +1 -1
  87. package/lib/cjs/widget/components/ActionPanel.js +5 -1
  88. package/lib/cjs/widget/components/ActionPanel.js.map +1 -1
  89. package/lib/cjs/widget/components/AddMappingsModal.d.ts +1 -1
  90. package/lib/cjs/widget/components/AddMappingsModal.d.ts.map +1 -1
  91. package/lib/cjs/widget/components/AddMappingsModal.js +12 -8
  92. package/lib/cjs/widget/components/AddMappingsModal.js.map +1 -1
  93. package/lib/cjs/widget/components/AddMappingsModal.scss +1 -1
  94. package/lib/cjs/widget/components/BulkExtractor.d.ts +7 -4
  95. package/lib/cjs/widget/components/BulkExtractor.d.ts.map +1 -1
  96. package/lib/cjs/widget/components/BulkExtractor.js +52 -35
  97. package/lib/cjs/widget/components/BulkExtractor.js.map +1 -1
  98. package/lib/cjs/widget/components/Constants.d.ts +1 -0
  99. package/lib/cjs/widget/components/Constants.d.ts.map +1 -1
  100. package/lib/cjs/widget/components/Constants.js +5 -4
  101. package/lib/cjs/widget/components/Constants.js.map +1 -1
  102. package/lib/cjs/widget/components/DeleteModal.d.ts +1 -1
  103. package/lib/cjs/widget/components/DeleteModal.d.ts.map +1 -1
  104. package/lib/cjs/widget/components/DeleteModal.js +10 -6
  105. package/lib/cjs/widget/components/DeleteModal.js.map +1 -1
  106. package/lib/cjs/widget/components/DeleteModal.scss +2 -2
  107. package/lib/cjs/widget/components/ExtractionStates/FailedExtractionState.d.ts.map +1 -1
  108. package/lib/cjs/widget/components/ExtractionStates/FailedExtractionState.js +3 -3
  109. package/lib/cjs/widget/components/ExtractionStates/FailedExtractionState.js.map +1 -1
  110. package/lib/cjs/widget/components/ExtractionStates/QueuedExtractionState.d.ts.map +1 -1
  111. package/lib/cjs/widget/components/ExtractionStates/QueuedExtractionState.js +3 -3
  112. package/lib/cjs/widget/components/ExtractionStates/QueuedExtractionState.js.map +1 -1
  113. package/lib/cjs/widget/components/ExtractionStates/RunningExtractionState.d.ts.map +1 -1
  114. package/lib/cjs/widget/components/ExtractionStates/RunningExtractionState.js +3 -3
  115. package/lib/cjs/widget/components/ExtractionStates/RunningExtractionState.js.map +1 -1
  116. package/lib/cjs/widget/components/ExtractionStates/StartingExtractionState.d.ts.map +1 -1
  117. package/lib/cjs/widget/components/ExtractionStates/StartingExtractionState.js +3 -3
  118. package/lib/cjs/widget/components/ExtractionStates/StartingExtractionState.js.map +1 -1
  119. package/lib/cjs/widget/components/ExtractionStates/SucceededExtractionState.d.ts.map +1 -1
  120. package/lib/cjs/widget/components/ExtractionStates/SucceededExtractionState.js +3 -3
  121. package/lib/cjs/widget/components/ExtractionStates/SucceededExtractionState.js.map +1 -1
  122. package/lib/cjs/widget/components/ExtractionStatus.d.ts +1 -1
  123. package/lib/cjs/widget/components/ExtractionStatus.d.ts.map +1 -1
  124. package/lib/cjs/widget/components/ExtractionStatus.js +14 -10
  125. package/lib/cjs/widget/components/ExtractionStatus.js.map +1 -1
  126. package/lib/cjs/widget/components/ExtractionStatus.scss +1 -1
  127. package/lib/cjs/widget/components/ExtractionToast.d.ts.map +1 -1
  128. package/lib/cjs/widget/components/ExtractionToast.js +3 -3
  129. package/lib/cjs/widget/components/ExtractionToast.js.map +1 -1
  130. package/lib/cjs/widget/components/HorizontalTile.d.ts.map +1 -1
  131. package/lib/cjs/widget/components/HorizontalTile.js +1 -2
  132. package/lib/cjs/widget/components/HorizontalTile.js.map +1 -1
  133. package/lib/cjs/widget/components/HorizontalTile.scss +1 -4
  134. package/lib/cjs/widget/components/LocalizedTablePaginator.d.ts.map +1 -1
  135. package/lib/cjs/widget/components/LocalizedTablePaginator.js +6 -2
  136. package/lib/cjs/widget/components/LocalizedTablePaginator.js.map +1 -1
  137. package/lib/cjs/widget/components/ReportAction.d.ts +8 -0
  138. package/lib/cjs/widget/components/ReportAction.d.ts.map +1 -1
  139. package/lib/cjs/widget/components/ReportAction.js +14 -8
  140. package/lib/cjs/widget/components/ReportAction.js.map +1 -1
  141. package/lib/cjs/widget/components/ReportAction.scss +1 -1
  142. package/lib/cjs/widget/components/ReportHorizontalTile.d.ts.map +1 -1
  143. package/lib/cjs/widget/components/ReportHorizontalTile.js +9 -5
  144. package/lib/cjs/widget/components/ReportHorizontalTile.js.map +1 -1
  145. package/lib/cjs/widget/components/ReportMappingHorizontalTile.d.ts.map +1 -1
  146. package/lib/cjs/widget/components/ReportMappingHorizontalTile.js +51 -46
  147. package/lib/cjs/widget/components/ReportMappingHorizontalTile.js.map +1 -1
  148. package/lib/cjs/widget/components/ReportMappings.d.ts +8 -0
  149. package/lib/cjs/widget/components/ReportMappings.d.ts.map +1 -1
  150. package/lib/cjs/widget/components/ReportMappings.js +30 -12
  151. package/lib/cjs/widget/components/ReportMappings.js.map +1 -1
  152. package/lib/cjs/widget/components/Reports.d.ts +9 -1
  153. package/lib/cjs/widget/components/Reports.d.ts.map +1 -1
  154. package/lib/cjs/widget/components/Reports.js +12 -9
  155. package/lib/cjs/widget/components/Reports.js.map +1 -1
  156. package/lib/cjs/widget/components/Reports.scss +0 -1
  157. package/lib/cjs/widget/components/ReportsConfigContext.d.ts +8 -0
  158. package/lib/cjs/widget/components/ReportsConfigContext.d.ts.map +1 -1
  159. package/lib/cjs/widget/components/ReportsConfigContext.js +20 -7
  160. package/lib/cjs/widget/components/ReportsConfigContext.js.map +1 -1
  161. package/lib/cjs/widget/components/ReportsContainer.d.ts +1 -1
  162. package/lib/cjs/widget/components/ReportsContainer.d.ts.map +1 -1
  163. package/lib/cjs/widget/components/ReportsContainer.js +7 -5
  164. package/lib/cjs/widget/components/ReportsContainer.js.map +1 -1
  165. package/lib/cjs/widget/components/ReportsContainer.scss +1 -1
  166. package/lib/cjs/widget/components/ReportsHeader.d.ts +1 -1
  167. package/lib/cjs/widget/components/ReportsHeader.d.ts.map +1 -1
  168. package/lib/cjs/widget/components/ReportsHeader.js +6 -7
  169. package/lib/cjs/widget/components/ReportsHeader.js.map +1 -1
  170. package/lib/cjs/widget/components/ReportsRouter.d.ts.map +1 -1
  171. package/lib/cjs/widget/components/ReportsRouter.js +3 -3
  172. package/lib/cjs/widget/components/ReportsRouter.js.map +1 -1
  173. package/lib/cjs/widget/components/SearchBar.d.ts +1 -1
  174. package/lib/cjs/widget/components/SearchBar.d.ts.map +1 -1
  175. package/lib/cjs/widget/components/SearchBar.js +9 -5
  176. package/lib/cjs/widget/components/SearchBar.js.map +1 -1
  177. package/lib/cjs/widget/components/SelectIModel.d.ts +1 -1
  178. package/lib/cjs/widget/components/SelectIModel.d.ts.map +1 -1
  179. package/lib/cjs/widget/components/SelectIModel.js +7 -3
  180. package/lib/cjs/widget/components/SelectIModel.js.map +1 -1
  181. package/lib/cjs/widget/components/SelectIModel.scss +1 -1
  182. package/lib/cjs/widget/components/utils.d.ts +1 -1
  183. package/lib/cjs/widget/components/utils.d.ts.map +1 -1
  184. package/lib/cjs/widget/components/utils.js +5 -5
  185. package/lib/cjs/widget/components/utils.js.map +1 -1
  186. package/lib/cjs/widget/components/utils.scss +1 -1
  187. package/lib/cjs/widget/context/BulkExtractorContext.d.ts.map +1 -1
  188. package/lib/cjs/widget/context/BulkExtractorContext.js +5 -1
  189. package/lib/cjs/widget/context/BulkExtractorContext.js.map +1 -1
  190. package/lib/cjs/widget/context/ReportsConfigApiContext.d.ts.map +1 -1
  191. package/lib/cjs/widget/context/ReportsConfigApiContext.js +5 -1
  192. package/lib/cjs/widget/context/ReportsConfigApiContext.js.map +1 -1
  193. package/lib/cjs/widget/hooks/useValidator.d.ts +1 -4
  194. package/lib/cjs/widget/hooks/useValidator.d.ts.map +1 -1
  195. package/lib/cjs/widget/hooks/useValidator.js +3 -3
  196. package/lib/cjs/widget/hooks/useValidator.js.map +1 -1
  197. package/lib/esm/ReportsConfigWidget.d.ts +4 -0
  198. package/lib/esm/ReportsConfigWidget.d.ts.map +1 -1
  199. package/lib/esm/ReportsConfigWidget.js +4 -0
  200. package/lib/esm/ReportsConfigWidget.js.map +1 -1
  201. package/lib/esm/reports-config-widget-react.js +3 -3
  202. package/lib/esm/reports-config-widget-react.js.map +1 -1
  203. package/lib/esm/test/AddMappingModal.test.js +12 -64
  204. package/lib/esm/test/AddMappingModal.test.js.map +1 -1
  205. package/lib/esm/test/BulkExtractor.test.js +69 -44
  206. package/lib/esm/test/BulkExtractor.test.js.map +1 -1
  207. package/lib/esm/test/DeleteModal.test.js +4 -4
  208. package/lib/esm/test/DeleteModal.test.js.map +1 -1
  209. package/lib/esm/test/ReportAction.test.js +7 -5
  210. package/lib/esm/test/ReportAction.test.js.map +1 -1
  211. package/lib/esm/test/ReportMappingHorizontalTile.test.js +66 -80
  212. package/lib/esm/test/ReportMappingHorizontalTile.test.js.map +1 -1
  213. package/lib/esm/test/ReportMappings.test.js +42 -73
  214. package/lib/esm/test/ReportMappings.test.js.map +1 -1
  215. package/lib/esm/test/Reports.test.js +32 -51
  216. package/lib/esm/test/Reports.test.js.map +1 -1
  217. package/lib/esm/test/WidgetHeader.test.js +3 -3
  218. package/lib/esm/test/WidgetHeader.test.js.map +1 -1
  219. package/lib/esm/test/test-utils.d.ts +38 -0
  220. package/lib/esm/test/test-utils.d.ts.map +1 -1
  221. package/lib/esm/test/test-utils.js +73 -3
  222. package/lib/esm/test/test-utils.js.map +1 -1
  223. package/lib/esm/tsconfig.tsbuildinfo +1 -1
  224. package/lib/esm/widget/ReportsConfigUiProvider.d.ts +7 -0
  225. package/lib/esm/widget/ReportsConfigUiProvider.d.ts.map +1 -1
  226. package/lib/esm/widget/ReportsConfigUiProvider.js +9 -4
  227. package/lib/esm/widget/ReportsConfigUiProvider.js.map +1 -1
  228. package/lib/esm/widget/components/ActionPanel.d.ts.map +1 -1
  229. package/lib/esm/widget/components/ActionPanel.js.map +1 -1
  230. package/lib/esm/widget/components/AddMappingsModal.d.ts +1 -1
  231. package/lib/esm/widget/components/AddMappingsModal.d.ts.map +1 -1
  232. package/lib/esm/widget/components/AddMappingsModal.js +7 -7
  233. package/lib/esm/widget/components/AddMappingsModal.js.map +1 -1
  234. package/lib/esm/widget/components/AddMappingsModal.scss +1 -1
  235. package/lib/esm/widget/components/BulkExtractor.d.ts +7 -4
  236. package/lib/esm/widget/components/BulkExtractor.d.ts.map +1 -1
  237. package/lib/esm/widget/components/BulkExtractor.js +53 -36
  238. package/lib/esm/widget/components/BulkExtractor.js.map +1 -1
  239. package/lib/esm/widget/components/Constants.d.ts +1 -0
  240. package/lib/esm/widget/components/Constants.d.ts.map +1 -1
  241. package/lib/esm/widget/components/Constants.js +4 -3
  242. package/lib/esm/widget/components/Constants.js.map +1 -1
  243. package/lib/esm/widget/components/DeleteModal.d.ts +1 -1
  244. package/lib/esm/widget/components/DeleteModal.d.ts.map +1 -1
  245. package/lib/esm/widget/components/DeleteModal.js +6 -6
  246. package/lib/esm/widget/components/DeleteModal.js.map +1 -1
  247. package/lib/esm/widget/components/DeleteModal.scss +2 -2
  248. package/lib/esm/widget/components/ExtractionStates/FailedExtractionState.d.ts.map +1 -1
  249. package/lib/esm/widget/components/ExtractionStates/FailedExtractionState.js +3 -3
  250. package/lib/esm/widget/components/ExtractionStates/FailedExtractionState.js.map +1 -1
  251. package/lib/esm/widget/components/ExtractionStates/QueuedExtractionState.d.ts.map +1 -1
  252. package/lib/esm/widget/components/ExtractionStates/QueuedExtractionState.js +3 -3
  253. package/lib/esm/widget/components/ExtractionStates/QueuedExtractionState.js.map +1 -1
  254. package/lib/esm/widget/components/ExtractionStates/RunningExtractionState.d.ts.map +1 -1
  255. package/lib/esm/widget/components/ExtractionStates/RunningExtractionState.js +3 -3
  256. package/lib/esm/widget/components/ExtractionStates/RunningExtractionState.js.map +1 -1
  257. package/lib/esm/widget/components/ExtractionStates/StartingExtractionState.d.ts.map +1 -1
  258. package/lib/esm/widget/components/ExtractionStates/StartingExtractionState.js +3 -3
  259. package/lib/esm/widget/components/ExtractionStates/StartingExtractionState.js.map +1 -1
  260. package/lib/esm/widget/components/ExtractionStates/SucceededExtractionState.d.ts.map +1 -1
  261. package/lib/esm/widget/components/ExtractionStates/SucceededExtractionState.js +3 -3
  262. package/lib/esm/widget/components/ExtractionStates/SucceededExtractionState.js.map +1 -1
  263. package/lib/esm/widget/components/ExtractionStatus.d.ts +1 -1
  264. package/lib/esm/widget/components/ExtractionStatus.d.ts.map +1 -1
  265. package/lib/esm/widget/components/ExtractionStatus.js +9 -9
  266. package/lib/esm/widget/components/ExtractionStatus.js.map +1 -1
  267. package/lib/esm/widget/components/ExtractionStatus.scss +1 -1
  268. package/lib/esm/widget/components/ExtractionToast.d.ts.map +1 -1
  269. package/lib/esm/widget/components/ExtractionToast.js +3 -3
  270. package/lib/esm/widget/components/ExtractionToast.js.map +1 -1
  271. package/lib/esm/widget/components/HorizontalTile.d.ts.map +1 -1
  272. package/lib/esm/widget/components/HorizontalTile.js +1 -2
  273. package/lib/esm/widget/components/HorizontalTile.js.map +1 -1
  274. package/lib/esm/widget/components/HorizontalTile.scss +1 -4
  275. package/lib/esm/widget/components/LocalizedTablePaginator.d.ts.map +1 -1
  276. package/lib/esm/widget/components/LocalizedTablePaginator.js +1 -1
  277. package/lib/esm/widget/components/LocalizedTablePaginator.js.map +1 -1
  278. package/lib/esm/widget/components/ReportAction.d.ts +8 -0
  279. package/lib/esm/widget/components/ReportAction.d.ts.map +1 -1
  280. package/lib/esm/widget/components/ReportAction.js +10 -8
  281. package/lib/esm/widget/components/ReportAction.js.map +1 -1
  282. package/lib/esm/widget/components/ReportAction.scss +1 -1
  283. package/lib/esm/widget/components/ReportHorizontalTile.d.ts.map +1 -1
  284. package/lib/esm/widget/components/ReportHorizontalTile.js +6 -6
  285. package/lib/esm/widget/components/ReportHorizontalTile.js.map +1 -1
  286. package/lib/esm/widget/components/ReportMappingHorizontalTile.d.ts.map +1 -1
  287. package/lib/esm/widget/components/ReportMappingHorizontalTile.js +47 -46
  288. package/lib/esm/widget/components/ReportMappingHorizontalTile.js.map +1 -1
  289. package/lib/esm/widget/components/ReportMappings.d.ts +8 -0
  290. package/lib/esm/widget/components/ReportMappings.d.ts.map +1 -1
  291. package/lib/esm/widget/components/ReportMappings.js +28 -14
  292. package/lib/esm/widget/components/ReportMappings.js.map +1 -1
  293. package/lib/esm/widget/components/Reports.d.ts +9 -1
  294. package/lib/esm/widget/components/Reports.d.ts.map +1 -1
  295. package/lib/esm/widget/components/Reports.js +8 -9
  296. package/lib/esm/widget/components/Reports.js.map +1 -1
  297. package/lib/esm/widget/components/Reports.scss +0 -1
  298. package/lib/esm/widget/components/ReportsConfigContext.d.ts +8 -0
  299. package/lib/esm/widget/components/ReportsConfigContext.d.ts.map +1 -1
  300. package/lib/esm/widget/components/ReportsConfigContext.js +17 -8
  301. package/lib/esm/widget/components/ReportsConfigContext.js.map +1 -1
  302. package/lib/esm/widget/components/ReportsContainer.d.ts +1 -1
  303. package/lib/esm/widget/components/ReportsContainer.d.ts.map +1 -1
  304. package/lib/esm/widget/components/ReportsContainer.js +2 -4
  305. package/lib/esm/widget/components/ReportsContainer.js.map +1 -1
  306. package/lib/esm/widget/components/ReportsContainer.scss +1 -1
  307. package/lib/esm/widget/components/ReportsHeader.d.ts +1 -1
  308. package/lib/esm/widget/components/ReportsHeader.d.ts.map +1 -1
  309. package/lib/esm/widget/components/ReportsHeader.js +6 -7
  310. package/lib/esm/widget/components/ReportsHeader.js.map +1 -1
  311. package/lib/esm/widget/components/ReportsRouter.d.ts.map +1 -1
  312. package/lib/esm/widget/components/ReportsRouter.js +3 -3
  313. package/lib/esm/widget/components/ReportsRouter.js.map +1 -1
  314. package/lib/esm/widget/components/SearchBar.d.ts +1 -1
  315. package/lib/esm/widget/components/SearchBar.d.ts.map +1 -1
  316. package/lib/esm/widget/components/SearchBar.js +4 -4
  317. package/lib/esm/widget/components/SearchBar.js.map +1 -1
  318. package/lib/esm/widget/components/SelectIModel.d.ts +1 -1
  319. package/lib/esm/widget/components/SelectIModel.d.ts.map +1 -1
  320. package/lib/esm/widget/components/SelectIModel.js +3 -3
  321. package/lib/esm/widget/components/SelectIModel.js.map +1 -1
  322. package/lib/esm/widget/components/SelectIModel.scss +1 -1
  323. package/lib/esm/widget/components/utils.d.ts +1 -1
  324. package/lib/esm/widget/components/utils.d.ts.map +1 -1
  325. package/lib/esm/widget/components/utils.js +6 -6
  326. package/lib/esm/widget/components/utils.js.map +1 -1
  327. package/lib/esm/widget/components/utils.scss +1 -1
  328. package/lib/esm/widget/context/BulkExtractorContext.d.ts.map +1 -1
  329. package/lib/esm/widget/context/BulkExtractorContext.js.map +1 -1
  330. package/lib/esm/widget/context/ReportsConfigApiContext.d.ts.map +1 -1
  331. package/lib/esm/widget/context/ReportsConfigApiContext.js.map +1 -1
  332. package/lib/esm/widget/hooks/useValidator.d.ts +1 -4
  333. package/lib/esm/widget/hooks/useValidator.d.ts.map +1 -1
  334. package/lib/esm/widget/hooks/useValidator.js +3 -3
  335. package/lib/esm/widget/hooks/useValidator.js.map +1 -1
  336. package/package.json +37 -31
  337. package/src/ReportsConfigWidget.ts +9 -9
  338. package/src/reports-config-widget-react.ts +3 -3
  339. package/src/test/AddMappingModal.test.tsx +47 -122
  340. package/src/test/BulkExtractor.test.ts +73 -118
  341. package/src/test/DeleteModal.test.tsx +6 -23
  342. package/src/test/ReportAction.test.tsx +20 -38
  343. package/src/test/ReportMappingHorizontalTile.test.tsx +140 -161
  344. package/src/test/ReportMappings.test.tsx +80 -146
  345. package/src/test/Reports.test.tsx +57 -169
  346. package/src/test/WidgetHeader.test.tsx +3 -3
  347. package/src/test/test-utils.tsx +80 -9
  348. package/src/widget/ReportsConfigUiProvider.tsx +16 -30
  349. package/src/widget/components/ActionPanel.tsx +3 -14
  350. package/src/widget/components/AddMappingsModal.scss +1 -1
  351. package/src/widget/components/AddMappingsModal.tsx +19 -51
  352. package/src/widget/components/BulkExtractor.ts +63 -54
  353. package/src/widget/components/Constants.ts +5 -3
  354. package/src/widget/components/DeleteModal.scss +2 -2
  355. package/src/widget/components/DeleteModal.tsx +11 -41
  356. package/src/widget/components/ExtractionStates/FailedExtractionState.tsx +4 -9
  357. package/src/widget/components/ExtractionStates/QueuedExtractionState.tsx +4 -9
  358. package/src/widget/components/ExtractionStates/RunningExtractionState.tsx +4 -9
  359. package/src/widget/components/ExtractionStates/StartingExtractionState.tsx +4 -11
  360. package/src/widget/components/ExtractionStates/SucceededExtractionState.tsx +4 -9
  361. package/src/widget/components/ExtractionStatus.scss +1 -1
  362. package/src/widget/components/ExtractionStatus.tsx +9 -18
  363. package/src/widget/components/ExtractionToast.tsx +12 -9
  364. package/src/widget/components/HorizontalTile.scss +1 -4
  365. package/src/widget/components/HorizontalTile.tsx +12 -33
  366. package/src/widget/components/LocalizedTablePaginator.tsx +13 -44
  367. package/src/widget/components/ReportAction.scss +1 -1
  368. package/src/widget/components/ReportAction.tsx +26 -39
  369. package/src/widget/components/ReportHorizontalTile.tsx +45 -55
  370. package/src/widget/components/ReportMappingHorizontalTile.tsx +70 -78
  371. package/src/widget/components/ReportMappings.tsx +59 -130
  372. package/src/widget/components/Reports.scss +0 -1
  373. package/src/widget/components/Reports.tsx +28 -82
  374. package/src/widget/components/ReportsConfigContext.tsx +32 -26
  375. package/src/widget/components/ReportsContainer.scss +1 -1
  376. package/src/widget/components/ReportsContainer.tsx +8 -21
  377. package/src/widget/components/ReportsHeader.tsx +6 -19
  378. package/src/widget/components/ReportsRouter.tsx +4 -6
  379. package/src/widget/components/SearchBar.tsx +9 -13
  380. package/src/widget/components/SelectIModel.scss +1 -1
  381. package/src/widget/components/SelectIModel.tsx +10 -25
  382. package/src/widget/components/utils.scss +1 -1
  383. package/src/widget/components/utils.tsx +21 -69
  384. package/src/widget/context/BulkExtractorContext.tsx +4 -6
  385. package/src/widget/context/ReportsConfigApiContext.tsx +4 -6
  386. package/src/widget/hooks/useValidator.ts +10 -24
  387. package/tsconfig.json +11 -11
  388. package/.rush/temp/operation/rebuild/all.log +0 -9
  389. package/.rush/temp/operation/rebuild/state.json +0 -3
  390. package/.rush/temp/package-deps_rebuild.json +0 -68
  391. package/.rush/temp/shrinkwrap-deps.json +0 -898
  392. package/reports-config-widget-react.build.error.log +0 -14
  393. package/reports-config-widget-react.build.log +0 -63
@@ -1,87 +1,22 @@
1
1
  /*---------------------------------------------------------------------------------------------
2
- * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
- * See LICENSE.md in the project root for license terms and full copyright notice.
4
- *--------------------------------------------------------------------------------------------*/
2
+ * Copyright (c) Bentley Systems, Incorporated. All rights reserved.
3
+ * See LICENSE.md in the project root for license terms and full copyright notice.
4
+ *--------------------------------------------------------------------------------------------*/
5
5
  import React from "react";
6
6
  import faker from "@faker-js/faker";
7
7
  import "@testing-library/jest-dom";
8
8
  import { ReportsConfigWidget } from "../ReportsConfigWidget";
9
- import {
10
- fireEvent,
11
- render,
12
- screen,
13
- waitFor,
14
- within,
15
- } from "./test-utils";
9
+ import { fireEvent, mockIModelId1, mockIModelsResponse, mockReportId, render, screen, waitFor, within } from "./test-utils";
16
10
  import * as moq from "typemoq";
17
- import type {
18
- MappingSingle,
19
- ReportMappingCollection,
20
- } from "@itwin/insights-client";
11
+ import type { MappingContainer, ReportMappingCollection } from "@itwin/insights-client";
21
12
  import type { ReportMappingAndMapping } from "../widget/components/ReportMappings";
22
- import type { GetSingleIModelParams, IModelOperations, OperationOptions } from "@itwin/imodels-client-management";
23
- import { IModelState } from "@itwin/imodels-client-management";
13
+ import type { GetSingleIModelParams } from "@itwin/imodels-client-management";
24
14
  import { BeEvent } from "@itwin/core-bentley";
25
15
  import { ExtractionStates } from "../widget/components/ExtractionStatus";
26
16
  import { ReportMappingHorizontalTile } from "../widget/components/ReportMappingHorizontalTile";
27
17
  import { EmptyLocalization } from "@itwin/core-common";
28
18
  import type { BulkExtractor } from "../widget/components/BulkExtractor";
29
-
30
- const mockITwinId = faker.datatype.uuid();
31
- // Lets work with two iModels for now.
32
- const mockIModelId1 = faker.datatype.uuid();
33
- const mockIModelId2 = faker.datatype.uuid();
34
-
35
- const mockReportId = faker.datatype.uuid();
36
-
37
- const mockIModelsResponse = [
38
- {
39
- iModel: {
40
- id: mockIModelId1,
41
- displayName: "rAnDoMdIsPlAynAmE1",
42
- name: "rAnDomName1",
43
- description: "rAnDoMDeScRiPtIoN1",
44
- createdDateTime: "2021-10-04T22:13:50.397Z",
45
- state: IModelState.Initialized,
46
- projectId: mockITwinId,
47
- extent: null,
48
- _links: {
49
- creator: {
50
- href: "",
51
- },
52
- namedVersions: {
53
- href: "",
54
- },
55
- changesets: {
56
- href: "",
57
- },
58
- },
59
- },
60
- },
61
- {
62
- iModel: {
63
- id: mockIModelId2,
64
- displayName: "rAnDoMdIsPlAynAmE2",
65
- name: "rAnDomName2",
66
- description: "rAnDoMDeScRiPtIoN2",
67
- createdDateTime: "2021-10-04T22:13:50.397Z",
68
- state: IModelState.Initialized,
69
- projectId: mockITwinId,
70
- extent: null,
71
- _links: {
72
- creator: {
73
- href: "",
74
- },
75
- namedVersions: {
76
- href: "",
77
- },
78
- changesets: {
79
- href: "",
80
- },
81
- },
82
- },
83
- },
84
- ];
19
+ import type { IModelOperations, OperationOptions } from "@itwin/imodels-client-management/lib/operations";
85
20
 
86
21
  const mockProjectIModels = {
87
22
  iModels: mockIModelsResponse.map((iModel) => ({
@@ -142,29 +77,25 @@ const mockReportMappingsFactory = (): ReportMappingCollection => {
142
77
  };
143
78
  };
144
79
 
145
- const mockMappingsFactory = (
146
- mockReportMappings: ReportMappingCollection
147
- ): MappingSingle[] => {
148
- const mockMappings: MappingSingle[] = mockReportMappings.mappings.map(
149
- (mapping, index) => ({
150
- mapping: {
151
- id: mapping.mappingId,
152
- mappingName: `mOcKMaPpIngNaMe${index}`,
153
- description: `mOcKmApPInGDeScRiPtIoN${index}`,
154
- extractionEnabled: false,
155
- createdOn: "",
156
- createdBy: "",
157
- modifiedOn: "",
158
- modifiedBy: "",
159
- _links: {
160
- imodel: {
161
- // Tie the mapping to to the iModel Id
162
- href: mapping.imodelId,
163
- },
80
+ const mockMappingsFactory = (mockReportMappings: ReportMappingCollection): MappingContainer[] => {
81
+ const mockMappings: MappingContainer[] = mockReportMappings.mappings.map((mapping, index) => ({
82
+ mapping: {
83
+ id: mapping.mappingId,
84
+ mappingName: `mOcKMaPpIngNaMe${index}`,
85
+ description: `mOcKmApPInGDeScRiPtIoN${index}`,
86
+ extractionEnabled: false,
87
+ createdOn: "",
88
+ createdBy: "",
89
+ modifiedOn: "",
90
+ modifiedBy: "",
91
+ _links: {
92
+ iModel: {
93
+ // Tie the mapping to to the iModel Id
94
+ href: mapping.imodelId,
164
95
  },
165
96
  },
166
- })
167
- );
97
+ },
98
+ }));
168
99
 
169
100
  return mockMappings;
170
101
  };
@@ -172,18 +103,17 @@ const mockMappingsFactory = (
172
103
  const mockReportMappingsAndMappingsFactory = (): ReportMappingAndMapping[] => {
173
104
  const reportMappings = mockReportMappingsFactory();
174
105
  const mockMappings = mockMappingsFactory(reportMappings);
175
- const reportMappingsAndMapping =
176
- reportMappings.mappings.map((reportMapping) => {
177
- const mapping = mockMappings.find((x) => x.mapping.id === reportMapping.mappingId)!.mapping;
178
- const iModelName = mockProjectIModels.iModels.find((x) => x.id === reportMapping.imodelId)!.displayName;
179
- const reportMappingAndMapping: ReportMappingAndMapping = {
180
- ...reportMapping,
181
- iModelName,
182
- mappingName: mapping.mappingName,
183
- mappingDescription: mapping.description ?? "",
184
- };
185
- return reportMappingAndMapping;
186
- });
106
+ const reportMappingsAndMapping = reportMappings.mappings.map((reportMapping) => {
107
+ const mapping = mockMappings.find((x) => x.mapping.id === reportMapping.mappingId)!.mapping;
108
+ const iModelName = mockProjectIModels.iModels.find((x) => x.id === reportMapping.imodelId)!.displayName;
109
+ const reportMappingAndMapping: ReportMappingAndMapping = {
110
+ ...reportMapping,
111
+ iModelName,
112
+ mappingName: mapping.mappingName,
113
+ mappingDescription: mapping.description ?? "",
114
+ };
115
+ return reportMappingAndMapping;
116
+ });
187
117
  return reportMappingsAndMapping;
188
118
  };
189
119
 
@@ -191,6 +121,7 @@ const mockBulkExtractor = moq.Mock.ofType<BulkExtractor>();
191
121
  const mockIModelsClient = moq.Mock.ofType<IModelOperations<OperationOptions>>();
192
122
 
193
123
  jest.mock("../widget/components/Constants.ts", () => ({
124
+ ...jest.requireActual("../widget/components/Constants.ts"),
194
125
  STATUS_CHECK_INTERVAL: 10,
195
126
  }));
196
127
 
@@ -210,16 +141,19 @@ describe("Report Mapping Horizontal Tile", () => {
210
141
  it("tile renders correctly", async () => {
211
142
  const firstMockMapping = mockReportMappingsAndMappingsFactory()[0];
212
143
 
213
- mockBulkExtractor.setup(async (x) => x.getIModelState(firstMockMapping.imodelId, firstMockMapping.iModelName, mockOdataFeedUrl))
144
+ mockBulkExtractor
145
+ .setup(async (x) => x.getIModelState(firstMockMapping.imodelId, firstMockMapping.iModelName, mockOdataFeedUrl))
214
146
  .returns(async () => ExtractionStates.None);
215
147
 
216
- render(<ReportMappingHorizontalTile
217
- jobStartEvent={new BeEvent()}
218
- mapping={firstMockMapping}
219
- onClickDelete={() => { }}
220
- bulkExtractor={mockBulkExtractor.object}
221
- odataFeedUrl={mockOdataFeedUrl}
222
- />);
148
+ render(
149
+ <ReportMappingHorizontalTile
150
+ jobStartEvent={new BeEvent()}
151
+ mapping={firstMockMapping}
152
+ onClickDelete={() => {}}
153
+ bulkExtractor={mockBulkExtractor.object}
154
+ odataFeedUrl={mockOdataFeedUrl}
155
+ />,
156
+ );
223
157
 
224
158
  mockBulkExtractor.verify(async (x) => x.getIModelState(firstMockMapping.imodelId, firstMockMapping.iModelName, mockOdataFeedUrl), moq.Times.once());
225
159
  await waitFor(() => expect(screen.getByRole("button", { name: /UpdateDataset/i })).not.toBeDisabled(), { timeout: 1000 });
@@ -233,22 +167,32 @@ describe("Report Mapping Horizontal Tile", () => {
233
167
 
234
168
  it("starting extraction sends request", async () => {
235
169
  const firstMockMapping = mockReportMappingsAndMappingsFactory()[0];
236
-
237
- mockBulkExtractor.setup(async (x) => x.runIModelExtraction(firstMockMapping.imodelId))
238
- .returns(async () => { return Promise.resolve(); });
239
-
240
- mockBulkExtractor.setup(async (x) => x.getIModelState(firstMockMapping.imodelId, firstMockMapping.iModelName, mockOdataFeedUrl))
170
+ const firstMockExtractionRequest = {
171
+ mappings: [{ id: firstMockMapping.mappingId }],
172
+ iModelId: firstMockMapping.imodelId,
173
+ };
174
+
175
+ mockBulkExtractor
176
+ .setup(async (x) => x.runIModelExtraction(firstMockExtractionRequest))
177
+ .returns(async () => {
178
+ return Promise.resolve();
179
+ });
180
+
181
+ mockBulkExtractor
182
+ .setup(async (x) => x.getIModelState(firstMockMapping.imodelId, firstMockMapping.iModelName, mockOdataFeedUrl))
241
183
  .returns(async () => ExtractionStates.None);
242
184
 
243
185
  const jobStartEvent = new BeEvent<(iModelId: string) => void>();
244
186
 
245
- const { user } = render(<ReportMappingHorizontalTile
246
- jobStartEvent={jobStartEvent}
247
- mapping={firstMockMapping}
248
- onClickDelete={() => { }}
249
- bulkExtractor={mockBulkExtractor.object}
250
- odataFeedUrl={mockOdataFeedUrl}
251
- />);
187
+ const { user } = render(
188
+ <ReportMappingHorizontalTile
189
+ jobStartEvent={jobStartEvent}
190
+ mapping={firstMockMapping}
191
+ onClickDelete={() => {}}
192
+ bulkExtractor={mockBulkExtractor.object}
193
+ odataFeedUrl={mockOdataFeedUrl}
194
+ />,
195
+ );
252
196
 
253
197
  mockBulkExtractor.verify(async (x) => x.getIModelState(firstMockMapping.imodelId, firstMockMapping.iModelName, mockOdataFeedUrl), moq.Times.once());
254
198
  await waitFor(() => expect(screen.getByRole("button", { name: /UpdateDataset/i })).not.toBeDisabled(), { timeout: 1000 });
@@ -256,29 +200,39 @@ describe("Report Mapping Horizontal Tile", () => {
256
200
  const startExtractionButton = screen.getByRole("button", { name: /UpdateDataset/i });
257
201
  await user.click(startExtractionButton);
258
202
 
259
- mockBulkExtractor.verify(async (x) => x.runIModelExtraction(firstMockMapping.imodelId), moq.Times.once());
203
+ mockBulkExtractor.verify(async (x) => x.runIModelExtraction(firstMockExtractionRequest), moq.Times.once());
260
204
  });
261
205
 
262
206
  it("on delete is called when remove is pressed", async () => {
263
207
  const firstMockMapping = mockReportMappingsAndMappingsFactory()[0];
264
-
265
- mockBulkExtractor.setup(async (x) => x.runIModelExtraction(firstMockMapping.imodelId))
266
- .returns(async () => { return Promise.resolve(); });
267
-
268
- mockBulkExtractor.setup(async (x) => x.getIModelState(firstMockMapping.imodelId, firstMockMapping.iModelName, mockOdataFeedUrl))
208
+ const firstMockExtractionRequest = {
209
+ mappings: [{ id: firstMockMapping.mappingId }],
210
+ iModelId: firstMockMapping.imodelId,
211
+ };
212
+
213
+ mockBulkExtractor
214
+ .setup(async (x) => x.runIModelExtraction(firstMockExtractionRequest))
215
+ .returns(async () => {
216
+ return Promise.resolve();
217
+ });
218
+
219
+ mockBulkExtractor
220
+ .setup(async (x) => x.getIModelState(firstMockMapping.imodelId, firstMockMapping.iModelName, mockOdataFeedUrl))
269
221
  .returns(async () => ExtractionStates.None);
270
222
 
271
223
  const mockOnClickDelete = jest.fn();
272
224
 
273
225
  const jobStartEvent = new BeEvent<(iModelId: string) => void>();
274
226
 
275
- const { user } = render(<ReportMappingHorizontalTile
276
- jobStartEvent={jobStartEvent}
277
- mapping={firstMockMapping}
278
- onClickDelete={mockOnClickDelete}
279
- bulkExtractor={mockBulkExtractor.object}
280
- odataFeedUrl={mockOdataFeedUrl}
281
- />);
227
+ const { user } = render(
228
+ <ReportMappingHorizontalTile
229
+ jobStartEvent={jobStartEvent}
230
+ mapping={firstMockMapping}
231
+ onClickDelete={mockOnClickDelete}
232
+ bulkExtractor={mockBulkExtractor.object}
233
+ odataFeedUrl={mockOdataFeedUrl}
234
+ />,
235
+ );
282
236
 
283
237
  await waitFor(() => expect(screen.getByRole("button", { name: /Remove/i })).not.toBeDisabled(), { timeout: 1000 });
284
238
 
@@ -290,53 +244,68 @@ describe("Report Mapping Horizontal Tile", () => {
290
244
 
291
245
  it("full extraction status cycle", async () => {
292
246
  const firstMockMapping = mockReportMappingsAndMappingsFactory()[0];
247
+ const firstMockExtractionRequest = {
248
+ mappings: [{ id: firstMockMapping.mappingId }],
249
+ iModelId: firstMockMapping.imodelId,
250
+ };
293
251
 
294
- mockIModelsClient.setup(async (x) => x.getSingle(moq.It.isObjectWith<GetSingleIModelParams>({ iModelId: mockIModelId1 })))
252
+ mockIModelsClient
253
+ .setup(async (x) => x.getSingle(moq.It.isObjectWith<GetSingleIModelParams>({ iModelId: mockIModelId1 })))
295
254
  .returns(async () => mockIModelsResponse[0].iModel);
296
255
 
297
- mockBulkExtractor.setup(async (x) => x.runIModelExtraction(firstMockMapping.imodelId))
298
- .returns(async () => { return Promise.resolve(); });
256
+ mockBulkExtractor
257
+ .setup(async (x) => x.runIModelExtraction(firstMockExtractionRequest))
258
+ .returns(async () => {
259
+ return Promise.resolve();
260
+ });
299
261
 
300
- mockBulkExtractor.setup(async (x) => x.getIModelState(firstMockMapping.imodelId, firstMockMapping.iModelName, mockOdataFeedUrl))
262
+ mockBulkExtractor
263
+ .setup(async (x) => x.getIModelState(firstMockMapping.imodelId, firstMockMapping.iModelName, mockOdataFeedUrl))
301
264
  .returns(async () => ExtractionStates.None);
302
265
 
303
266
  const mockOnClickDelete = jest.fn();
304
267
 
305
268
  const jobStartEvent = new BeEvent<(iModelId: string) => void>();
306
269
 
307
- const { user } = render(<ReportMappingHorizontalTile
308
- jobStartEvent={jobStartEvent}
309
- mapping={firstMockMapping}
310
- onClickDelete={mockOnClickDelete}
311
- bulkExtractor={mockBulkExtractor.object}
312
- odataFeedUrl={mockOdataFeedUrl}
313
- />);
270
+ const { user } = render(
271
+ <ReportMappingHorizontalTile
272
+ jobStartEvent={jobStartEvent}
273
+ mapping={firstMockMapping}
274
+ onClickDelete={mockOnClickDelete}
275
+ bulkExtractor={mockBulkExtractor.object}
276
+ odataFeedUrl={mockOdataFeedUrl}
277
+ />,
278
+ );
314
279
 
315
280
  await waitFor(() => expect(screen.getByRole("button", { name: /UpdateDataset/i })).not.toBeDisabled(), { timeout: 1000 });
316
281
 
317
- mockBulkExtractor.setup(async (x) => x.getIModelState(firstMockMapping.imodelId, firstMockMapping.iModelName, mockOdataFeedUrl))
282
+ mockBulkExtractor
283
+ .setup(async (x) => x.getIModelState(firstMockMapping.imodelId, firstMockMapping.iModelName, mockOdataFeedUrl))
318
284
  .returns(async () => ExtractionStates.Starting);
319
285
 
320
286
  const startExtractionButton = screen.getByRole("button", { name: /UpdateDataset/i });
321
287
  await user.click(startExtractionButton);
322
288
 
323
- mockBulkExtractor.verify(async (x) => x.runIModelExtraction(firstMockMapping.imodelId), moq.Times.once());
289
+ mockBulkExtractor.verify(async (x) => x.runIModelExtraction(firstMockExtractionRequest), moq.Times.once());
324
290
 
325
291
  expect(screen.getByTitle(/Starting/i)).toBeInTheDocument();
326
292
 
327
293
  mockBulkExtractor.reset();
328
- mockBulkExtractor.setup(async (x) => x.getIModelState(firstMockMapping.imodelId, firstMockMapping.iModelName, mockOdataFeedUrl))
294
+ mockBulkExtractor
295
+ .setup(async (x) => x.getIModelState(firstMockMapping.imodelId, firstMockMapping.iModelName, mockOdataFeedUrl))
329
296
  .returns(async () => ExtractionStates.Queued);
330
297
 
331
298
  await waitFor(() => expect(screen.getByTitle(/Queued/i)).toBeInTheDocument(), { timeout: 1000 });
332
299
 
333
300
  mockBulkExtractor.reset();
334
- mockBulkExtractor.setup(async (x) => x.getIModelState(firstMockMapping.imodelId, firstMockMapping.iModelName, mockOdataFeedUrl))
301
+ mockBulkExtractor
302
+ .setup(async (x) => x.getIModelState(firstMockMapping.imodelId, firstMockMapping.iModelName, mockOdataFeedUrl))
335
303
  .returns(async () => ExtractionStates.Running);
336
304
  await waitFor(() => expect(screen.getByTitle(/Running/i)).toBeInTheDocument(), { timeout: 1000 });
337
305
 
338
306
  mockBulkExtractor.reset();
339
- mockBulkExtractor.setup(async (x) => x.getIModelState(firstMockMapping.imodelId, firstMockMapping.iModelName, mockOdataFeedUrl))
307
+ mockBulkExtractor
308
+ .setup(async (x) => x.getIModelState(firstMockMapping.imodelId, firstMockMapping.iModelName, mockOdataFeedUrl))
340
309
  .returns(async () => ExtractionStates.Succeeded);
341
310
  await waitFor(() => expect(screen.getByTitle(/Success/i)).toBeInTheDocument(), { timeout: 1000 });
342
311
 
@@ -349,8 +318,13 @@ describe("Report Mapping Horizontal Tile", () => {
349
318
  const mockReportMappingsAndMappings = mockReportMappingsAndMappingsFactory();
350
319
  const firstMockMapping = mockReportMappingsAndMappings[0];
351
320
  const secondMockMapping = mockReportMappingsAndMappings[1];
321
+ const firstMockExtractionRequest = {
322
+ mappings: [{ id: firstMockMapping.mappingId }],
323
+ iModelId: firstMockMapping.imodelId,
324
+ };
352
325
 
353
- mockBulkExtractor.setup(async (x) => x.getIModelState(firstMockMapping.imodelId, firstMockMapping.iModelName, mockOdataFeedUrl))
326
+ mockBulkExtractor
327
+ .setup(async (x) => x.getIModelState(firstMockMapping.imodelId, firstMockMapping.iModelName, mockOdataFeedUrl))
354
328
  .returns(async () => ExtractionStates.None);
355
329
 
356
330
  const jobStartEvent = new BeEvent<(iModelId: string) => void>();
@@ -360,18 +334,19 @@ describe("Report Mapping Horizontal Tile", () => {
360
334
  <ReportMappingHorizontalTile
361
335
  jobStartEvent={jobStartEvent}
362
336
  mapping={firstMockMapping}
363
- onClickDelete={() => { }}
337
+ onClickDelete={() => {}}
364
338
  bulkExtractor={mockBulkExtractor.object}
365
339
  odataFeedUrl={mockOdataFeedUrl}
366
340
  />
367
341
  <ReportMappingHorizontalTile
368
342
  jobStartEvent={jobStartEvent}
369
343
  mapping={secondMockMapping}
370
- onClickDelete={() => { }}
344
+ onClickDelete={() => {}}
371
345
  bulkExtractor={mockBulkExtractor.object}
372
346
  odataFeedUrl={mockOdataFeedUrl}
373
347
  />
374
- </div>);
348
+ </div>,
349
+ );
375
350
 
376
351
  const tiles = screen.getAllByTestId("horizontal-tile");
377
352
 
@@ -381,11 +356,15 @@ describe("Report Mapping Horizontal Tile", () => {
381
356
  }
382
357
 
383
358
  mockBulkExtractor.reset();
384
- mockBulkExtractor.setup(async (x) => x.getIModelState(firstMockMapping.imodelId, firstMockMapping.iModelName, mockOdataFeedUrl))
359
+ mockBulkExtractor
360
+ .setup(async (x) => x.getIModelState(firstMockMapping.imodelId, firstMockMapping.iModelName, mockOdataFeedUrl))
385
361
  .returns(async () => ExtractionStates.Queued);
386
362
 
387
- mockBulkExtractor.setup(async (x) => x.runIModelExtraction(firstMockMapping.imodelId))
388
- .returns(async () => { return Promise.resolve(); });
363
+ mockBulkExtractor
364
+ .setup(async (x) => x.runIModelExtraction(firstMockExtractionRequest))
365
+ .returns(async () => {
366
+ return Promise.resolve();
367
+ });
389
368
 
390
369
  const startExtractionButton = screen.getAllByRole("button", { name: /UpdateDataset/i })[0];
391
370
  await user.click(startExtractionButton);