@scality/data-browser-library 1.0.0-preview.9 → 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 (285) 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.js +271 -105
  9. package/dist/components/__tests__/BucketDetails.test.d.ts +1 -0
  10. package/dist/components/__tests__/BucketDetails.test.js +421 -0
  11. package/dist/components/__tests__/BucketLifecycleFormPage.test.d.ts +13 -0
  12. package/dist/components/__tests__/BucketLifecycleFormPage.test.js +178 -178
  13. package/dist/components/__tests__/BucketLifecycleList.test.js +85 -85
  14. package/dist/components/__tests__/BucketList.test.js +463 -239
  15. package/dist/components/__tests__/BucketNotificationFormPage.test.d.ts +1 -0
  16. package/dist/components/__tests__/BucketNotificationFormPage.test.js +348 -0
  17. package/dist/components/__tests__/BucketNotificationList.test.d.ts +1 -0
  18. package/dist/components/__tests__/BucketNotificationList.test.js +379 -0
  19. package/dist/components/__tests__/BucketOverview.test.js +281 -266
  20. package/dist/components/__tests__/BucketPolicyPage.test.js +151 -99
  21. package/dist/components/__tests__/BucketReplicationFormPage.test.d.ts +15 -0
  22. package/dist/components/__tests__/BucketReplicationFormPage.test.js +544 -544
  23. package/dist/components/__tests__/BucketReplicationList.test.js +106 -106
  24. package/dist/components/__tests__/CreateFolderButton.test.js +56 -56
  25. package/dist/components/__tests__/DeleteBucketButton.test.js +64 -64
  26. package/dist/components/__tests__/DeleteBucketConfigRuleButton.test.js +47 -47
  27. package/dist/components/__tests__/DeleteObjectButton.test.js +64 -64
  28. package/dist/components/__tests__/EmptyBucketButton.test.js +59 -59
  29. package/dist/components/__tests__/MetadataSearch.test.js +65 -65
  30. package/dist/components/__tests__/ObjectList.test.js +741 -240
  31. package/dist/components/__tests__/UploadButton.test.js +45 -45
  32. package/dist/components/breadcrumb/Breadcrumb.d.ts +6 -0
  33. package/dist/components/breadcrumb/Breadcrumb.js +37 -0
  34. package/dist/components/breadcrumb/DataBrowserBreadcrumb.d.ts +1 -0
  35. package/dist/components/breadcrumb/DataBrowserBreadcrumb.js +10 -0
  36. package/dist/components/breadcrumb/__tests__/Breadcrumb.test.d.ts +1 -0
  37. package/dist/components/breadcrumb/__tests__/Breadcrumb.test.js +196 -0
  38. package/dist/components/breadcrumb/__tests__/DataBrowserBreadcrumb.test.d.ts +1 -0
  39. package/dist/components/breadcrumb/__tests__/DataBrowserBreadcrumb.test.js +153 -0
  40. package/dist/components/breadcrumb/__tests__/useBreadcrumbPaths.test.d.ts +1 -0
  41. package/dist/components/breadcrumb/__tests__/useBreadcrumbPaths.test.js +134 -0
  42. package/dist/components/breadcrumb/index.d.ts +8 -0
  43. package/dist/components/breadcrumb/index.js +4 -0
  44. package/dist/components/breadcrumb/useBreadcrumbPaths.d.ts +2 -0
  45. package/dist/components/breadcrumb/useBreadcrumbPaths.js +82 -0
  46. package/dist/components/buckets/BucketAccessor.d.ts +2 -0
  47. package/dist/components/buckets/BucketAccessor.js +125 -0
  48. package/dist/components/buckets/BucketConfigEditButton.d.ts +8 -0
  49. package/dist/components/buckets/{BucketPolicyButton.js → BucketConfigEditButton.js} +9 -5
  50. package/dist/components/buckets/BucketCorsPage.d.ts +1 -0
  51. package/dist/components/buckets/BucketCorsPage.js +234 -0
  52. package/dist/components/buckets/BucketCreate.d.ts +3 -2
  53. package/dist/components/buckets/BucketCreate.js +89 -47
  54. package/dist/components/buckets/BucketDetails.d.ts +42 -0
  55. package/dist/components/buckets/BucketDetails.js +249 -85
  56. package/dist/components/buckets/BucketLifecycleFormPage.js +206 -190
  57. package/dist/components/buckets/BucketLifecycleList.d.ts +2 -2
  58. package/dist/components/buckets/BucketLifecycleList.js +47 -47
  59. package/dist/components/buckets/BucketList.d.ts +7 -8
  60. package/dist/components/buckets/BucketList.js +158 -101
  61. package/dist/components/buckets/BucketLocation.js +4 -4
  62. package/dist/components/buckets/BucketOverview.d.ts +22 -2
  63. package/dist/components/buckets/BucketOverview.js +394 -187
  64. package/dist/components/buckets/BucketPage.js +43 -21
  65. package/dist/components/buckets/BucketPolicyPage.js +155 -127
  66. package/dist/components/buckets/BucketReplicationFormPage.js +134 -133
  67. package/dist/components/buckets/BucketReplicationList.d.ts +2 -2
  68. package/dist/components/buckets/BucketReplicationList.js +42 -42
  69. package/dist/components/buckets/BucketVersioning.d.ts +4 -0
  70. package/dist/components/buckets/BucketVersioning.js +76 -0
  71. package/dist/components/buckets/DeleteBucketButton.js +8 -8
  72. package/dist/components/buckets/DeleteBucketConfigRuleButton.d.ts +2 -2
  73. package/dist/components/buckets/DeleteBucketConfigRuleButton.js +2 -2
  74. package/dist/components/buckets/EmptyBucketButton.js +24 -24
  75. package/dist/components/buckets/EmptyBucketSummary.d.ts +2 -2
  76. package/dist/components/buckets/EmptyBucketSummary.js +1 -1
  77. package/dist/components/buckets/EmptyBucketSummaryList.d.ts +1 -1
  78. package/dist/components/buckets/EmptyBucketSummaryList.js +22 -22
  79. package/dist/components/buckets/__tests__/BucketVersioning.test.d.ts +1 -0
  80. package/dist/components/buckets/__tests__/BucketVersioning.test.js +163 -0
  81. package/dist/components/buckets/notifications/BucketNotificationFormPage.d.ts +1 -0
  82. package/dist/components/buckets/notifications/BucketNotificationFormPage.js +316 -0
  83. package/dist/components/buckets/notifications/BucketNotificationList.d.ts +10 -0
  84. package/dist/components/buckets/notifications/BucketNotificationList.js +267 -0
  85. package/dist/components/buckets/notifications/EventsSection.js +145 -29
  86. package/dist/components/buckets/notifications/__tests__/events.test.d.ts +1 -0
  87. package/dist/components/buckets/notifications/__tests__/events.test.js +56 -0
  88. package/dist/components/buckets/notifications/events.d.ts +71 -7
  89. package/dist/components/buckets/notifications/events.js +98 -16
  90. package/dist/components/index.d.ts +27 -20
  91. package/dist/components/index.js +17 -10
  92. package/dist/components/layouts/ArrowNavigation.d.ts +3 -0
  93. package/dist/components/layouts/ArrowNavigation.js +28 -0
  94. package/dist/components/layouts/BrowserPageLayout.d.ts +5 -1
  95. package/dist/components/layouts/BrowserPageLayout.js +10 -5
  96. package/dist/components/objects/CreateFolderButton.d.ts +2 -2
  97. package/dist/components/objects/CreateFolderButton.js +12 -12
  98. package/dist/components/objects/DeleteObjectButton.d.ts +1 -1
  99. package/dist/components/objects/DeleteObjectButton.js +19 -21
  100. package/dist/components/objects/GetPresignedUrlButton.d.ts +7 -0
  101. package/dist/components/objects/GetPresignedUrlButton.js +255 -0
  102. package/dist/components/objects/ObjectDetails/ObjectMetadata.d.ts +2 -2
  103. package/dist/components/objects/ObjectDetails/ObjectMetadata.js +263 -230
  104. package/dist/components/objects/ObjectDetails/ObjectSummary.d.ts +2 -2
  105. package/dist/components/objects/ObjectDetails/ObjectSummary.js +540 -138
  106. package/dist/components/objects/ObjectDetails/ObjectTags.d.ts +2 -2
  107. package/dist/components/objects/ObjectDetails/ObjectTags.js +95 -123
  108. package/dist/components/objects/ObjectDetails/__tests__/ObjectDetails.test.d.ts +1 -0
  109. package/dist/components/objects/ObjectDetails/__tests__/ObjectDetails.test.js +516 -0
  110. package/dist/components/objects/ObjectDetails/__tests__/ObjectSummary.test.d.ts +1 -0
  111. package/dist/components/objects/ObjectDetails/__tests__/ObjectSummary.test.js +1064 -0
  112. package/dist/components/objects/ObjectDetails/index.d.ts +18 -2
  113. package/dist/components/objects/ObjectDetails/index.js +152 -40
  114. package/dist/components/objects/ObjectList.d.ts +12 -10
  115. package/dist/components/objects/ObjectList.js +590 -263
  116. package/dist/components/objects/ObjectLock/EditRetentionButton.js +4 -4
  117. package/dist/components/objects/ObjectLock/ObjectLockRetentionSettings.js +15 -15
  118. package/dist/components/objects/ObjectLock/ObjectLockSettings.d.ts +1 -1
  119. package/dist/components/objects/ObjectLock/ObjectLockSettings.js +32 -31
  120. package/dist/components/objects/ObjectLock/ObjectLockSettingsUtils.d.ts +1 -1
  121. package/dist/components/objects/ObjectLock/ObjectLockSettingsUtils.js +6 -6
  122. package/dist/components/objects/ObjectLock/__tests__/EditRetentionButton.test.js +51 -51
  123. package/dist/components/objects/ObjectLock/__tests__/ObjectLockSettings.test.js +78 -78
  124. package/dist/components/objects/ObjectPage.js +12 -8
  125. package/dist/components/objects/UploadButton.d.ts +3 -3
  126. package/dist/components/objects/UploadButton.js +10 -10
  127. package/dist/components/objects/__tests__/GetPresignedUrlButton.test.d.ts +1 -0
  128. package/dist/components/objects/__tests__/GetPresignedUrlButton.test.js +531 -0
  129. package/dist/components/providers/DataBrowserProvider.d.ts +23 -12
  130. package/dist/components/providers/DataBrowserProvider.js +60 -38
  131. package/dist/components/providers/QueryProvider.d.ts +9 -0
  132. package/dist/components/providers/QueryProvider.js +21 -0
  133. package/dist/components/search/MetadataSearch.js +29 -28
  134. package/dist/components/search/SearchHints.js +1 -1
  135. package/dist/components/ui/ArrayFieldActions.js +12 -7
  136. package/dist/components/ui/ConfirmDeleteRuleModal.d.ts +2 -2
  137. package/dist/components/ui/ConfirmDeleteRuleModal.js +6 -1
  138. package/dist/components/ui/DeleteObjectModalContent.d.ts +1 -1
  139. package/dist/components/ui/DeleteObjectModalContent.js +12 -12
  140. package/dist/components/ui/FilterFormSection.d.ts +2 -2
  141. package/dist/components/ui/FilterFormSection.js +29 -29
  142. package/dist/components/ui/Search.elements.d.ts +2 -2
  143. package/dist/components/ui/Search.elements.js +7 -7
  144. package/dist/components/ui/Table.elements.d.ts +2 -1
  145. package/dist/components/ui/Table.elements.js +18 -12
  146. package/dist/config/__tests__/factory.test.d.ts +1 -0
  147. package/dist/config/__tests__/factory.test.js +311 -0
  148. package/dist/config/factory.d.ts +10 -56
  149. package/dist/config/factory.js +23 -71
  150. package/dist/config/types.d.ts +212 -34
  151. package/dist/contexts/DataBrowserUICustomizationContext.d.ts +27 -0
  152. package/dist/contexts/DataBrowserUICustomizationContext.js +13 -0
  153. package/dist/hooks/__tests__/useAccessibleBuckets.test.d.ts +1 -0
  154. package/dist/hooks/__tests__/useAccessibleBuckets.test.js +145 -0
  155. package/dist/hooks/__tests__/useISVBucketDetection.test.js +45 -45
  156. package/dist/hooks/__tests__/useIsBucketEmpty.test.js +27 -27
  157. package/dist/hooks/__tests__/useLoginMutation.test.d.ts +1 -0
  158. package/dist/hooks/__tests__/useLoginMutation.test.js +194 -0
  159. package/dist/hooks/bucketConfiguration.d.ts +8 -1
  160. package/dist/hooks/bucketConfiguration.js +52 -51
  161. package/dist/hooks/bucketOperations.d.ts +10 -1
  162. package/dist/hooks/bucketOperations.js +10 -9
  163. package/dist/hooks/factories/__tests__/useCreateS3FunctionMutationHook.test.js +80 -80
  164. package/dist/hooks/factories/__tests__/useCreateS3InfiniteQueryHook.test.js +80 -80
  165. package/dist/hooks/factories/__tests__/useCreateS3LoginHook.test.js +44 -44
  166. package/dist/hooks/factories/__tests__/useCreateS3MutationHook.test.js +63 -63
  167. package/dist/hooks/factories/__tests__/useCreateS3QueryHook.test.js +65 -65
  168. package/dist/hooks/factories/index.d.ts +4 -4
  169. package/dist/hooks/factories/index.js +2 -2
  170. package/dist/hooks/factories/useCreateS3InfiniteQueryHook.d.ts +2 -2
  171. package/dist/hooks/factories/useCreateS3InfiniteQueryHook.js +16 -13
  172. package/dist/hooks/factories/useCreateS3LoginHook.d.ts +2 -2
  173. package/dist/hooks/factories/useCreateS3LoginHook.js +1 -1
  174. package/dist/hooks/factories/useCreateS3MutationHook.d.ts +3 -3
  175. package/dist/hooks/factories/useCreateS3MutationHook.js +7 -2
  176. package/dist/hooks/factories/useCreateS3QueryHook.d.ts +2 -2
  177. package/dist/hooks/factories/useCreateS3QueryHook.js +11 -6
  178. package/dist/hooks/index.d.ts +19 -12
  179. package/dist/hooks/index.js +16 -9
  180. package/dist/hooks/loginOperations.d.ts +1 -1
  181. package/dist/hooks/loginOperations.js +1 -1
  182. package/dist/hooks/objectOperations.d.ts +2 -2
  183. package/dist/hooks/objectOperations.js +50 -49
  184. package/dist/hooks/presignedOperations.d.ts +4 -4
  185. package/dist/hooks/presignedOperations.js +5 -5
  186. package/dist/hooks/useAccessibleBuckets.d.ts +11 -0
  187. package/dist/hooks/useAccessibleBuckets.js +115 -0
  188. package/dist/hooks/useBatchObjectLegalHold.d.ts +11 -0
  189. package/dist/hooks/useBatchObjectLegalHold.js +48 -0
  190. package/dist/hooks/useBucketConfigEditor.d.ts +31 -0
  191. package/dist/hooks/useBucketConfigEditor.js +82 -0
  192. package/dist/hooks/useDataBrowserNavigate.d.ts +28 -0
  193. package/dist/hooks/useDataBrowserNavigate.js +24 -0
  194. package/dist/hooks/useDeleteBucketConfigRule.d.ts +2 -2
  195. package/dist/hooks/useDeleteBucketConfigRule.js +4 -4
  196. package/dist/hooks/useEmptyBucket.js +11 -11
  197. package/dist/hooks/useFeatures.d.ts +7 -0
  198. package/dist/hooks/useFeatures.js +8 -0
  199. package/dist/hooks/useISVBucketDetection.js +6 -6
  200. package/dist/hooks/useIsBucketEmpty.js +4 -4
  201. package/dist/hooks/useLimitedAccessFlow.d.ts +48 -0
  202. package/dist/hooks/useLimitedAccessFlow.js +23 -0
  203. package/dist/hooks/useS3Client.d.ts +6 -0
  204. package/dist/hooks/useS3Client.js +3 -2
  205. package/dist/hooks/useS3ConfigSwitch.d.ts +11 -0
  206. package/dist/hooks/useS3ConfigSwitch.js +37 -0
  207. package/dist/hooks/useSupportedNotificationEvents.d.ts +6 -0
  208. package/dist/hooks/useSupportedNotificationEvents.js +8 -0
  209. package/dist/index.d.ts +6 -6
  210. package/dist/index.js +2 -2
  211. package/dist/schemas/bucketPolicySchema.json +3 -13
  212. package/dist/test/msw/handlers/deleteBucket.d.ts +1 -1
  213. package/dist/test/msw/handlers/deleteBucket.js +20 -10
  214. package/dist/test/msw/handlers/getBucketAcl.d.ts +1 -1
  215. package/dist/test/msw/handlers/getBucketAcl.js +29 -17
  216. package/dist/test/msw/handlers/getBucketLocation.d.ts +1 -1
  217. package/dist/test/msw/handlers/getBucketLocation.js +29 -15
  218. package/dist/test/msw/handlers/getBucketPolicy.d.ts +1 -1
  219. package/dist/test/msw/handlers/getBucketPolicy.js +52 -32
  220. package/dist/test/msw/handlers/headObject.d.ts +1 -1
  221. package/dist/test/msw/handlers/headObject.js +31 -13
  222. package/dist/test/msw/handlers/listBuckets.d.ts +1 -1
  223. package/dist/test/msw/handlers/listBuckets.js +5 -3
  224. package/dist/test/msw/handlers/listObjectVersions.d.ts +1 -1
  225. package/dist/test/msw/handlers/listObjectVersions.js +38 -26
  226. package/dist/test/msw/handlers/listObjects.d.ts +1 -1
  227. package/dist/test/msw/handlers/listObjects.js +35 -23
  228. package/dist/test/msw/handlers/objectLegalHold.d.ts +1 -1
  229. package/dist/test/msw/handlers/objectLegalHold.js +32 -17
  230. package/dist/test/msw/handlers/objectRetention.d.ts +1 -1
  231. package/dist/test/msw/handlers/objectRetention.js +31 -17
  232. package/dist/test/msw/handlers/putBucketAcl.d.ts +1 -1
  233. package/dist/test/msw/handlers/putBucketAcl.js +29 -14
  234. package/dist/test/msw/handlers/putObject.d.ts +1 -1
  235. package/dist/test/msw/handlers/putObject.js +27 -12
  236. package/dist/test/msw/handlers.d.ts +3 -3
  237. package/dist/test/msw/handlers.js +77 -54
  238. package/dist/test/msw/index.d.ts +2 -2
  239. package/dist/test/msw/index.js +1 -1
  240. package/dist/test/msw/server.d.ts +1 -1
  241. package/dist/test/msw/server.js +1 -1
  242. package/dist/test/msw/utils.js +2 -2
  243. package/dist/test/setup.d.ts +1 -1
  244. package/dist/test/setup.js +13 -30
  245. package/dist/test/testUtils.d.ts +85 -33
  246. package/dist/test/testUtils.js +176 -111
  247. package/dist/test/utils/errorHandling.test.js +119 -119
  248. package/dist/types/index.d.ts +49 -36
  249. package/dist/types/monaco.d.ts +13 -0
  250. package/dist/types/monaco.js +0 -0
  251. package/dist/utils/__tests__/proxyMiddleware.test.d.ts +1 -0
  252. package/dist/utils/__tests__/proxyMiddleware.test.js +579 -0
  253. package/dist/utils/__tests__/s3Client.test.d.ts +1 -0
  254. package/dist/utils/__tests__/s3Client.test.js +340 -0
  255. package/dist/utils/__tests__/s3ConfigIdentifier.test.d.ts +1 -0
  256. package/dist/utils/__tests__/s3ConfigIdentifier.test.js +437 -0
  257. package/dist/utils/constants.d.ts +10 -0
  258. package/dist/utils/constants.js +19 -9
  259. package/dist/utils/deletion/index.d.ts +2 -2
  260. package/dist/utils/deletion/index.js +1 -1
  261. package/dist/utils/deletion/messages.d.ts +1 -1
  262. package/dist/utils/deletion/messages.js +4 -4
  263. package/dist/utils/errorHandling.d.ts +3 -3
  264. package/dist/utils/errorHandling.js +6 -6
  265. package/dist/utils/hooks.js +8 -8
  266. package/dist/utils/index.d.ts +5 -4
  267. package/dist/utils/index.js +4 -2
  268. package/dist/utils/proxyMiddleware.d.ts +32 -13
  269. package/dist/utils/proxyMiddleware.js +90 -36
  270. package/dist/utils/s3Client.d.ts +14 -4
  271. package/dist/utils/s3Client.js +5 -26
  272. package/dist/utils/s3ConfigIdentifier.d.ts +79 -0
  273. package/dist/utils/s3ConfigIdentifier.js +57 -0
  274. package/dist/utils/s3RuleUtils.d.ts +5 -5
  275. package/dist/utils/s3RuleUtils.js +17 -17
  276. package/package.json +10 -8
  277. package/dist/components/__tests__/BucketNotificationCreatePage.test.js +0 -316
  278. package/dist/components/buckets/BucketPolicyButton.d.ts +0 -7
  279. package/dist/components/buckets/notifications/BucketNotificationCreatePage.d.ts +0 -1
  280. package/dist/components/buckets/notifications/BucketNotificationCreatePage.js +0 -234
  281. package/dist/hooks/useLoginMutation.d.ts +0 -21
  282. package/dist/hooks/useLoginMutation.js +0 -9
  283. package/dist/utils/useFeatures.d.ts +0 -1
  284. package/dist/utils/useFeatures.js +0 -7
  285. /package/dist/components/__tests__/{BucketNotificationCreatePage.test.d.ts → BucketAccessor.test.d.ts} +0 -0
@@ -1,12 +1,11 @@
1
1
  import { jsx } from "react/jsx-runtime";
2
- import "react";
3
2
  import { PutObjectCommand, S3Client } from "@aws-sdk/client-s3";
4
- import { QueryClient, QueryClientProvider } from "@tanstack/react-query";
5
- import { fireEvent, renderHook, screen, waitFor } from "@testing-library/react";
6
- import { coreUIAvailableThemes } from "@scality/core-ui/dist/style/theme";
7
- import { CoreUiThemeProvider } from "@scality/core-ui/dist/next";
8
3
  import { ToastProvider } from "@scality/core-ui";
4
+ import { coreUIAvailableThemes } from "@scality/core-ui/dist/style/theme";
5
+ import { QueryClient } from "@tanstack/react-query";
6
+ import { fireEvent, renderHook, screen, waitFor } from "@testing-library/react";
9
7
  import { DataBrowserProvider } from "../components/providers/DataBrowserProvider.js";
8
+ import { DataBrowserUICustomizationProvider } from "../contexts/DataBrowserUICustomizationContext.js";
10
9
  import { overrideHandlers, setupMswServer } from "./msw/index.js";
11
10
  var __webpack_require__ = {};
12
11
  (()=>{
@@ -20,14 +19,14 @@ var __webpack_require__ = {};
20
19
  })();
21
20
  })();
22
21
  const testConfig = {
23
- endpoint: "https://s3.amazonaws.com",
24
- region: "us-east-1",
22
+ endpoint: 'https://s3.amazonaws.com',
23
+ region: 'us-east-1',
25
24
  forcePathStyle: true
26
25
  };
27
26
  const testCredentials = {
28
- accessKeyId: "test-access-key",
29
- secretAccessKey: "test-secret-key",
30
- sessionToken: "test-session-token"
27
+ accessKeyId: 'test-access-key',
28
+ secretAccessKey: 'test-secret-key',
29
+ sessionToken: 'test-session-token'
31
30
  };
32
31
  const mockS3Client = {
33
32
  send: jest.fn()
@@ -81,44 +80,24 @@ function mockOffsetSize(width, height) {
81
80
  }
82
81
  });
83
82
  const mockComputedStyle = {
84
- fontSize: "14px",
85
- paddingLeft: "0px",
86
- paddingRight: "0px",
87
- paddingTop: "0px",
88
- paddingBottom: "0px",
83
+ fontSize: '14px',
84
+ paddingLeft: '0px',
85
+ paddingRight: '0px',
86
+ paddingTop: '0px',
87
+ paddingBottom: '0px',
89
88
  getPropertyValue: jest.fn((prop)=>{
90
89
  const styles = {
91
- "font-size": "14px",
92
- "padding-left": "0px",
93
- "padding-right": "0px",
94
- "padding-top": "0px",
95
- "padding-bottom": "0px"
90
+ 'font-size': '14px',
91
+ 'padding-left': '0px',
92
+ 'padding-right': '0px',
93
+ 'padding-top': '0px',
94
+ 'padding-bottom': '0px'
96
95
  };
97
- return styles[prop] || "";
96
+ return styles[prop] || '';
98
97
  })
99
98
  };
100
- jest.spyOn(window, "getComputedStyle").mockImplementation(()=>mockComputedStyle);
99
+ jest.spyOn(window, 'getComputedStyle').mockImplementation(()=>mockComputedStyle);
101
100
  }
102
- const createQueryWrapper = ()=>{
103
- const queryClient = new QueryClient({
104
- defaultOptions: {
105
- queries: {
106
- retry: false
107
- },
108
- mutations: {
109
- retry: false
110
- }
111
- }
112
- });
113
- const theme = coreUIAvailableThemes.darkRebrand;
114
- return ({ children })=>/*#__PURE__*/ jsx(QueryClientProvider, {
115
- client: queryClient,
116
- children: /*#__PURE__*/ jsx(CoreUiThemeProvider, {
117
- theme: theme,
118
- children: children
119
- })
120
- });
121
- };
122
101
  const createTestWrapper = (config = testConfig, credentials = testCredentials)=>{
123
102
  const queryClient = new QueryClient({
124
103
  defaultOptions: {
@@ -140,8 +119,10 @@ const createTestWrapper = (config = testConfig, credentials = testCredentials)=>
140
119
  getS3Config: getConfig,
141
120
  theme: theme,
142
121
  enableDevtools: false,
143
- children: /*#__PURE__*/ jsx(CoreUiThemeProvider, {
144
- theme: theme,
122
+ children: /*#__PURE__*/ jsx(DataBrowserUICustomizationProvider, {
123
+ config: {
124
+ basePath: ''
125
+ },
145
126
  children: /*#__PURE__*/ jsx(ToastProvider, {
146
127
  children: children
147
128
  })
@@ -155,83 +136,42 @@ const renderHookWithWrapper = (hook, options)=>{
155
136
  ...renderOptions
156
137
  });
157
138
  };
158
- const createTestFile = (name, content, type = "text/plain")=>new File([
139
+ const createTestFile = (name, content, type = 'text/plain')=>new File([
159
140
  content
160
141
  ], name, {
161
142
  type
162
143
  });
163
- const overrideGlobalConfig = (overrides)=>{
164
- const currentS3 = globalThis.__S3_CONFIG__;
165
- const currentDev = globalThis.__DEV_CONFIG__;
166
- if (overrides.s3) globalThis.__S3_CONFIG__ = {
167
- ...currentS3,
168
- ...overrides.s3
169
- };
170
- if (overrides.dev) globalThis.__DEV_CONFIG__ = {
171
- ...currentDev,
172
- ...overrides.dev
173
- };
174
- if (overrides.environment) {
175
- if (void 0 !== overrides.environment.isDevelopment) globalThis.__IS_DEVELOPMENT__ = overrides.environment.isDevelopment;
176
- if (void 0 !== overrides.environment.isProduction) globalThis.__IS_PRODUCTION__ = overrides.environment.isProduction;
177
- }
178
- };
179
- const resetGlobalConfig = ()=>{
180
- globalThis.__S3_CONFIG__ = {
181
- endpoint: "http://localhost:8000",
182
- region: "us-east-1",
183
- realHost: "s3.amazonaws.com",
184
- forcePathStyle: true
185
- };
186
- globalThis.__DEV_CONFIG__ = {
187
- useProxy: false,
188
- proxyEndpoint: "http://localhost:3000/api/s3",
189
- proxyBasePath: "/api/s3",
190
- proxyHost: "localhost",
191
- proxyPort: 3000
192
- };
193
- globalThis.__IS_DEVELOPMENT__ = true;
194
- globalThis.__IS_PRODUCTION__ = false;
195
- };
196
- const withGlobalConfig = (overrides, testFn)=>async ()=>{
197
- overrideGlobalConfig(overrides);
198
- try {
199
- await testFn();
200
- } finally{
201
- resetGlobalConfig();
202
- }
203
- };
204
- const createFactoryTestError = (testContext, operationName, details)=>new Error(`Factory Test Failure [${testContext}]: ${operationName} - ${details || "Unknown error"}. Check factory implementation and hook usage patterns.`);
144
+ const createFactoryTestError = (testContext, operationName, details)=>new Error(`Factory Test Failure [${testContext}]: ${operationName} - ${details || 'Unknown error'}. Check factory implementation and hook usage patterns.`);
205
145
  const validateFactoryHook = (hook, operationName)=>{
206
- if ("function" != typeof hook) throw createFactoryTestError("Factory Validation", operationName, "hook should be a function - check if useCreate*Hook factory is properly returning a hook function");
146
+ if ('function' != typeof hook) throw createFactoryTestError('Factory Validation', operationName, 'hook should be a function - check if useCreate*Hook factory is properly returning a hook function');
207
147
  };
208
148
  const validateHookResult = (result, hookType)=>{
209
149
  const commonProps = [
210
- "isError",
211
- "isSuccess",
212
- "data",
213
- "error"
150
+ 'isError',
151
+ 'isSuccess',
152
+ 'data',
153
+ 'error'
214
154
  ];
215
155
  const queryProps = [
216
- "isLoading"
156
+ 'isLoading'
217
157
  ];
218
158
  const mutationProps = [
219
- "mutate",
220
- "mutateAsync",
221
- "isPending"
159
+ 'mutate',
160
+ 'mutateAsync',
161
+ 'isPending'
222
162
  ];
223
163
  const infiniteProps = [
224
- "hasNextPage",
225
- "fetchNextPage",
226
- "isFetchingNextPage"
164
+ 'hasNextPage',
165
+ 'fetchNextPage',
166
+ 'isFetchingNextPage'
227
167
  ];
228
168
  const expectedProps = [
229
169
  ...commonProps,
230
- ..."query" === hookType ? queryProps : [],
231
- ..."mutation" === hookType ? mutationProps : [],
232
- ..."infiniteQuery" === hookType ? infiniteProps : []
170
+ ...'query' === hookType ? queryProps : [],
171
+ ...'mutation' === hookType ? mutationProps : [],
172
+ ...'infiniteQuery' === hookType ? infiniteProps : []
233
173
  ];
234
- for (const prop of expectedProps)if (!(prop in result)) throw createFactoryTestError("Hook Validation", hookType, `Missing property '${prop}' - check if factory is returning proper React Query hook result`);
174
+ for (const prop of expectedProps)if (!(prop in result)) throw createFactoryTestError('Hook Validation', hookType, `Missing property '${prop}' - check if factory is returning proper React Query hook result`);
235
175
  };
236
176
  const createMockMutationResult = (mutate, overrides = {})=>({
237
177
  mutate,
@@ -241,7 +181,7 @@ const createMockMutationResult = (mutate, overrides = {})=>({
241
181
  isIdle: true,
242
182
  isError: false,
243
183
  isSuccess: false,
244
- status: "idle",
184
+ status: 'idle',
245
185
  data: void 0,
246
186
  error: null,
247
187
  variables: void 0,
@@ -252,21 +192,47 @@ const createMockMutationResult = (mutate, overrides = {})=>({
252
192
  submittedAt: 0,
253
193
  ...overrides
254
194
  });
195
+ const createMockQueryResult = (overrides = {})=>({
196
+ data: void 0,
197
+ error: null,
198
+ isError: false,
199
+ isLoading: false,
200
+ isLoadingError: false,
201
+ isRefetchError: false,
202
+ isSuccess: false,
203
+ status: 'pending',
204
+ dataUpdatedAt: 0,
205
+ errorUpdatedAt: 0,
206
+ failureCount: 0,
207
+ failureReason: null,
208
+ errorUpdateCount: 0,
209
+ isFetched: false,
210
+ isFetchedAfterMount: false,
211
+ isFetching: false,
212
+ isInitialLoading: false,
213
+ isPaused: false,
214
+ isPlaceholderData: false,
215
+ isPending: false,
216
+ isRefetching: false,
217
+ isStale: false,
218
+ refetch: jest.fn(),
219
+ ...overrides
220
+ });
255
221
  const findToggleByLabel = (labelText)=>{
256
222
  const label = screen.getByText(labelText);
257
223
  let current = label.parentElement;
258
224
  while(current && !current.querySelector('input[type="checkbox"]'))current = current.parentElement;
259
225
  return current?.querySelector('input[type="checkbox"]');
260
226
  };
261
- const submitForm = async (buttonName = "create")=>{
227
+ const submitForm = async (buttonName = 'create')=>{
262
228
  await waitFor(()=>{
263
- const button = screen.getByRole("button", {
264
- name: "create" === buttonName ? /create/i : /save/i
229
+ const button = screen.getByRole('button', {
230
+ name: 'create' === buttonName ? /create/i : /save/i
265
231
  });
266
232
  expect(button).toBeEnabled();
267
233
  });
268
- const button = screen.getByRole("button", {
269
- name: "create" === buttonName ? /create/i : /save/i
234
+ const button = screen.getByRole('button', {
235
+ name: 'create' === buttonName ? /create/i : /save/i
270
236
  });
271
237
  fireEvent.click(button);
272
238
  };
@@ -275,10 +241,109 @@ const mockSuccessSubmit = (mockMutate)=>{
275
241
  options?.onSuccess?.();
276
242
  });
277
243
  };
278
- const mockErrorSubmit = (mockMutate, errorMessage = "Network Error")=>{
244
+ const mockErrorSubmit = (mockMutate, errorMessage = 'Network Error')=>{
279
245
  const error = new Error(errorMessage);
280
246
  mockMutate.mockImplementation((_, options)=>{
281
247
  options?.onError?.(error);
282
248
  });
283
249
  };
284
- export { MockedPutObjectCommand, MockedS3Client, createFactoryTestError, createMockMutationResult, createQueryWrapper, createTestFile, createTestWrapper, findToggleByLabel, mockErrorSubmit, mockOffsetSize, mockS3Client, mockSuccessSubmit, overrideGlobalConfig, overrideHandlers, renderHookWithWrapper, resetGlobalConfig, setupCommonMocks, setupMswServer, setupS3Mocks, submitForm, testConfig, testCredentials, validateFactoryHook, validateHookResult, withGlobalConfig };
250
+ const createDefaultBucketMocks = ()=>({
251
+ versioning: {
252
+ data: {
253
+ Status: 'Enabled'
254
+ },
255
+ status: 'success'
256
+ },
257
+ acl: {
258
+ data: {
259
+ Owner: {
260
+ DisplayName: 'test-owner'
261
+ },
262
+ Grants: [
263
+ {
264
+ Grantee: {
265
+ Type: 'CanonicalUser',
266
+ DisplayName: 'test-grantee'
267
+ }
268
+ }
269
+ ]
270
+ },
271
+ status: 'success'
272
+ },
273
+ location: {
274
+ data: {
275
+ LocationConstraint: 'us-west-2'
276
+ },
277
+ status: 'success'
278
+ },
279
+ cors: {
280
+ data: {
281
+ CORSRules: []
282
+ },
283
+ status: 'success'
284
+ },
285
+ objectLock: {
286
+ data: {
287
+ ObjectLockConfiguration: {
288
+ ObjectLockEnabled: 'Disabled'
289
+ }
290
+ },
291
+ status: 'success'
292
+ },
293
+ policy: {
294
+ data: void 0,
295
+ error: null,
296
+ status: 'success'
297
+ },
298
+ tagging: {
299
+ data: {
300
+ TagSet: []
301
+ },
302
+ status: 'success'
303
+ },
304
+ lifecycle: {
305
+ data: {
306
+ Rules: []
307
+ },
308
+ status: 'success',
309
+ error: null
310
+ },
311
+ replication: {
312
+ data: {
313
+ ReplicationConfiguration: {
314
+ Role: 'arn:aws:iam::123456789012:role/replication-role',
315
+ Rules: []
316
+ }
317
+ },
318
+ status: 'success',
319
+ error: null
320
+ },
321
+ isvBucketStatus: {
322
+ isVeeamBucket: false,
323
+ isCommvaultBucket: false,
324
+ isISVManaged: false,
325
+ isvApplication: void 0,
326
+ isLoading: false,
327
+ bucketTagsStatus: 'success'
328
+ },
329
+ features: false
330
+ });
331
+ const applyBucketMocks = (mocks, mockData = {})=>{
332
+ const defaults = createDefaultBucketMocks();
333
+ const data = {
334
+ ...defaults,
335
+ ...mockData
336
+ };
337
+ mocks.useGetBucketVersioning.mockReturnValue(data.versioning);
338
+ mocks.useGetBucketAcl.mockReturnValue(data.acl);
339
+ mocks.useGetBucketLocation.mockReturnValue(data.location);
340
+ mocks.useGetBucketCors.mockReturnValue(data.cors);
341
+ mocks.useGetBucketObjectLockConfiguration.mockReturnValue(data.objectLock);
342
+ mocks.useGetBucketPolicy.mockReturnValue(data.policy);
343
+ mocks.useGetBucketTagging.mockReturnValue(data.tagging);
344
+ mocks.useISVBucketStatus.mockReturnValue(data.isvBucketStatus);
345
+ mocks.useFeatures.mockReturnValue(data.features);
346
+ if (mocks.useGetBucketLifecycle) mocks.useGetBucketLifecycle.mockReturnValue(data.lifecycle);
347
+ if (mocks.useGetBucketReplication) mocks.useGetBucketReplication.mockReturnValue(data.replication);
348
+ };
349
+ export { MockedPutObjectCommand, MockedS3Client, applyBucketMocks, createDefaultBucketMocks, createFactoryTestError, createMockMutationResult, createMockQueryResult, createTestFile, createTestWrapper, findToggleByLabel, mockErrorSubmit, mockOffsetSize, mockS3Client, mockSuccessSubmit, overrideHandlers, renderHookWithWrapper, setupCommonMocks, setupMswServer, setupS3Mocks, submitForm, testConfig, testCredentials, validateFactoryHook, validateHookResult };