@scality/data-browser-library 1.0.0-preview.7 → 1.0.0-preview.9
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.
- package/dist/components/__tests__/BucketCreate.test.d.ts +1 -0
- package/dist/components/__tests__/BucketCreate.test.js +408 -0
- package/dist/components/__tests__/BucketLifecycleFormPage.test.d.ts +1 -0
- package/dist/components/__tests__/BucketLifecycleFormPage.test.js +618 -0
- package/dist/components/__tests__/BucketLifecycleList.test.d.ts +1 -0
- package/dist/components/__tests__/BucketLifecycleList.test.js +325 -0
- package/dist/components/__tests__/BucketList.test.js +190 -0
- package/dist/components/__tests__/BucketOverview.test.js +298 -8
- package/dist/components/__tests__/BucketReplicationFormPage.test.d.ts +1 -0
- package/dist/components/__tests__/BucketReplicationFormPage.test.js +1757 -0
- package/dist/components/__tests__/BucketReplicationList.test.d.ts +1 -0
- package/dist/components/__tests__/BucketReplicationList.test.js +344 -0
- package/dist/components/__tests__/DeleteBucketConfigRuleButton.test.d.ts +1 -0
- package/dist/components/__tests__/DeleteBucketConfigRuleButton.test.js +196 -0
- package/dist/components/__tests__/EmptyBucketButton.test.d.ts +1 -0
- package/dist/components/__tests__/EmptyBucketButton.test.js +302 -0
- package/dist/components/buckets/BucketCreate.d.ts +49 -0
- package/dist/components/buckets/BucketCreate.js +237 -0
- package/dist/components/buckets/BucketDetails.js +62 -10
- package/dist/components/buckets/BucketLifecycleFormPage.d.ts +15 -0
- package/dist/components/buckets/BucketLifecycleFormPage.js +1070 -0
- package/dist/components/buckets/BucketLifecycleList.d.ts +10 -0
- package/dist/components/buckets/BucketLifecycleList.js +270 -0
- package/dist/components/buckets/BucketList.d.ts +5 -2
- package/dist/components/buckets/BucketList.js +38 -28
- package/dist/components/buckets/BucketOverview.d.ts +65 -4
- package/dist/components/buckets/BucketOverview.js +261 -179
- package/dist/components/buckets/BucketPage.js +1 -1
- package/dist/components/buckets/BucketReplicationFormPage.d.ts +1 -0
- package/dist/components/buckets/BucketReplicationFormPage.js +834 -0
- package/dist/components/buckets/BucketReplicationList.d.ts +11 -0
- package/dist/components/buckets/BucketReplicationList.js +189 -0
- package/dist/components/buckets/DeleteBucketConfigRuleButton.d.ts +18 -0
- package/dist/components/buckets/DeleteBucketConfigRuleButton.js +53 -0
- package/dist/components/buckets/EmptyBucketButton.d.ts +5 -0
- package/dist/components/buckets/EmptyBucketButton.js +232 -0
- package/dist/components/buckets/EmptyBucketSummary.d.ts +9 -0
- package/dist/components/buckets/EmptyBucketSummary.js +60 -0
- package/dist/components/buckets/EmptyBucketSummaryList.d.ts +13 -0
- package/dist/components/buckets/EmptyBucketSummaryList.js +140 -0
- package/dist/components/buckets/notifications/BucketNotificationCreatePage.js +8 -8
- package/dist/components/index.d.ts +8 -1
- package/dist/components/index.js +9 -2
- package/dist/components/objects/ObjectLock/EditRetentionButton.d.ts +4 -0
- package/dist/components/objects/ObjectLock/EditRetentionButton.js +32 -0
- package/dist/components/objects/ObjectLock/ObjectLockRetentionSettings.d.ts +3 -0
- package/dist/components/objects/ObjectLock/ObjectLockRetentionSettings.js +211 -0
- package/dist/components/objects/ObjectLock/ObjectLockSettings.d.ts +9 -0
- package/dist/components/objects/ObjectLock/ObjectLockSettings.js +158 -0
- package/dist/components/objects/ObjectLock/ObjectLockSettingsUtils.d.ts +8 -0
- package/dist/components/objects/ObjectLock/ObjectLockSettingsUtils.js +39 -0
- package/dist/components/objects/ObjectLock/__tests__/EditRetentionButton.test.d.ts +1 -0
- package/dist/components/objects/ObjectLock/__tests__/EditRetentionButton.test.js +204 -0
- package/dist/components/objects/ObjectLock/__tests__/ObjectLockSettings.test.d.ts +1 -0
- package/dist/components/objects/ObjectLock/__tests__/ObjectLockSettings.test.js +374 -0
- package/dist/components/ui/ArrayFieldActions.d.ts +36 -0
- package/dist/components/ui/ArrayFieldActions.js +38 -0
- package/dist/components/ui/ConfirmDeleteRuleModal.d.ts +16 -0
- package/dist/components/ui/ConfirmDeleteRuleModal.js +43 -0
- package/dist/components/ui/FilterFormSection.d.ts +44 -0
- package/dist/components/ui/FilterFormSection.js +159 -0
- package/dist/config/factory.d.ts +13 -2
- package/dist/config/factory.js +9 -6
- package/dist/hooks/__tests__/useISVBucketDetection.test.d.ts +1 -0
- package/dist/hooks/__tests__/useISVBucketDetection.test.js +188 -0
- package/dist/hooks/factories/__tests__/useCreateS3QueryHook.test.js +44 -1
- package/dist/hooks/factories/useCreateS3QueryHook.js +22 -1
- package/dist/hooks/index.d.ts +4 -0
- package/dist/hooks/index.js +5 -1
- package/dist/hooks/useDeleteBucketConfigRule.d.ts +26 -0
- package/dist/hooks/useDeleteBucketConfigRule.js +46 -0
- package/dist/hooks/useEmptyBucket.d.ts +27 -0
- package/dist/hooks/useEmptyBucket.js +116 -0
- package/dist/hooks/useISVBucketDetection.d.ts +15 -0
- package/dist/hooks/useISVBucketDetection.js +27 -0
- package/dist/hooks/useTableRowSelection.d.ts +9 -0
- package/dist/hooks/useTableRowSelection.js +45 -0
- package/dist/test/setup.js +8 -0
- package/dist/test/testUtils.d.ts +99 -17
- package/dist/test/testUtils.js +64 -16
- package/dist/test/utils/errorHandling.test.js +39 -1
- package/dist/utils/constants.d.ts +12 -0
- package/dist/utils/constants.js +9 -0
- package/dist/utils/errorHandling.d.ts +9 -0
- package/dist/utils/errorHandling.js +6 -1
- package/dist/utils/index.d.ts +2 -0
- package/dist/utils/index.js +2 -0
- package/dist/utils/s3RuleUtils.d.ts +53 -0
- package/dist/utils/s3RuleUtils.js +101 -0
- package/package.json +1 -1
|
@@ -1,21 +1,70 @@
|
|
|
1
|
-
import
|
|
1
|
+
import * as __WEBPACK_EXTERNAL_MODULE_react_router_dom_5358f3fe__ from "react-router-dom";
|
|
2
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
3
|
import { fireEvent, render, screen } from "@testing-library/react";
|
|
3
|
-
import { useGetBucketAcl, useGetBucketCors, useGetBucketLocation, useGetBucketObjectLockConfiguration, useGetBucketPolicy, useGetBucketVersioning } from "../../hooks/index.js";
|
|
4
|
+
import { useGetBucketAcl, useGetBucketCors, useGetBucketLocation, useGetBucketObjectLockConfiguration, useGetBucketPolicy, useGetBucketTagging, useGetBucketVersioning, useISVBucketStatus } from "../../hooks/index.js";
|
|
4
5
|
import { createTestWrapper } from "../../test/testUtils.js";
|
|
5
6
|
import { BucketOverview } from "../buckets/BucketOverview.js";
|
|
7
|
+
import { useFeatures } from "../../utils/useFeatures.js";
|
|
8
|
+
var __webpack_modules__ = {
|
|
9
|
+
"react-router-dom": function(module) {
|
|
10
|
+
module.exports = __WEBPACK_EXTERNAL_MODULE_react_router_dom_5358f3fe__;
|
|
11
|
+
}
|
|
12
|
+
};
|
|
13
|
+
var __webpack_module_cache__ = {};
|
|
14
|
+
function __webpack_require__(moduleId) {
|
|
15
|
+
var cachedModule = __webpack_module_cache__[moduleId];
|
|
16
|
+
if (void 0 !== cachedModule) return cachedModule.exports;
|
|
17
|
+
var module = __webpack_module_cache__[moduleId] = {
|
|
18
|
+
exports: {}
|
|
19
|
+
};
|
|
20
|
+
__webpack_modules__[moduleId](module, module.exports, __webpack_require__);
|
|
21
|
+
return module.exports;
|
|
22
|
+
}
|
|
23
|
+
var external_react_router_dom_ = __webpack_require__("react-router-dom");
|
|
6
24
|
jest.mock("../../hooks");
|
|
25
|
+
jest.mock("../../utils/useFeatures");
|
|
26
|
+
jest.mock("react-router-dom", ()=>({
|
|
27
|
+
...jest.requireActual("react-router-dom"),
|
|
28
|
+
useNavigate: jest.fn()
|
|
29
|
+
}));
|
|
7
30
|
const mockUseGetBucketVersioning = jest.mocked(useGetBucketVersioning);
|
|
8
31
|
const mockUseGetBucketAcl = jest.mocked(useGetBucketAcl);
|
|
9
32
|
const mockUseGetBucketLocation = jest.mocked(useGetBucketLocation);
|
|
10
33
|
const mockUseGetBucketCors = jest.mocked(useGetBucketCors);
|
|
11
34
|
const mockUseGetBucketObjectLockConfiguration = jest.mocked(useGetBucketObjectLockConfiguration);
|
|
12
35
|
const mockUseGetBucketPolicy = jest.mocked(useGetBucketPolicy);
|
|
36
|
+
const mockUseGetBucketTagging = jest.mocked(useGetBucketTagging);
|
|
37
|
+
const mockUseISVBucketStatus = jest.mocked(useISVBucketStatus);
|
|
38
|
+
const mockUseFeatures = jest.mocked(useFeatures);
|
|
13
39
|
const renderBucketOverview = (props = {})=>{
|
|
40
|
+
const { bucketName = "test-bucket", onEmptyBucket, onDeleteBucket, onEditPolicy, renderEmptyButton, renderDeleteButton, isEmptyBucketDisabled, isDeleteBucketDisabled } = props;
|
|
14
41
|
const Wrapper = createTestWrapper();
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
42
|
+
const mockNavigate = jest.fn();
|
|
43
|
+
__webpack_require__("react-router-dom").useNavigate.mockReturnValue(mockNavigate);
|
|
44
|
+
return render(/*#__PURE__*/ jsx(external_react_router_dom_.MemoryRouter, {
|
|
45
|
+
children: /*#__PURE__*/ jsx(Wrapper, {
|
|
46
|
+
children: /*#__PURE__*/ jsxs(BucketOverview, {
|
|
47
|
+
bucketName: bucketName,
|
|
48
|
+
children: [
|
|
49
|
+
/*#__PURE__*/ jsx(BucketOverview.Actions, {
|
|
50
|
+
onEmptyBucket: onEmptyBucket,
|
|
51
|
+
onDeleteBucket: onDeleteBucket,
|
|
52
|
+
renderEmptyButton: renderEmptyButton,
|
|
53
|
+
renderDeleteButton: renderDeleteButton,
|
|
54
|
+
isEmptyBucketDisabled: isEmptyBucketDisabled,
|
|
55
|
+
isDeleteBucketDisabled: isDeleteBucketDisabled
|
|
56
|
+
}),
|
|
57
|
+
/*#__PURE__*/ jsxs(BucketOverview.Sections, {
|
|
58
|
+
children: [
|
|
59
|
+
/*#__PURE__*/ jsx(BucketOverview.GeneralSection, {}),
|
|
60
|
+
/*#__PURE__*/ jsx(BucketOverview.DataProtectionSection, {}),
|
|
61
|
+
/*#__PURE__*/ jsx(BucketOverview.PermissionsSection, {
|
|
62
|
+
onEditPolicy: onEditPolicy
|
|
63
|
+
})
|
|
64
|
+
]
|
|
65
|
+
})
|
|
66
|
+
]
|
|
67
|
+
})
|
|
19
68
|
})
|
|
20
69
|
}));
|
|
21
70
|
};
|
|
@@ -66,6 +115,21 @@ const mockHookDefaults = ()=>{
|
|
|
66
115
|
error: null,
|
|
67
116
|
status: "success"
|
|
68
117
|
});
|
|
118
|
+
mockUseGetBucketTagging.mockReturnValue({
|
|
119
|
+
data: {
|
|
120
|
+
TagSet: []
|
|
121
|
+
},
|
|
122
|
+
status: "success"
|
|
123
|
+
});
|
|
124
|
+
mockUseISVBucketStatus.mockReturnValue({
|
|
125
|
+
isVeeamBucket: false,
|
|
126
|
+
isCommvaultBucket: false,
|
|
127
|
+
isISVManaged: false,
|
|
128
|
+
isvApplication: void 0,
|
|
129
|
+
isLoading: false,
|
|
130
|
+
bucketTagsStatus: "success"
|
|
131
|
+
});
|
|
132
|
+
mockUseFeatures.mockReturnValue(false);
|
|
69
133
|
};
|
|
70
134
|
describe("BucketOverview", ()=>{
|
|
71
135
|
beforeEach(()=>{
|
|
@@ -148,6 +212,126 @@ describe("BucketOverview", ()=>{
|
|
|
148
212
|
renderBucketOverview();
|
|
149
213
|
expect(screen.getByText("Disabled")).toBeInTheDocument();
|
|
150
214
|
});
|
|
215
|
+
it("shows default retention as Inactive when not configured", ()=>{
|
|
216
|
+
mockUseGetBucketObjectLockConfiguration.mockReturnValue({
|
|
217
|
+
data: {
|
|
218
|
+
ObjectLockConfiguration: {
|
|
219
|
+
ObjectLockEnabled: "Enabled"
|
|
220
|
+
}
|
|
221
|
+
},
|
|
222
|
+
status: "success"
|
|
223
|
+
});
|
|
224
|
+
renderBucketOverview();
|
|
225
|
+
expect(screen.getByText("Inactive")).toBeInTheDocument();
|
|
226
|
+
});
|
|
227
|
+
it("shows default retention with days in Governance mode", ()=>{
|
|
228
|
+
mockUseGetBucketObjectLockConfiguration.mockReturnValue({
|
|
229
|
+
data: {
|
|
230
|
+
ObjectLockConfiguration: {
|
|
231
|
+
ObjectLockEnabled: "Enabled",
|
|
232
|
+
Rule: {
|
|
233
|
+
DefaultRetention: {
|
|
234
|
+
Mode: "GOVERNANCE",
|
|
235
|
+
Days: 30
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
},
|
|
240
|
+
status: "success"
|
|
241
|
+
});
|
|
242
|
+
renderBucketOverview();
|
|
243
|
+
expect(screen.getByText("Governance - 30 days")).toBeInTheDocument();
|
|
244
|
+
});
|
|
245
|
+
it("shows default retention with single day", ()=>{
|
|
246
|
+
mockUseGetBucketObjectLockConfiguration.mockReturnValue({
|
|
247
|
+
data: {
|
|
248
|
+
ObjectLockConfiguration: {
|
|
249
|
+
ObjectLockEnabled: "Enabled",
|
|
250
|
+
Rule: {
|
|
251
|
+
DefaultRetention: {
|
|
252
|
+
Mode: "COMPLIANCE",
|
|
253
|
+
Days: 1
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
},
|
|
258
|
+
status: "success"
|
|
259
|
+
});
|
|
260
|
+
renderBucketOverview();
|
|
261
|
+
expect(screen.getByText("Compliance - 1 day")).toBeInTheDocument();
|
|
262
|
+
});
|
|
263
|
+
it("shows default retention with years in Compliance mode", ()=>{
|
|
264
|
+
mockUseGetBucketObjectLockConfiguration.mockReturnValue({
|
|
265
|
+
data: {
|
|
266
|
+
ObjectLockConfiguration: {
|
|
267
|
+
ObjectLockEnabled: "Enabled",
|
|
268
|
+
Rule: {
|
|
269
|
+
DefaultRetention: {
|
|
270
|
+
Mode: "COMPLIANCE",
|
|
271
|
+
Years: 7
|
|
272
|
+
}
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
},
|
|
276
|
+
status: "success"
|
|
277
|
+
});
|
|
278
|
+
renderBucketOverview();
|
|
279
|
+
expect(screen.getByText("Compliance - 7 years")).toBeInTheDocument();
|
|
280
|
+
});
|
|
281
|
+
it("shows default retention with single year", ()=>{
|
|
282
|
+
mockUseGetBucketObjectLockConfiguration.mockReturnValue({
|
|
283
|
+
data: {
|
|
284
|
+
ObjectLockConfiguration: {
|
|
285
|
+
ObjectLockEnabled: "Enabled",
|
|
286
|
+
Rule: {
|
|
287
|
+
DefaultRetention: {
|
|
288
|
+
Mode: "GOVERNANCE",
|
|
289
|
+
Years: 1
|
|
290
|
+
}
|
|
291
|
+
}
|
|
292
|
+
}
|
|
293
|
+
},
|
|
294
|
+
status: "success"
|
|
295
|
+
});
|
|
296
|
+
renderBucketOverview();
|
|
297
|
+
expect(screen.getByText("Governance - 1 year")).toBeInTheDocument();
|
|
298
|
+
});
|
|
299
|
+
it("shows edit retention button when object lock is enabled", ()=>{
|
|
300
|
+
mockUseGetBucketObjectLockConfiguration.mockReturnValue({
|
|
301
|
+
data: {
|
|
302
|
+
ObjectLockConfiguration: {
|
|
303
|
+
ObjectLockEnabled: "Enabled",
|
|
304
|
+
Rule: {
|
|
305
|
+
DefaultRetention: {
|
|
306
|
+
Mode: "GOVERNANCE",
|
|
307
|
+
Days: 30
|
|
308
|
+
}
|
|
309
|
+
}
|
|
310
|
+
}
|
|
311
|
+
},
|
|
312
|
+
status: "success"
|
|
313
|
+
});
|
|
314
|
+
renderBucketOverview();
|
|
315
|
+
const editButton = screen.getByRole("button", {
|
|
316
|
+
name: /edit default retention/i
|
|
317
|
+
});
|
|
318
|
+
expect(editButton).toBeInTheDocument();
|
|
319
|
+
});
|
|
320
|
+
it("does not show edit retention button when object lock is disabled", ()=>{
|
|
321
|
+
mockUseGetBucketObjectLockConfiguration.mockReturnValue({
|
|
322
|
+
data: {
|
|
323
|
+
ObjectLockConfiguration: {
|
|
324
|
+
ObjectLockEnabled: "Disabled"
|
|
325
|
+
}
|
|
326
|
+
},
|
|
327
|
+
status: "success"
|
|
328
|
+
});
|
|
329
|
+
renderBucketOverview();
|
|
330
|
+
const editButton = screen.queryByRole("button", {
|
|
331
|
+
name: /edit default retention/i
|
|
332
|
+
});
|
|
333
|
+
expect(editButton).not.toBeInTheDocument();
|
|
334
|
+
});
|
|
151
335
|
it("displays bucket owner from ACL", ()=>{
|
|
152
336
|
mockUseGetBucketAcl.mockReturnValue({
|
|
153
337
|
data: {
|
|
@@ -406,14 +590,34 @@ describe("BucketOverview", ()=>{
|
|
|
406
590
|
const corsValues = screen.getAllByText("No");
|
|
407
591
|
expect(corsValues.length).toBeGreaterThan(0);
|
|
408
592
|
});
|
|
409
|
-
it("handles object lock error state", ()=>{
|
|
593
|
+
it("handles object lock error state (404 - not configured)", ()=>{
|
|
594
|
+
const notFoundError = new Error("Object Lock configuration does not exist");
|
|
595
|
+
notFoundError.name = "NoSuchBucketObjectLockConfiguration";
|
|
596
|
+
notFoundError.$metadata = {
|
|
597
|
+
httpStatusCode: 404
|
|
598
|
+
};
|
|
410
599
|
mockUseGetBucketObjectLockConfiguration.mockReturnValue({
|
|
411
600
|
data: void 0,
|
|
412
|
-
status: "error"
|
|
601
|
+
status: "error",
|
|
602
|
+
error: notFoundError
|
|
413
603
|
});
|
|
414
604
|
renderBucketOverview();
|
|
415
605
|
expect(screen.getByText("Disabled")).toBeInTheDocument();
|
|
416
606
|
});
|
|
607
|
+
it("handles object lock real error state (non-404)", ()=>{
|
|
608
|
+
const accessDeniedError = new Error("Access Denied");
|
|
609
|
+
accessDeniedError.name = "AccessDenied";
|
|
610
|
+
accessDeniedError.$metadata = {
|
|
611
|
+
httpStatusCode: 403
|
|
612
|
+
};
|
|
613
|
+
mockUseGetBucketObjectLockConfiguration.mockReturnValue({
|
|
614
|
+
data: void 0,
|
|
615
|
+
status: "error",
|
|
616
|
+
error: accessDeniedError
|
|
617
|
+
});
|
|
618
|
+
renderBucketOverview();
|
|
619
|
+
expect(screen.getByText("Error")).toBeInTheDocument();
|
|
620
|
+
});
|
|
417
621
|
describe("Bucket Policy", ()=>{
|
|
418
622
|
it("shows 'Configured' when policy exists", ()=>{
|
|
419
623
|
mockUseGetBucketPolicy.mockReturnValue({
|
|
@@ -476,4 +680,90 @@ describe("BucketOverview", ()=>{
|
|
|
476
680
|
expect(onEditPolicy).toHaveBeenCalledWith("test-bucket");
|
|
477
681
|
});
|
|
478
682
|
});
|
|
683
|
+
describe("Field Overrides", ()=>{
|
|
684
|
+
it("renders slot-based field override", ()=>{
|
|
685
|
+
const Wrapper = createTestWrapper();
|
|
686
|
+
render(/*#__PURE__*/ jsx(external_react_router_dom_.MemoryRouter, {
|
|
687
|
+
children: /*#__PURE__*/ jsx(Wrapper, {
|
|
688
|
+
children: /*#__PURE__*/ jsxs(BucketOverview, {
|
|
689
|
+
bucketName: "test-bucket",
|
|
690
|
+
children: [
|
|
691
|
+
/*#__PURE__*/ jsx(BucketOverview.Actions, {}),
|
|
692
|
+
/*#__PURE__*/ jsxs(BucketOverview.Sections, {
|
|
693
|
+
children: [
|
|
694
|
+
/*#__PURE__*/ jsx(BucketOverview.GeneralSection, {
|
|
695
|
+
locationField: /*#__PURE__*/ jsx("span", {
|
|
696
|
+
children: "Custom Location Content"
|
|
697
|
+
})
|
|
698
|
+
}),
|
|
699
|
+
/*#__PURE__*/ jsx(BucketOverview.DataProtectionSection, {}),
|
|
700
|
+
/*#__PURE__*/ jsx(BucketOverview.PermissionsSection, {})
|
|
701
|
+
]
|
|
702
|
+
})
|
|
703
|
+
]
|
|
704
|
+
})
|
|
705
|
+
})
|
|
706
|
+
}));
|
|
707
|
+
expect(screen.getByText("Custom Location Content")).toBeInTheDocument();
|
|
708
|
+
expect(screen.getByText("test-bucket")).toBeInTheDocument();
|
|
709
|
+
});
|
|
710
|
+
it("renders render prop field override", ()=>{
|
|
711
|
+
const Wrapper = createTestWrapper();
|
|
712
|
+
render(/*#__PURE__*/ jsx(external_react_router_dom_.MemoryRouter, {
|
|
713
|
+
children: /*#__PURE__*/ jsx(Wrapper, {
|
|
714
|
+
children: /*#__PURE__*/ jsxs(BucketOverview, {
|
|
715
|
+
bucketName: "test-bucket",
|
|
716
|
+
children: [
|
|
717
|
+
/*#__PURE__*/ jsx(BucketOverview.Actions, {}),
|
|
718
|
+
/*#__PURE__*/ jsxs(BucketOverview.Sections, {
|
|
719
|
+
children: [
|
|
720
|
+
/*#__PURE__*/ jsx(BucketOverview.GeneralSection, {
|
|
721
|
+
renderVersioning: (name)=>/*#__PURE__*/ jsxs("span", {
|
|
722
|
+
children: [
|
|
723
|
+
"Custom Versioning for ",
|
|
724
|
+
name
|
|
725
|
+
]
|
|
726
|
+
})
|
|
727
|
+
}),
|
|
728
|
+
/*#__PURE__*/ jsx(BucketOverview.DataProtectionSection, {}),
|
|
729
|
+
/*#__PURE__*/ jsx(BucketOverview.PermissionsSection, {})
|
|
730
|
+
]
|
|
731
|
+
})
|
|
732
|
+
]
|
|
733
|
+
})
|
|
734
|
+
})
|
|
735
|
+
}));
|
|
736
|
+
expect(screen.getByText("Custom Versioning for test-bucket")).toBeInTheDocument();
|
|
737
|
+
});
|
|
738
|
+
it("prioritizes slot prop over render prop over default", ()=>{
|
|
739
|
+
const Wrapper = createTestWrapper();
|
|
740
|
+
const renderName = jest.fn(()=>/*#__PURE__*/ jsx("span", {
|
|
741
|
+
children: "Render Prop Name"
|
|
742
|
+
}));
|
|
743
|
+
render(/*#__PURE__*/ jsx(external_react_router_dom_.MemoryRouter, {
|
|
744
|
+
children: /*#__PURE__*/ jsx(Wrapper, {
|
|
745
|
+
children: /*#__PURE__*/ jsxs(BucketOverview, {
|
|
746
|
+
bucketName: "test-bucket",
|
|
747
|
+
children: [
|
|
748
|
+
/*#__PURE__*/ jsx(BucketOverview.Actions, {}),
|
|
749
|
+
/*#__PURE__*/ jsxs(BucketOverview.Sections, {
|
|
750
|
+
children: [
|
|
751
|
+
/*#__PURE__*/ jsx(BucketOverview.GeneralSection, {
|
|
752
|
+
nameField: /*#__PURE__*/ jsx("span", {
|
|
753
|
+
children: "Slot Prop Name"
|
|
754
|
+
}),
|
|
755
|
+
renderName: renderName
|
|
756
|
+
}),
|
|
757
|
+
/*#__PURE__*/ jsx(BucketOverview.DataProtectionSection, {}),
|
|
758
|
+
/*#__PURE__*/ jsx(BucketOverview.PermissionsSection, {})
|
|
759
|
+
]
|
|
760
|
+
})
|
|
761
|
+
]
|
|
762
|
+
})
|
|
763
|
+
})
|
|
764
|
+
}));
|
|
765
|
+
expect(screen.getByText("Slot Prop Name")).toBeInTheDocument();
|
|
766
|
+
expect(renderName).not.toHaveBeenCalled();
|
|
767
|
+
});
|
|
768
|
+
});
|
|
479
769
|
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|