@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
@@ -11,42 +11,25 @@ var __webpack_require__ = {};
11
11
  }
12
12
  })();
13
13
  })();
14
- process.env.AWS_ACCESS_KEY_ID = "test-access-key";
15
- process.env.AWS_SECRET_ACCESS_KEY = "test-secret-key";
16
- process.env.AWS_DEFAULT_REGION = "us-east-1";
17
- const testS3Config = {
18
- endpoint: "http://localhost:8000",
19
- region: "us-east-1",
20
- realHost: "s3.amazonaws.com",
21
- forcePathStyle: true
22
- };
23
- const testDevConfig = {
24
- useProxy: false,
25
- proxyEndpoint: "http://localhost:3000/api/s3",
26
- proxyBasePath: "/api/s3",
27
- proxyHost: "localhost",
28
- proxyPort: 3000
29
- };
30
- globalThis.__S3_CONFIG__ = testS3Config;
31
- globalThis.__DEV_CONFIG__ = testDevConfig;
32
- globalThis.__IS_DEVELOPMENT__ = true;
33
- globalThis.__IS_PRODUCTION__ = false;
14
+ process.env.AWS_ACCESS_KEY_ID = 'test-access-key';
15
+ process.env.AWS_SECRET_ACCESS_KEY = 'test-secret-key';
16
+ process.env.AWS_DEFAULT_REGION = 'us-east-1';
34
17
  jest.setTimeout(10000);
35
18
  Object.assign(__webpack_require__.g, {
36
19
  TextDecoder: TextDecoder,
37
20
  TextEncoder: TextEncoder
38
21
  });
39
- Object.defineProperty(HTMLCanvasElement.prototype, "getContext", {
22
+ Object.defineProperty(HTMLCanvasElement.prototype, 'getContext', {
40
23
  value: ()=>null
41
24
  });
42
- jest.mock("pretty-bytes", ()=>({
25
+ jest.mock('pretty-bytes', ()=>({
43
26
  __esModule: true,
44
27
  default: (bytes)=>{
45
28
  const sizes = [
46
- "B",
47
- "KB",
48
- "MB",
49
- "GB"
29
+ 'B',
30
+ 'KB',
31
+ 'MB',
32
+ 'GB'
50
33
  ];
51
34
  let i = 0;
52
35
  let num = bytes;
@@ -57,8 +40,8 @@ jest.mock("pretty-bytes", ()=>({
57
40
  return `${Math.round(num)} ${sizes[i]}`;
58
41
  }
59
42
  }));
60
- jest.mock("joi", ()=>{
61
- const Joi = jest.requireActual("joi");
43
+ jest.mock('joi', ()=>{
44
+ const Joi = jest.requireActual('joi');
62
45
  return {
63
46
  __esModule: true,
64
47
  default: Joi,
@@ -76,11 +59,11 @@ const originalError = console.error;
76
59
  const originalWarn = console.warn;
77
60
  beforeAll(()=>{
78
61
  console.error = (...args)=>{
79
- if ("string" == typeof args[0] && (args[0].includes("AWS") || args[0].includes("S3") || args[0].includes("Warning: An update to") || args[0].includes('Warning: A props object containing a "key" prop'))) return;
62
+ if ('string' == typeof args[0] && (args[0].includes('AWS') || args[0].includes('S3') || args[0].includes('Warning: An update to') || args[0].includes('Warning: A props object containing a "key" prop'))) return;
80
63
  originalError(...args);
81
64
  };
82
65
  console.warn = (...args)=>{
83
- if ("string" == typeof args[0] && (args[0].includes("AWS") || args[0].includes("S3") || args[0].includes("Warning: An update to") || args[0].includes('Warning: A props object containing a "key" prop'))) return;
66
+ if ('string' == typeof args[0] && (args[0].includes('AWS') || args[0].includes('S3') || args[0].includes('Warning: An update to') || args[0].includes('Warning: A props object containing a "key" prop'))) return;
84
67
  originalWarn(...args);
85
68
  };
86
69
  });
@@ -1,20 +1,50 @@
1
- import { S3Client, PutObjectCommand } from "@aws-sdk/client-s3";
2
- import React from "react";
3
- import { S3BrowserConfig, S3Credentials } from "../types";
1
+ /**
2
+ * @fileoverview Test utilities for data-browser-library
3
+ *
4
+ * This file provides common utilities for testing:
5
+ * - Test configuration and credentials
6
+ * - Mock setup utilities (S3, DOM, etc.)
7
+ * - React Testing Library wrappers
8
+ * - React Query wrappers
9
+ * - Global configuration utilities
10
+ * - Factory pattern validation utilities
11
+ * - Form testing helpers
12
+ */
13
+ import { PutObjectCommand, S3Client } from '@aws-sdk/client-s3';
14
+ import { type UseQueryResult } from '@tanstack/react-query';
15
+ import type React from 'react';
16
+ import type { S3BrowserConfig, S3Credentials } from '../types';
17
+ /**
18
+ * Default S3 configuration for tests
19
+ */
4
20
  export declare const testConfig: S3BrowserConfig;
21
+ /**
22
+ * Default S3 credentials for tests
23
+ */
5
24
  export declare const testCredentials: S3Credentials;
25
+ /**
26
+ * Mock S3 client for tests
27
+ */
6
28
  export declare const mockS3Client: {
7
29
  send: jest.Mock<any, any, any>;
8
30
  };
9
31
  export declare const MockedS3Client: jest.MockedClass<typeof S3Client>;
10
32
  export declare const MockedPutObjectCommand: jest.MockedClass<typeof PutObjectCommand>;
11
- export declare function mockOffsetSize(width: number, height: number): void;
12
33
  /**
13
- * Creates a simple QueryClient wrapper for tests that don't need DataBrowser context
34
+ * Sets up S3 mocks for testing
14
35
  */
15
- export declare const createQueryWrapper: () => ({ children }: {
16
- children: React.ReactNode;
17
- }) => import("react/jsx-runtime").JSX.Element;
36
+ export declare const setupS3Mocks: () => void;
37
+ /**
38
+ * Common mock setup that should be run before each test
39
+ */
40
+ export declare const setupCommonMocks: () => void;
41
+ /**
42
+ * Mocks DOM measurements APIs for virtualization and layout testing
43
+ * AutoSizer uses offsetWidth and offsetHeight which Jest/JSDom doesn't support
44
+ * @param width - The mock width in pixels
45
+ * @param height - The mock height in pixels
46
+ */
47
+ export declare function mockOffsetSize(width: number, height: number): void;
18
48
  /**
19
49
  * Creates a test wrapper with DataBrowser context and QueryClient
20
50
  */
@@ -34,49 +64,153 @@ export declare const renderHookWithWrapper: <TProps, TResult>(hook: (props: TPro
34
64
  */
35
65
  export declare const createTestFile: (name: string, content: string, type?: string) => File;
36
66
  /**
37
- * Sets up S3 mocks for testing
67
+ * Creates a factory test error
38
68
  */
39
- export declare const setupS3Mocks: () => void;
69
+ export declare const createFactoryTestError: (testContext: string, operationName: string, details?: string) => Error;
40
70
  /**
41
- * Common mock setup that should be run before each test
71
+ * Validates that a hook follows the expected factory pattern
42
72
  */
43
- export declare const setupCommonMocks: () => void;
73
+ export declare const validateFactoryHook: (hook: any, operationName: string) => void;
74
+ /**
75
+ * Validates that a hook result has expected React Query properties
76
+ */
77
+ export declare const validateHookResult: (result: any, hookType: "query" | "mutation" | "infiniteQuery") => void;
44
78
  /**
45
- * Configuration test utilities for overriding build-time globals
79
+ * Creates a mock UseMutationResult for testing React Query mutations
80
+ *
81
+ * This helper provides a complete mock object that matches the UseMutationResult type
82
+ * from @tanstack/react-query, eliminating the need for 'as any' type assertions.
83
+ *
84
+ * @param mutate - The mocked mutate function (usually jest.fn())
85
+ * @param overrides - Optional overrides for any properties (e.g., { isPending: true })
86
+ * @returns A complete UseMutationResult mock object
87
+ *
88
+ * @example
89
+ * ```ts
90
+ * const mockCreateBucket = jest.fn();
91
+ * const mockResult = createMockMutationResult(mockCreateBucket, { isPending: true });
92
+ * mockUseCreateBucket.mockReturnValue(mockResult);
93
+ * ```
46
94
  */
47
- import type { S3Configuration, DevelopmentConfiguration } from "../config/types";
48
- type GlobalConfigOverrides = {
49
- s3?: Partial<S3Configuration>;
50
- dev?: Partial<DevelopmentConfiguration>;
51
- environment?: {
52
- isDevelopment?: boolean;
53
- isProduction?: boolean;
54
- };
95
+ export declare const createMockMutationResult: (mutate: jest.Mock, overrides?: {}) => {
96
+ mutate: jest.Mock<any, any, any>;
97
+ mutateAsync: jest.Mock<any, any, any>;
98
+ reset: jest.Mock<any, any, any>;
99
+ isPending: false;
100
+ isIdle: true;
101
+ isError: false;
102
+ isSuccess: false;
103
+ status: "idle";
104
+ data: undefined;
105
+ error: null;
106
+ variables: undefined;
107
+ context: undefined;
108
+ failureCount: number;
109
+ failureReason: null;
110
+ isPaused: false;
111
+ submittedAt: number;
55
112
  };
56
113
  /**
57
- * Override global configuration for testing specific scenarios
58
- * Useful for testing different deployment environments or proxy configurations
114
+ * Creates a mock UseQueryResult for testing React Query queries
115
+ *
116
+ * This helper provides a complete mock object that matches the UseQueryResult type
117
+ * from @tanstack/react-query, eliminating the need for 'as any' type assertions.
118
+ *
119
+ * @param overrides - Optional overrides for any properties (e.g., { isLoading: true, data: mockData })
120
+ * @returns A complete UseQueryResult mock object
121
+ *
122
+ * @example
123
+ * ```ts
124
+ * const mockQueryResult = createMockQueryResult({ isLoading: true });
125
+ * mockUseGetBucketPolicy.mockReturnValue(mockQueryResult);
126
+ * ```
59
127
  */
60
- export declare const overrideGlobalConfig: (overrides: GlobalConfigOverrides) => void;
128
+ export declare const createMockQueryResult: <T, E = Error>(overrides?: Partial<UseQueryResult<T, E>>) => UseQueryResult<T, E>;
61
129
  /**
62
- * Reset global configuration to test defaults
63
- * Should be called in afterEach or afterAll to ensure test isolation
130
+ * Finds a Toggle input element by its label text
131
+ * Traverses the DOM to locate the associated checkbox input
132
+ * @param labelText - The text content of the label
133
+ * @returns The toggle input element or null if not found
64
134
  */
65
- export declare const resetGlobalConfig: () => void;
135
+ export declare const findToggleByLabel: (labelText: string) => HTMLInputElement | null;
66
136
  /**
67
- * Test helper for running tests with specific global configuration
137
+ * Waits for a submit button to be enabled and clicks it
138
+ * @param buttonName - The type of button to click ("create" or "save")
68
139
  */
69
- export declare const withGlobalConfig: (overrides: GlobalConfigOverrides, testFn: () => void | Promise<void>) => () => Promise<void>;
140
+ export declare const submitForm: (buttonName?: "create" | "save") => Promise<void>;
70
141
  /**
71
- * Validates that a hook follows the expected factory pattern
142
+ * Sets up a mock mutation to simulate successful form submission
143
+ * @param mockMutate - The jest mock function for the mutation
72
144
  */
73
- export declare const validateFactoryHook: (hook: any, operationName: string) => void;
145
+ export declare const mockSuccessSubmit: (mockMutate: jest.Mock) => void;
74
146
  /**
75
- * Creates a factory test error
147
+ * Sets up a mock mutation to simulate failed form submission
148
+ * @param mockMutate - The jest mock function for the mutation
149
+ * @param errorMessage - The error message to return (default: "Network Error")
76
150
  */
77
- export declare const createFactoryTestError: (testContext: string, operationName: string, details?: string) => Error;
151
+ export declare const mockErrorSubmit: (mockMutate: jest.Mock, errorMessage?: string) => void;
152
+ import type { GetBucketAclCommandOutput, GetBucketCorsCommandOutput, GetBucketLifecycleConfigurationCommandOutput, GetBucketLocationCommandOutput, GetBucketPolicyCommandOutput, GetBucketReplicationCommandOutput, GetBucketTaggingCommandOutput, GetBucketVersioningCommandOutput, GetObjectLockConfigurationCommandOutput } from '@aws-sdk/client-s3';
153
+ export type MockQueryResult<T> = {
154
+ data: T | undefined;
155
+ status: 'idle' | 'pending' | 'success' | 'error';
156
+ error?: Error | null;
157
+ };
158
+ export type ISVBucketStatusMock = {
159
+ isVeeamBucket: boolean;
160
+ isCommvaultBucket: boolean;
161
+ isISVManaged: boolean;
162
+ isvApplication: string | undefined;
163
+ isLoading: boolean;
164
+ bucketTagsStatus: 'idle' | 'pending' | 'success' | 'error';
165
+ };
166
+ export interface BucketMockData {
167
+ versioning: MockQueryResult<GetBucketVersioningCommandOutput>;
168
+ acl: MockQueryResult<GetBucketAclCommandOutput>;
169
+ location: MockQueryResult<GetBucketLocationCommandOutput>;
170
+ cors: MockQueryResult<GetBucketCorsCommandOutput>;
171
+ objectLock: MockQueryResult<GetObjectLockConfigurationCommandOutput>;
172
+ policy: MockQueryResult<GetBucketPolicyCommandOutput>;
173
+ tagging: MockQueryResult<GetBucketTaggingCommandOutput>;
174
+ lifecycle: MockQueryResult<GetBucketLifecycleConfigurationCommandOutput>;
175
+ replication: MockQueryResult<GetBucketReplicationCommandOutput>;
176
+ isvBucketStatus: ISVBucketStatusMock;
177
+ features: boolean;
178
+ }
78
179
  /**
79
- * Validates that a hook result has expected React Query properties
180
+ * Creates default bucket mock data for testing
181
+ * @returns Default bucket mock data with all properties set to success state
80
182
  */
81
- export declare const validateHookResult: (result: any, hookType: "query" | "mutation" | "infiniteQuery") => void;
82
- export { setupMswServer, overrideHandlers } from "./msw";
183
+ export declare const createDefaultBucketMocks: () => BucketMockData;
184
+ /**
185
+ * Applies bucket mock data to the provided mock functions
186
+ * @param mocks - Object containing all the mocked hook functions
187
+ * @param mockData - Optional partial overrides for the default mock data
188
+ *
189
+ * @example
190
+ * ```ts
191
+ * applyBucketMocks(
192
+ * {
193
+ * useGetBucketVersioning: mockUseGetBucketVersioning,
194
+ * useGetBucketAcl: mockUseGetBucketAcl,
195
+ * // ... other mocks
196
+ * },
197
+ * {
198
+ * versioning: { data: { Status: "Suspended" }, status: "success" }
199
+ * }
200
+ * );
201
+ * ```
202
+ */
203
+ export declare const applyBucketMocks: (mocks: {
204
+ useGetBucketVersioning: jest.Mock;
205
+ useGetBucketAcl: jest.Mock;
206
+ useGetBucketLocation: jest.Mock;
207
+ useGetBucketCors: jest.Mock;
208
+ useGetBucketObjectLockConfiguration: jest.Mock;
209
+ useGetBucketPolicy: jest.Mock;
210
+ useGetBucketTagging: jest.Mock;
211
+ useGetBucketLifecycle?: jest.Mock;
212
+ useGetBucketReplication?: jest.Mock;
213
+ useISVBucketStatus: jest.Mock;
214
+ useFeatures: jest.Mock;
215
+ }, mockData?: Partial<BucketMockData>) => void;
216
+ export { overrideHandlers, setupMswServer } from './msw';