@scality/data-browser-library 1.0.0-preview.8 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (303) hide show
  1. package/dist/components/DataBrowserUI.d.ts +12 -0
  2. package/dist/components/DataBrowserUI.js +99 -0
  3. package/dist/components/Editor.d.ts +1 -1
  4. package/dist/components/Editor.js +3 -3
  5. package/dist/components/__tests__/BucketAccessor.test.js +214 -0
  6. package/dist/components/__tests__/BucketCorsPage.test.d.ts +1 -0
  7. package/dist/components/__tests__/BucketCorsPage.test.js +263 -0
  8. package/dist/components/__tests__/BucketCreate.test.d.ts +1 -0
  9. package/dist/components/__tests__/BucketCreate.test.js +574 -0
  10. package/dist/components/__tests__/BucketDetails.test.d.ts +1 -0
  11. package/dist/components/__tests__/BucketDetails.test.js +421 -0
  12. package/dist/components/__tests__/BucketLifecycleFormPage.test.d.ts +14 -0
  13. package/dist/components/__tests__/BucketLifecycleFormPage.test.js +618 -0
  14. package/dist/components/__tests__/BucketLifecycleList.test.d.ts +1 -0
  15. package/dist/components/__tests__/BucketLifecycleList.test.js +325 -0
  16. package/dist/components/__tests__/BucketList.test.js +495 -81
  17. package/dist/components/__tests__/BucketNotificationFormPage.test.d.ts +1 -0
  18. package/dist/components/__tests__/BucketNotificationFormPage.test.js +348 -0
  19. package/dist/components/__tests__/BucketNotificationList.test.d.ts +1 -0
  20. package/dist/components/__tests__/BucketNotificationList.test.js +379 -0
  21. package/dist/components/__tests__/BucketOverview.test.js +484 -179
  22. package/dist/components/__tests__/BucketPolicyPage.test.js +151 -99
  23. package/dist/components/__tests__/BucketReplicationFormPage.test.d.ts +16 -0
  24. package/dist/components/__tests__/BucketReplicationFormPage.test.js +1757 -0
  25. package/dist/components/__tests__/BucketReplicationList.test.d.ts +1 -0
  26. package/dist/components/__tests__/BucketReplicationList.test.js +344 -0
  27. package/dist/components/__tests__/CreateFolderButton.test.js +56 -56
  28. package/dist/components/__tests__/DeleteBucketButton.test.js +64 -64
  29. package/dist/components/__tests__/DeleteBucketConfigRuleButton.test.d.ts +1 -0
  30. package/dist/components/__tests__/DeleteBucketConfigRuleButton.test.js +196 -0
  31. package/dist/components/__tests__/DeleteObjectButton.test.js +64 -64
  32. package/dist/components/__tests__/EmptyBucketButton.test.d.ts +1 -0
  33. package/dist/components/__tests__/EmptyBucketButton.test.js +302 -0
  34. package/dist/components/__tests__/MetadataSearch.test.js +65 -65
  35. package/dist/components/__tests__/ObjectList.test.js +741 -240
  36. package/dist/components/__tests__/UploadButton.test.js +45 -45
  37. package/dist/components/breadcrumb/Breadcrumb.d.ts +6 -0
  38. package/dist/components/breadcrumb/Breadcrumb.js +37 -0
  39. package/dist/components/breadcrumb/DataBrowserBreadcrumb.d.ts +1 -0
  40. package/dist/components/breadcrumb/DataBrowserBreadcrumb.js +10 -0
  41. package/dist/components/breadcrumb/__tests__/Breadcrumb.test.d.ts +1 -0
  42. package/dist/components/breadcrumb/__tests__/Breadcrumb.test.js +196 -0
  43. package/dist/components/breadcrumb/__tests__/DataBrowserBreadcrumb.test.d.ts +1 -0
  44. package/dist/components/breadcrumb/__tests__/DataBrowserBreadcrumb.test.js +153 -0
  45. package/dist/components/breadcrumb/__tests__/useBreadcrumbPaths.test.d.ts +1 -0
  46. package/dist/components/breadcrumb/__tests__/useBreadcrumbPaths.test.js +134 -0
  47. package/dist/components/breadcrumb/index.d.ts +8 -0
  48. package/dist/components/breadcrumb/index.js +4 -0
  49. package/dist/components/breadcrumb/useBreadcrumbPaths.d.ts +2 -0
  50. package/dist/components/breadcrumb/useBreadcrumbPaths.js +82 -0
  51. package/dist/components/buckets/BucketAccessor.d.ts +2 -0
  52. package/dist/components/buckets/BucketAccessor.js +125 -0
  53. package/dist/components/buckets/BucketConfigEditButton.d.ts +8 -0
  54. package/dist/components/buckets/{BucketPolicyButton.js → BucketConfigEditButton.js} +9 -5
  55. package/dist/components/buckets/BucketCorsPage.d.ts +1 -0
  56. package/dist/components/buckets/BucketCorsPage.js +234 -0
  57. package/dist/components/buckets/BucketCreate.d.ts +50 -0
  58. package/dist/components/buckets/BucketCreate.js +279 -0
  59. package/dist/components/buckets/BucketDetails.d.ts +42 -0
  60. package/dist/components/buckets/BucketDetails.js +256 -40
  61. package/dist/components/buckets/BucketLifecycleFormPage.d.ts +15 -0
  62. package/dist/components/buckets/BucketLifecycleFormPage.js +1086 -0
  63. package/dist/components/buckets/BucketLifecycleList.d.ts +10 -0
  64. package/dist/components/buckets/BucketLifecycleList.js +270 -0
  65. package/dist/components/buckets/BucketList.d.ts +6 -4
  66. package/dist/components/buckets/BucketList.js +161 -94
  67. package/dist/components/buckets/BucketLocation.js +4 -4
  68. package/dist/components/buckets/BucketOverview.d.ts +86 -5
  69. package/dist/components/buckets/BucketOverview.js +481 -192
  70. package/dist/components/buckets/BucketPage.js +44 -22
  71. package/dist/components/buckets/BucketPolicyPage.js +155 -127
  72. package/dist/components/buckets/BucketReplicationFormPage.d.ts +1 -0
  73. package/dist/components/buckets/BucketReplicationFormPage.js +835 -0
  74. package/dist/components/buckets/BucketReplicationList.d.ts +11 -0
  75. package/dist/components/buckets/BucketReplicationList.js +189 -0
  76. package/dist/components/buckets/BucketVersioning.d.ts +4 -0
  77. package/dist/components/buckets/BucketVersioning.js +76 -0
  78. package/dist/components/buckets/DeleteBucketButton.js +8 -8
  79. package/dist/components/buckets/DeleteBucketConfigRuleButton.d.ts +18 -0
  80. package/dist/components/buckets/DeleteBucketConfigRuleButton.js +53 -0
  81. package/dist/components/buckets/EmptyBucketButton.d.ts +5 -0
  82. package/dist/components/buckets/EmptyBucketButton.js +232 -0
  83. package/dist/components/buckets/EmptyBucketSummary.d.ts +9 -0
  84. package/dist/components/buckets/EmptyBucketSummary.js +60 -0
  85. package/dist/components/buckets/EmptyBucketSummaryList.d.ts +13 -0
  86. package/dist/components/buckets/EmptyBucketSummaryList.js +140 -0
  87. package/dist/components/buckets/__tests__/BucketVersioning.test.d.ts +1 -0
  88. package/dist/components/buckets/__tests__/BucketVersioning.test.js +163 -0
  89. package/dist/components/buckets/notifications/BucketNotificationFormPage.d.ts +1 -0
  90. package/dist/components/buckets/notifications/BucketNotificationFormPage.js +316 -0
  91. package/dist/components/buckets/notifications/BucketNotificationList.d.ts +10 -0
  92. package/dist/components/buckets/notifications/BucketNotificationList.js +267 -0
  93. package/dist/components/buckets/notifications/EventsSection.js +145 -29
  94. package/dist/components/buckets/notifications/__tests__/events.test.d.ts +1 -0
  95. package/dist/components/buckets/notifications/__tests__/events.test.js +56 -0
  96. package/dist/components/buckets/notifications/events.d.ts +71 -7
  97. package/dist/components/buckets/notifications/events.js +98 -16
  98. package/dist/components/index.d.ts +27 -13
  99. package/dist/components/index.js +20 -6
  100. package/dist/components/layouts/ArrowNavigation.d.ts +3 -0
  101. package/dist/components/layouts/ArrowNavigation.js +28 -0
  102. package/dist/components/layouts/BrowserPageLayout.d.ts +5 -1
  103. package/dist/components/layouts/BrowserPageLayout.js +10 -5
  104. package/dist/components/objects/CreateFolderButton.d.ts +2 -2
  105. package/dist/components/objects/CreateFolderButton.js +12 -12
  106. package/dist/components/objects/DeleteObjectButton.d.ts +1 -1
  107. package/dist/components/objects/DeleteObjectButton.js +19 -21
  108. package/dist/components/objects/GetPresignedUrlButton.d.ts +7 -0
  109. package/dist/components/objects/GetPresignedUrlButton.js +255 -0
  110. package/dist/components/objects/ObjectDetails/ObjectMetadata.d.ts +2 -2
  111. package/dist/components/objects/ObjectDetails/ObjectMetadata.js +263 -230
  112. package/dist/components/objects/ObjectDetails/ObjectSummary.d.ts +2 -2
  113. package/dist/components/objects/ObjectDetails/ObjectSummary.js +540 -138
  114. package/dist/components/objects/ObjectDetails/ObjectTags.d.ts +2 -2
  115. package/dist/components/objects/ObjectDetails/ObjectTags.js +95 -123
  116. package/dist/components/objects/ObjectDetails/__tests__/ObjectDetails.test.d.ts +1 -0
  117. package/dist/components/objects/ObjectDetails/__tests__/ObjectDetails.test.js +516 -0
  118. package/dist/components/objects/ObjectDetails/__tests__/ObjectSummary.test.d.ts +1 -0
  119. package/dist/components/objects/ObjectDetails/__tests__/ObjectSummary.test.js +1064 -0
  120. package/dist/components/objects/ObjectDetails/index.d.ts +18 -2
  121. package/dist/components/objects/ObjectDetails/index.js +152 -40
  122. package/dist/components/objects/ObjectList.d.ts +12 -10
  123. package/dist/components/objects/ObjectList.js +590 -263
  124. package/dist/components/objects/ObjectLock/EditRetentionButton.d.ts +4 -0
  125. package/dist/components/objects/ObjectLock/EditRetentionButton.js +32 -0
  126. package/dist/components/objects/ObjectLock/ObjectLockRetentionSettings.d.ts +3 -0
  127. package/dist/components/objects/ObjectLock/ObjectLockRetentionSettings.js +211 -0
  128. package/dist/components/objects/ObjectLock/ObjectLockSettings.d.ts +9 -0
  129. package/dist/components/objects/ObjectLock/ObjectLockSettings.js +159 -0
  130. package/dist/components/objects/ObjectLock/ObjectLockSettingsUtils.d.ts +8 -0
  131. package/dist/components/objects/ObjectLock/ObjectLockSettingsUtils.js +39 -0
  132. package/dist/components/objects/ObjectLock/__tests__/EditRetentionButton.test.d.ts +1 -0
  133. package/dist/components/objects/ObjectLock/__tests__/EditRetentionButton.test.js +204 -0
  134. package/dist/components/objects/ObjectLock/__tests__/ObjectLockSettings.test.d.ts +1 -0
  135. package/dist/components/objects/ObjectLock/__tests__/ObjectLockSettings.test.js +374 -0
  136. package/dist/components/objects/ObjectPage.js +12 -8
  137. package/dist/components/objects/UploadButton.d.ts +3 -3
  138. package/dist/components/objects/UploadButton.js +10 -10
  139. package/dist/components/objects/__tests__/GetPresignedUrlButton.test.d.ts +1 -0
  140. package/dist/components/objects/__tests__/GetPresignedUrlButton.test.js +531 -0
  141. package/dist/components/providers/DataBrowserProvider.d.ts +23 -12
  142. package/dist/components/providers/DataBrowserProvider.js +60 -38
  143. package/dist/components/providers/QueryProvider.d.ts +9 -0
  144. package/dist/components/providers/QueryProvider.js +21 -0
  145. package/dist/components/search/MetadataSearch.js +29 -28
  146. package/dist/components/search/SearchHints.js +1 -1
  147. package/dist/components/ui/ArrayFieldActions.d.ts +36 -0
  148. package/dist/components/ui/ArrayFieldActions.js +43 -0
  149. package/dist/components/ui/ConfirmDeleteRuleModal.d.ts +16 -0
  150. package/dist/components/ui/ConfirmDeleteRuleModal.js +48 -0
  151. package/dist/components/ui/DeleteObjectModalContent.d.ts +1 -1
  152. package/dist/components/ui/DeleteObjectModalContent.js +12 -12
  153. package/dist/components/ui/FilterFormSection.d.ts +44 -0
  154. package/dist/components/ui/FilterFormSection.js +159 -0
  155. package/dist/components/ui/Search.elements.d.ts +2 -2
  156. package/dist/components/ui/Search.elements.js +7 -7
  157. package/dist/components/ui/Table.elements.d.ts +2 -1
  158. package/dist/components/ui/Table.elements.js +18 -12
  159. package/dist/config/__tests__/factory.test.d.ts +1 -0
  160. package/dist/config/__tests__/factory.test.js +311 -0
  161. package/dist/config/factory.d.ts +14 -49
  162. package/dist/config/factory.js +23 -68
  163. package/dist/config/types.d.ts +212 -34
  164. package/dist/contexts/DataBrowserUICustomizationContext.d.ts +27 -0
  165. package/dist/contexts/DataBrowserUICustomizationContext.js +13 -0
  166. package/dist/hooks/__tests__/useAccessibleBuckets.test.d.ts +1 -0
  167. package/dist/hooks/__tests__/useAccessibleBuckets.test.js +145 -0
  168. package/dist/hooks/__tests__/useISVBucketDetection.test.d.ts +1 -0
  169. package/dist/hooks/__tests__/useISVBucketDetection.test.js +188 -0
  170. package/dist/hooks/__tests__/useIsBucketEmpty.test.js +27 -27
  171. package/dist/hooks/__tests__/useLoginMutation.test.d.ts +1 -0
  172. package/dist/hooks/__tests__/useLoginMutation.test.js +194 -0
  173. package/dist/hooks/bucketConfiguration.d.ts +8 -1
  174. package/dist/hooks/bucketConfiguration.js +52 -51
  175. package/dist/hooks/bucketOperations.d.ts +10 -1
  176. package/dist/hooks/bucketOperations.js +10 -9
  177. package/dist/hooks/factories/__tests__/useCreateS3FunctionMutationHook.test.js +80 -80
  178. package/dist/hooks/factories/__tests__/useCreateS3InfiniteQueryHook.test.js +80 -80
  179. package/dist/hooks/factories/__tests__/useCreateS3LoginHook.test.js +44 -44
  180. package/dist/hooks/factories/__tests__/useCreateS3MutationHook.test.js +63 -63
  181. package/dist/hooks/factories/__tests__/useCreateS3QueryHook.test.js +95 -52
  182. package/dist/hooks/factories/index.d.ts +4 -4
  183. package/dist/hooks/factories/index.js +2 -2
  184. package/dist/hooks/factories/useCreateS3InfiniteQueryHook.d.ts +2 -2
  185. package/dist/hooks/factories/useCreateS3InfiniteQueryHook.js +16 -13
  186. package/dist/hooks/factories/useCreateS3LoginHook.d.ts +2 -2
  187. package/dist/hooks/factories/useCreateS3LoginHook.js +1 -1
  188. package/dist/hooks/factories/useCreateS3MutationHook.d.ts +3 -3
  189. package/dist/hooks/factories/useCreateS3MutationHook.js +7 -2
  190. package/dist/hooks/factories/useCreateS3QueryHook.d.ts +2 -2
  191. package/dist/hooks/factories/useCreateS3QueryHook.js +29 -3
  192. package/dist/hooks/index.d.ts +19 -8
  193. package/dist/hooks/index.js +16 -5
  194. package/dist/hooks/loginOperations.d.ts +1 -1
  195. package/dist/hooks/loginOperations.js +1 -1
  196. package/dist/hooks/objectOperations.d.ts +2 -2
  197. package/dist/hooks/objectOperations.js +50 -49
  198. package/dist/hooks/presignedOperations.d.ts +4 -4
  199. package/dist/hooks/presignedOperations.js +5 -5
  200. package/dist/hooks/useAccessibleBuckets.d.ts +11 -0
  201. package/dist/hooks/useAccessibleBuckets.js +115 -0
  202. package/dist/hooks/useBatchObjectLegalHold.d.ts +11 -0
  203. package/dist/hooks/useBatchObjectLegalHold.js +48 -0
  204. package/dist/hooks/useBucketConfigEditor.d.ts +31 -0
  205. package/dist/hooks/useBucketConfigEditor.js +82 -0
  206. package/dist/hooks/useDataBrowserNavigate.d.ts +28 -0
  207. package/dist/hooks/useDataBrowserNavigate.js +24 -0
  208. package/dist/hooks/useDeleteBucketConfigRule.d.ts +26 -0
  209. package/dist/hooks/useDeleteBucketConfigRule.js +46 -0
  210. package/dist/hooks/useEmptyBucket.d.ts +27 -0
  211. package/dist/hooks/useEmptyBucket.js +116 -0
  212. package/dist/hooks/useFeatures.d.ts +7 -0
  213. package/dist/hooks/useFeatures.js +8 -0
  214. package/dist/hooks/useISVBucketDetection.d.ts +15 -0
  215. package/dist/hooks/useISVBucketDetection.js +27 -0
  216. package/dist/hooks/useIsBucketEmpty.js +4 -4
  217. package/dist/hooks/useLimitedAccessFlow.d.ts +48 -0
  218. package/dist/hooks/useLimitedAccessFlow.js +23 -0
  219. package/dist/hooks/useS3Client.d.ts +6 -0
  220. package/dist/hooks/useS3Client.js +3 -2
  221. package/dist/hooks/useS3ConfigSwitch.d.ts +11 -0
  222. package/dist/hooks/useS3ConfigSwitch.js +37 -0
  223. package/dist/hooks/useSupportedNotificationEvents.d.ts +6 -0
  224. package/dist/hooks/useSupportedNotificationEvents.js +8 -0
  225. package/dist/hooks/useTableRowSelection.d.ts +9 -0
  226. package/dist/hooks/useTableRowSelection.js +45 -0
  227. package/dist/index.d.ts +6 -6
  228. package/dist/index.js +2 -2
  229. package/dist/schemas/bucketPolicySchema.json +3 -13
  230. package/dist/test/msw/handlers/deleteBucket.d.ts +1 -1
  231. package/dist/test/msw/handlers/deleteBucket.js +20 -10
  232. package/dist/test/msw/handlers/getBucketAcl.d.ts +1 -1
  233. package/dist/test/msw/handlers/getBucketAcl.js +29 -17
  234. package/dist/test/msw/handlers/getBucketLocation.d.ts +1 -1
  235. package/dist/test/msw/handlers/getBucketLocation.js +29 -15
  236. package/dist/test/msw/handlers/getBucketPolicy.d.ts +1 -1
  237. package/dist/test/msw/handlers/getBucketPolicy.js +52 -32
  238. package/dist/test/msw/handlers/headObject.d.ts +1 -1
  239. package/dist/test/msw/handlers/headObject.js +31 -13
  240. package/dist/test/msw/handlers/listBuckets.d.ts +1 -1
  241. package/dist/test/msw/handlers/listBuckets.js +5 -3
  242. package/dist/test/msw/handlers/listObjectVersions.d.ts +1 -1
  243. package/dist/test/msw/handlers/listObjectVersions.js +38 -26
  244. package/dist/test/msw/handlers/listObjects.d.ts +1 -1
  245. package/dist/test/msw/handlers/listObjects.js +35 -23
  246. package/dist/test/msw/handlers/objectLegalHold.d.ts +1 -1
  247. package/dist/test/msw/handlers/objectLegalHold.js +32 -17
  248. package/dist/test/msw/handlers/objectRetention.d.ts +1 -1
  249. package/dist/test/msw/handlers/objectRetention.js +31 -17
  250. package/dist/test/msw/handlers/putBucketAcl.d.ts +1 -1
  251. package/dist/test/msw/handlers/putBucketAcl.js +29 -14
  252. package/dist/test/msw/handlers/putObject.d.ts +1 -1
  253. package/dist/test/msw/handlers/putObject.js +27 -12
  254. package/dist/test/msw/handlers.d.ts +3 -3
  255. package/dist/test/msw/handlers.js +77 -54
  256. package/dist/test/msw/index.d.ts +2 -2
  257. package/dist/test/msw/index.js +1 -1
  258. package/dist/test/msw/server.d.ts +1 -1
  259. package/dist/test/msw/server.js +1 -1
  260. package/dist/test/msw/utils.js +2 -2
  261. package/dist/test/setup.d.ts +1 -1
  262. package/dist/test/setup.js +13 -30
  263. package/dist/test/testUtils.d.ts +170 -36
  264. package/dist/test/testUtils.js +229 -116
  265. package/dist/test/utils/errorHandling.test.js +146 -108
  266. package/dist/types/index.d.ts +49 -36
  267. package/dist/types/monaco.d.ts +13 -0
  268. package/dist/types/monaco.js +0 -0
  269. package/dist/utils/__tests__/proxyMiddleware.test.d.ts +1 -0
  270. package/dist/utils/__tests__/proxyMiddleware.test.js +579 -0
  271. package/dist/utils/__tests__/s3Client.test.d.ts +1 -0
  272. package/dist/utils/__tests__/s3Client.test.js +340 -0
  273. package/dist/utils/__tests__/s3ConfigIdentifier.test.d.ts +1 -0
  274. package/dist/utils/__tests__/s3ConfigIdentifier.test.js +437 -0
  275. package/dist/utils/constants.d.ts +22 -0
  276. package/dist/utils/constants.js +19 -0
  277. package/dist/utils/deletion/index.d.ts +2 -2
  278. package/dist/utils/deletion/index.js +1 -1
  279. package/dist/utils/deletion/messages.d.ts +1 -1
  280. package/dist/utils/deletion/messages.js +4 -4
  281. package/dist/utils/errorHandling.d.ts +12 -3
  282. package/dist/utils/errorHandling.js +12 -7
  283. package/dist/utils/hooks.js +8 -8
  284. package/dist/utils/index.d.ts +5 -2
  285. package/dist/utils/index.js +5 -1
  286. package/dist/utils/proxyMiddleware.d.ts +32 -13
  287. package/dist/utils/proxyMiddleware.js +90 -36
  288. package/dist/utils/s3Client.d.ts +14 -4
  289. package/dist/utils/s3Client.js +5 -26
  290. package/dist/utils/s3ConfigIdentifier.d.ts +79 -0
  291. package/dist/utils/s3ConfigIdentifier.js +57 -0
  292. package/dist/utils/s3RuleUtils.d.ts +53 -0
  293. package/dist/utils/s3RuleUtils.js +101 -0
  294. package/package.json +10 -8
  295. package/dist/components/__tests__/BucketNotificationCreatePage.test.js +0 -316
  296. package/dist/components/buckets/BucketPolicyButton.d.ts +0 -7
  297. package/dist/components/buckets/notifications/BucketNotificationCreatePage.d.ts +0 -1
  298. package/dist/components/buckets/notifications/BucketNotificationCreatePage.js +0 -234
  299. package/dist/hooks/useLoginMutation.d.ts +0 -21
  300. package/dist/hooks/useLoginMutation.js +0 -9
  301. package/dist/utils/useFeatures.d.ts +0 -1
  302. package/dist/utils/useFeatures.js +0 -7
  303. /package/dist/components/__tests__/{BucketNotificationCreatePage.test.d.ts → BucketAccessor.test.d.ts} +0 -0
@@ -1,14 +1,14 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
2
  import { fireEvent, render, screen, waitFor } from "@testing-library/react";
3
3
  import user_event from "@testing-library/user-event";
4
- import { MemoryRouter } from "react-router-dom";
5
- import { createQueryWrapper } from "../../test/testUtils.js";
4
+ import { MemoryRouter } from "react-router";
5
+ import { createTestWrapper } from "../../test/testUtils.js";
6
6
  import { MetadataSearch } from "../search/MetadataSearch.js";
7
7
  const renderMetadataSearch = (props = {}, initialEntries = [
8
- "/bucket/test-bucket"
8
+ '/bucket/test-bucket'
9
9
  ])=>{
10
- const QueryWrapper = createQueryWrapper();
11
- return render(/*#__PURE__*/ jsx(QueryWrapper, {
10
+ const TestWrapper = createTestWrapper();
11
+ return render(/*#__PURE__*/ jsx(TestWrapper, {
12
12
  children: /*#__PURE__*/ jsx(MemoryRouter, {
13
13
  initialEntries: initialEntries,
14
14
  children: /*#__PURE__*/ jsx(MetadataSearch, {
@@ -18,50 +18,50 @@ const renderMetadataSearch = (props = {}, initialEntries = [
18
18
  })
19
19
  }));
20
20
  };
21
- describe("MetadataSearch", ()=>{
21
+ describe('MetadataSearch', ()=>{
22
22
  const getInput = ()=>screen.getByPlaceholderText(/Metadata Search/i);
23
- it("renders search input with placeholder", ()=>{
23
+ it('renders search input with placeholder', ()=>{
24
24
  renderMetadataSearch();
25
25
  expect(getInput()).toBeInTheDocument();
26
26
  expect(screen.getByPlaceholderText(/Metadata Search/i)).toBeInTheDocument();
27
27
  });
28
- it("renders search button", ()=>{
28
+ it('renders search button', ()=>{
29
29
  renderMetadataSearch();
30
- expect(screen.getByRole("button", {
30
+ expect(screen.getByRole('button', {
31
31
  name: /execute metadata search/i
32
32
  })).toBeInTheDocument();
33
33
  });
34
- it("search button is disabled when input is empty", ()=>{
34
+ it('search button is disabled when input is empty', ()=>{
35
35
  renderMetadataSearch();
36
- const searchButton = screen.getByRole("button", {
36
+ const searchButton = screen.getByRole('button', {
37
37
  name: /execute metadata search/i
38
38
  });
39
39
  expect(searchButton).toBeDisabled();
40
40
  });
41
- it("search button is enabled when input has text", async ()=>{
41
+ it('search button is enabled when input has text', async ()=>{
42
42
  renderMetadataSearch();
43
43
  const input = getInput();
44
- const searchButton = screen.getByRole("button", {
44
+ const searchButton = screen.getByRole('button', {
45
45
  name: /execute metadata search/i
46
46
  });
47
- await user_event.type(input, "test query");
47
+ await user_event.type(input, 'test query');
48
48
  expect(searchButton).toBeEnabled();
49
49
  });
50
- it("shows search icon by default", ()=>{
50
+ it('shows search icon by default', ()=>{
51
51
  renderMetadataSearch();
52
52
  const input = getInput();
53
53
  const searchIcon = input.parentElement?.querySelector('[aria-label*="Search"]');
54
54
  expect(searchIcon).toBeInTheDocument();
55
55
  });
56
- it("shows check icon when metadata search is active", ()=>{
56
+ it('shows check icon when metadata search is active', ()=>{
57
57
  renderMetadataSearch({}, [
58
- "/bucket/test-bucket?metadatasearch=test"
58
+ '/bucket/test-bucket?metadatasearch=test'
59
59
  ]);
60
60
  const input = getInput();
61
61
  const checkIcon = input.parentElement?.querySelector('[aria-label*="Check"]');
62
62
  expect(checkIcon).toBeInTheDocument();
63
63
  });
64
- it("shows error icon when error prop is true", ()=>{
64
+ it('shows error icon when error prop is true', ()=>{
65
65
  renderMetadataSearch({
66
66
  isError: true
67
67
  });
@@ -69,133 +69,133 @@ describe("MetadataSearch", ()=>{
69
69
  const errorIcon = input.parentElement?.querySelector('[aria-label*="Close"]');
70
70
  expect(errorIcon).toBeInTheDocument();
71
71
  });
72
- it("populates input with existing search query from URL", ()=>{
72
+ it('populates input with existing search query from URL', ()=>{
73
73
  renderMetadataSearch({}, [
74
- "/bucket/test-bucket?metadatasearch=existing+query"
74
+ '/bucket/test-bucket?metadatasearch=existing+query'
75
75
  ]);
76
76
  const input = getInput();
77
- expect(input).toHaveValue("existing query");
77
+ expect(input).toHaveValue('existing query');
78
78
  });
79
- it("shows reset button when input has text", async ()=>{
79
+ it('shows reset button when input has text', async ()=>{
80
80
  renderMetadataSearch();
81
81
  const input = getInput();
82
- await user_event.type(input, "test query");
83
- expect(screen.getByRole("button", {
82
+ await user_event.type(input, 'test query');
83
+ expect(screen.getByRole('button', {
84
84
  name: /clear search input/i
85
85
  })).toBeInTheDocument();
86
86
  });
87
- it("clears input when reset button is clicked", async ()=>{
87
+ it('clears input when reset button is clicked', async ()=>{
88
88
  renderMetadataSearch();
89
89
  const input = getInput();
90
- await user_event.type(input, "test query");
91
- const resetButton = screen.getByRole("button", {
90
+ await user_event.type(input, 'test query');
91
+ const resetButton = screen.getByRole('button', {
92
92
  name: /clear search input/i
93
93
  });
94
94
  fireEvent.click(resetButton);
95
- expect(input).toHaveValue("");
95
+ expect(input).toHaveValue('');
96
96
  });
97
- it("shows hints when input is clicked and empty", async ()=>{
97
+ it('shows hints when input is clicked and empty', async ()=>{
98
98
  renderMetadataSearch();
99
99
  const input = getInput();
100
100
  fireEvent.click(input);
101
101
  await waitFor(()=>{
102
- expect(screen.getByText("Suggestions")).toBeInTheDocument();
102
+ expect(screen.getByText('Suggestions')).toBeInTheDocument();
103
103
  });
104
104
  });
105
- it("does not show hints when input has text", async ()=>{
105
+ it('does not show hints when input has text', async ()=>{
106
106
  renderMetadataSearch();
107
107
  const input = getInput();
108
- await user_event.type(input, "test");
108
+ await user_event.type(input, 'test');
109
109
  fireEvent.click(input);
110
- expect(screen.queryByText("Suggestions")).not.toBeInTheDocument();
110
+ expect(screen.queryByText('Suggestions')).not.toBeInTheDocument();
111
111
  });
112
- it("hides hints when clicking outside", async ()=>{
112
+ it('hides hints when clicking outside', async ()=>{
113
113
  renderMetadataSearch();
114
114
  const input = getInput();
115
115
  fireEvent.click(input);
116
116
  await waitFor(()=>{
117
- expect(screen.getByText("Suggestions")).toBeInTheDocument();
117
+ expect(screen.getByText('Suggestions')).toBeInTheDocument();
118
118
  });
119
119
  fireEvent.mouseDown(document.body);
120
120
  await waitFor(()=>{
121
- expect(screen.queryByText("Suggestions")).not.toBeInTheDocument();
121
+ expect(screen.queryByText('Suggestions')).not.toBeInTheDocument();
122
122
  });
123
123
  });
124
- it("displays search hint examples", async ()=>{
124
+ it('displays search hint examples', async ()=>{
125
125
  renderMetadataSearch();
126
126
  const input = getInput();
127
127
  fireEvent.click(input);
128
128
  await waitFor(()=>{
129
129
  expect(screen.getByText('files with extension ".pdf"')).toBeInTheDocument();
130
- expect(screen.getByText("files bigger than 1MB")).toBeInTheDocument();
131
- expect(screen.getByText("files tagged with color blue")).toBeInTheDocument();
130
+ expect(screen.getByText('files bigger than 1MB')).toBeInTheDocument();
131
+ expect(screen.getByText('files tagged with color blue')).toBeInTheDocument();
132
132
  });
133
133
  });
134
- it("applies hint to input when hint is clicked", async ()=>{
134
+ it('applies hint to input when hint is clicked', async ()=>{
135
135
  renderMetadataSearch();
136
136
  const input = getInput();
137
137
  fireEvent.click(input);
138
138
  await waitFor(()=>{
139
- expect(screen.getByText("Suggestions")).toBeInTheDocument();
139
+ expect(screen.getByText('Suggestions')).toBeInTheDocument();
140
140
  });
141
141
  const pdfHint = screen.getByText('files with extension ".pdf"');
142
142
  fireEvent.click(pdfHint);
143
- expect(input).toHaveValue("key like /pdf$/");
144
- expect(screen.queryByText("Suggestions")).not.toBeInTheDocument();
143
+ expect(input).toHaveValue('key like /pdf$/');
144
+ expect(screen.queryByText('Suggestions')).not.toBeInTheDocument();
145
145
  });
146
- it("focuses input after hint is selected", async ()=>{
146
+ it('focuses input after hint is selected', async ()=>{
147
147
  renderMetadataSearch();
148
148
  const input = getInput();
149
149
  fireEvent.click(input);
150
150
  await waitFor(()=>{
151
- expect(screen.getByText("Suggestions")).toBeInTheDocument();
151
+ expect(screen.getByText('Suggestions')).toBeInTheDocument();
152
152
  });
153
- const hint = screen.getByText("files bigger than 1MB");
153
+ const hint = screen.getByText('files bigger than 1MB');
154
154
  fireEvent.click(hint);
155
155
  expect(input).toHaveFocus();
156
156
  });
157
- it("submits search when form is submitted", async ()=>{
157
+ it('submits search when form is submitted', async ()=>{
158
158
  renderMetadataSearch();
159
159
  const input = getInput();
160
- const searchButton = screen.getByRole("button", {
160
+ const searchButton = screen.getByRole('button', {
161
161
  name: /execute metadata search/i
162
162
  });
163
- await user_event.type(input, "content-type=application/pdf");
163
+ await user_event.type(input, 'content-type=application/pdf');
164
164
  fireEvent.click(searchButton);
165
- expect(input).toHaveValue("content-type=application/pdf");
165
+ expect(input).toHaveValue('content-type=application/pdf');
166
166
  });
167
- it("submits search when Enter key is pressed", async ()=>{
167
+ it('submits search when Enter key is pressed', async ()=>{
168
168
  renderMetadataSearch();
169
169
  const input = getInput();
170
- await user_event.type(input, "key like /test$/");
171
- fireEvent.submit(input.closest("form"));
172
- expect(input).toHaveValue("key like /test$/");
170
+ await user_event.type(input, 'key like /test$/');
171
+ fireEvent.submit(input.closest('form'));
172
+ expect(input).toHaveValue('key like /test$/');
173
173
  });
174
- it("is hidden when prefix points to a file", ()=>{
174
+ it('is hidden when prefix points to a file', ()=>{
175
175
  const { container } = renderMetadataSearch({}, [
176
- "/bucket/test-bucket?prefix=folder/file.txt"
176
+ '/bucket/test-bucket?prefix=folder/file.txt'
177
177
  ]);
178
- const form = container.querySelector("form");
178
+ const form = container.querySelector('form');
179
179
  expect(form).toHaveStyle({
180
- visibility: "hidden"
180
+ visibility: 'hidden'
181
181
  });
182
182
  });
183
- it("is hidden when prefix is a folder", ()=>{
183
+ it('is hidden when prefix is a folder', ()=>{
184
184
  const { container } = renderMetadataSearch({}, [
185
- "/bucket/test-bucket?prefix=folder/"
185
+ '/bucket/test-bucket?prefix=folder/'
186
186
  ]);
187
- const form = container.querySelector("form");
187
+ const form = container.querySelector('form');
188
188
  expect(form).toHaveStyle({
189
- visibility: "hidden"
189
+ visibility: 'hidden'
190
190
  });
191
191
  });
192
- it("prevents search submission when prefix points to a file", async ()=>{
192
+ it('prevents search submission when prefix points to a file', async ()=>{
193
193
  const { container } = renderMetadataSearch({}, [
194
- "/bucket/test-bucket?prefix=folder/file.txt"
194
+ '/bucket/test-bucket?prefix=folder/file.txt'
195
195
  ]);
196
196
  const input = getInput();
197
197
  const searchButton = container.querySelector('button[type="submit"]');
198
- await user_event.type(input, "test query");
198
+ await user_event.type(input, 'test query');
199
199
  expect(searchButton).toBeDisabled();
200
200
  });
201
201
  });