diff --git a/plugins/github-release-manager/package.json b/plugins/github-release-manager/package.json
index bd6939a128..cd32f0c105 100644
--- a/plugins/github-release-manager/package.json
+++ b/plugins/github-release-manager/package.json
@@ -39,12 +39,13 @@
"@backstage/dev-utils": "^0.1.13",
"@backstage/test-utils": "^0.1.10",
"@testing-library/jest-dom": "^5.10.1",
+ "@testing-library/react-hooks": "^5.1.1",
"@testing-library/react": "^11.2.5",
"@testing-library/user-event": "^12.0.7",
"@types/jest": "^26.0.7",
"@types/node": "^14.14.32",
- "msw": "^0.21.2",
- "cross-fetch": "^3.0.6"
+ "cross-fetch": "^3.0.6",
+ "msw": "^0.21.2"
},
"files": [
"dist"
diff --git a/plugins/github-release-manager/src/cards/createRc/CreateRc.tsx b/plugins/github-release-manager/src/cards/createRc/CreateRc.tsx
index 172375f115..f3c55693dc 100644
--- a/plugins/github-release-manager/src/cards/createRc/CreateRc.tsx
+++ b/plugins/github-release-manager/src/cards/createRc/CreateRc.tsx
@@ -42,7 +42,7 @@ import {
GetLatestReleaseResult,
GetRepositoryResult,
} from '../../api/PluginApiClient';
-import { ResponseStepList2 } from '../../components/ResponseStepList/ResponseStepList2';
+import { ResponseStepList } from '../../components/ResponseStepList/ResponseStepList';
import { LinearProgressWithLabel } from '../../components/LinearProgressWithLabel';
interface CreateRcProps {
@@ -90,7 +90,7 @@ export const CreateRc = ({
-
+
);
}
diff --git a/plugins/github-release-manager/src/cards/createRc/sideEffects/useCreateRc.test.ts b/plugins/github-release-manager/src/cards/createRc/sideEffects/useCreateRc.test.ts
deleted file mode 100644
index 8cecaf6fd5..0000000000
--- a/plugins/github-release-manager/src/cards/createRc/sideEffects/useCreateRc.test.ts
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * Copyright 2021 Spotify AB
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import {
- mockApiClient,
- mockCalverProject,
- mockDefaultBranch,
- mockNextGitHubInfo,
- mockReleaseVersionCalver,
-} from '../../../test-helpers/test-helpers';
-import { useCreateRc } from './useCreateRc';
-
-// TODO: Fix tests
-/* eslint-disable jest/no-disabled-tests */
-
-describe.skip('useCreateRc', () => {
- beforeEach(jest.clearAllMocks);
-
- it('should work', () => {
- const result = useCreateRc({
- defaultBranch: mockDefaultBranch,
- latestRelease: mockReleaseVersionCalver,
- nextGitHubInfo: mockNextGitHubInfo,
- pluginApiClient: mockApiClient,
- project: mockCalverProject,
- });
-
- expect(result).toMatchInlineSnapshot(`
- Array [
- Object {
- "link": "latestCommit.html_url",
- "message": "Fetched latest commit from \\"mock_defaultBranch\\"",
- "secondaryMessage": "with message \\"latestCommit.commit.message\\"",
- },
- Object {
- "message": "Cut Release Branch",
- "secondaryMessage": "with ref \\"mock_createRef_ref\\"",
- },
- Object {
- "link": "mock_compareCommits_html_url",
- "message": "Fetched commit comparison",
- "secondaryMessage": "rc/1.2.3...rc/1.2.3",
- },
- Object {
- "link": "mock_createRelease_html_url",
- "message": "Created Release Candidate \\"mock_createRelease_name\\"",
- "secondaryMessage": "with tag \\"rc-1.2.3\\"",
- },
- ]
- `);
- });
-});
diff --git a/plugins/github-release-manager/src/cards/createRc/sideEffects/useCreateRc.test.tsx b/plugins/github-release-manager/src/cards/createRc/sideEffects/useCreateRc.test.tsx
new file mode 100644
index 0000000000..b0ce35a3ec
--- /dev/null
+++ b/plugins/github-release-manager/src/cards/createRc/sideEffects/useCreateRc.test.tsx
@@ -0,0 +1,100 @@
+/*
+ * Copyright 2021 Spotify AB
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+import { renderHook, act } from '@testing-library/react-hooks';
+import { waitFor } from '@testing-library/react';
+
+import {
+ mockApiClient,
+ mockCalverProject,
+ mockDefaultBranch,
+ mockNextGitHubInfo,
+ mockReleaseVersionCalver,
+} from '../../../test-helpers/test-helpers';
+import { useCreateRc } from './useCreateRc';
+
+describe('useCreateRc', () => {
+ beforeEach(jest.clearAllMocks);
+
+ it('should return the expected responseSteps and progress', async () => {
+ const { result } = renderHook(() =>
+ useCreateRc({
+ defaultBranch: mockDefaultBranch,
+ latestRelease: mockReleaseVersionCalver,
+ nextGitHubInfo: mockNextGitHubInfo,
+ pluginApiClient: mockApiClient,
+ project: mockCalverProject,
+ }),
+ );
+
+ await act(async () => {
+ await waitFor(() => result.current.run());
+ });
+
+ expect(result.error).toEqual(undefined);
+ expect(result.current.responseSteps).toHaveLength(4);
+ });
+
+ it('should return the expected responseSteps and progress (with successCb)', async () => {
+ const { result } = renderHook(() =>
+ useCreateRc({
+ defaultBranch: mockDefaultBranch,
+ latestRelease: mockReleaseVersionCalver,
+ nextGitHubInfo: mockNextGitHubInfo,
+ pluginApiClient: mockApiClient,
+ project: mockCalverProject,
+ successCb: jest.fn(),
+ }),
+ );
+
+ await act(async () => {
+ await waitFor(() => result.current.run());
+ });
+
+ expect(result.current.responseSteps).toHaveLength(5);
+ expect(result.current).toMatchInlineSnapshot(`
+ Object {
+ "progress": 100,
+ "responseSteps": Array [
+ Object {
+ "link": "latestCommit.html_url",
+ "message": "Fetched latest commit from \\"mock_defaultBranch\\"",
+ "secondaryMessage": "with message \\"latestCommit.commit.message\\"",
+ },
+ Object {
+ "message": "Cut Release Branch",
+ "secondaryMessage": "with ref \\"mock_createRef_ref\\"",
+ },
+ Object {
+ "link": "mock_compareCommits_html_url",
+ "message": "Fetched commit comparison",
+ "secondaryMessage": "rc/1.2.3...rc/1.2.3",
+ },
+ Object {
+ "link": "mock_createRelease_html_url",
+ "message": "Created Release Candidate \\"mock_createRelease_name\\"",
+ "secondaryMessage": "with tag \\"rc-1.2.3\\"",
+ },
+ Object {
+ "icon": "success",
+ "message": "Success callback successfully called 🚀",
+ },
+ ],
+ "run": [Function],
+ }
+ `);
+ });
+});
diff --git a/plugins/github-release-manager/src/cards/patchRc/PatchBody.test.tsx b/plugins/github-release-manager/src/cards/patchRc/PatchBody.test.tsx
index 3f62c1a262..f9a8babb5d 100644
--- a/plugins/github-release-manager/src/cards/patchRc/PatchBody.test.tsx
+++ b/plugins/github-release-manager/src/cards/patchRc/PatchBody.test.tsx
@@ -34,7 +34,7 @@ jest.mock('../../contexts/ProjectContext', () => ({
useProjectContext: jest.fn(() => mockCalverProject),
}));
jest.mock('./sideEffects/usePatch', () => ({
- useCreateRc: () => ({
+ usePatch: () => ({
run: jest.fn(),
responseSteps: [],
progress: 0,
@@ -44,10 +44,7 @@ jest.mock('./sideEffects/usePatch', () => ({
import { PatchBody } from './PatchBody';
import { TEST_IDS } from '../../test-helpers/test-ids';
-// TODO: Fix tests
-/* eslint-disable jest/no-disabled-tests */
-
-describe.skip('PatchBody', () => {
+describe('PatchBody', () => {
beforeEach(jest.clearAllMocks);
it('should render error', async () => {
diff --git a/plugins/github-release-manager/src/cards/patchRc/PatchBody.tsx b/plugins/github-release-manager/src/cards/patchRc/PatchBody.tsx
index 0123363768..cd001c5110 100644
--- a/plugins/github-release-manager/src/cards/patchRc/PatchBody.tsx
+++ b/plugins/github-release-manager/src/cards/patchRc/PatchBody.tsx
@@ -51,7 +51,7 @@ import {
} from '../../api/PluginApiClient';
import { GitHubReleaseManagerError } from '../../errors/GitHubReleaseManagerError';
import { LinearProgressWithLabel } from '../../components/LinearProgressWithLabel';
-import { ResponseStepList2 } from '../../components/ResponseStepList/ResponseStepList2';
+import { ResponseStepList } from '../../components/ResponseStepList/ResponseStepList';
interface PatchBodyProps {
bumpedTag: string;
@@ -109,7 +109,7 @@ export const PatchBody = ({
-
+
);
}
diff --git a/plugins/github-release-manager/src/cards/patchRc/sideEffects/usePatch.test.ts b/plugins/github-release-manager/src/cards/patchRc/sideEffects/usePatch.test.ts
index 17892c3c9d..ff280ed181 100644
--- a/plugins/github-release-manager/src/cards/patchRc/sideEffects/usePatch.test.ts
+++ b/plugins/github-release-manager/src/cards/patchRc/sideEffects/usePatch.test.ts
@@ -14,66 +14,106 @@
* limitations under the License.
*/
+import { renderHook, act } from '@testing-library/react-hooks';
+import { waitFor } from '@testing-library/react';
+
import {
mockApiClient,
mockBumpedTag,
mockCalverProject,
mockReleaseVersionCalver,
+ mockSelectedPatchCommit,
mockTagParts,
} from '../../../test-helpers/test-helpers';
import { usePatch } from './usePatch';
-// TODO: Fix tests
-/* eslint-disable jest/no-disabled-tests */
-
-describe.skip('patch', () => {
+describe('patch', () => {
beforeEach(jest.clearAllMocks);
- it('should work', async () => {
- const result = await usePatch({
- bumpedTag: mockBumpedTag,
- latestRelease: mockReleaseVersionCalver,
- pluginApiClient: mockApiClient,
- project: mockCalverProject,
- tagParts: mockTagParts,
+ it('should return the expected responseSteps and progress', async () => {
+ const { result } = renderHook(() =>
+ usePatch({
+ bumpedTag: mockBumpedTag,
+ latestRelease: mockReleaseVersionCalver,
+ pluginApiClient: mockApiClient,
+ project: mockCalverProject,
+ tagParts: mockTagParts,
+ }),
+ );
+
+ await act(async () => {
+ await waitFor(() => result.current.run(mockSelectedPatchCommit));
});
- expect(result).toMatchInlineSnapshot(`
- Array [
- Object {
- "link": "mock_branch_links_html",
- "message": "Fetched release branch \\"rc/1.2.3\\"",
- },
- Object {
- "message": "Created temporary commit",
- "secondaryMessage": "with message \\"mock_commit_message\\"",
- },
- Object {
- "link": "mock_merge_html_url",
- "message": "Merged temporary commit into \\"rc/1.2.3\\"",
- "secondaryMessage": "with message \\"mock_merge_commit_message\\"",
- },
- Object {
- "message": "Cherry-picked patch commit to \\"mock_branch_commit_sha\\"",
- "secondaryMessage": "with message \\"mock_cherrypick_message\\"",
- },
- Object {
- "message": "Updated reference \\"mock_reference_ref\\"",
- },
- Object {
- "message": "Created new tag object",
- "secondaryMessage": "with name \\"mock_tag_object_tag\\"",
- },
- Object {
- "message": "Created new reference \\"mock_reference_ref\\"",
- "secondaryMessage": "for tag object \\"mock_tag_object_tag\\"",
- },
- Object {
- "link": "mock_update_release_html_url",
- "message": "Updated release \\"mock_update_release_name\\"",
- "secondaryMessage": "with tag mock_update_release_tag_name",
- },
- ]
+ expect(result.error).toEqual(undefined);
+ expect(result.current.responseSteps).toHaveLength(9);
+ });
+
+ it('should return the expected responseSteps and progress (with successCb)', async () => {
+ const { result } = renderHook(() =>
+ usePatch({
+ bumpedTag: mockBumpedTag,
+ latestRelease: mockReleaseVersionCalver,
+ pluginApiClient: mockApiClient,
+ project: mockCalverProject,
+ tagParts: mockTagParts,
+ successCb: jest.fn(),
+ }),
+ );
+
+ await act(async () => {
+ await waitFor(() => result.current.run(mockSelectedPatchCommit));
+ });
+
+ expect(result.error).toEqual(undefined);
+ expect(result.current.responseSteps).toHaveLength(10);
+ expect(result.current).toMatchInlineSnapshot(`
+ Object {
+ "progress": 100,
+ "responseSteps": Array [
+ Object {
+ "link": "mock_branch_links_html",
+ "message": "Fetched release branch \\"rc/1.2.3\\"",
+ },
+ Object {
+ "message": "Created temporary commit",
+ "secondaryMessage": "with message \\"mock_commit_message\\"",
+ },
+ Object {
+ "message": "Forced branch \\"rc/1.2.3\\" to temporary commit \\"mock_commit_sha\\"",
+ },
+ Object {
+ "link": "mock_merge_html_url",
+ "message": "Merged temporary commit into \\"rc/1.2.3\\"",
+ "secondaryMessage": "with message \\"mock_merge_commit_message\\"",
+ },
+ Object {
+ "message": "Cherry-picked patch commit to \\"mock_branch_commit_sha\\"",
+ "secondaryMessage": "with message \\"mock_cherrypick_message\\"",
+ },
+ Object {
+ "message": "Updated reference \\"mock_reference_ref\\"",
+ },
+ Object {
+ "message": "Created new tag object",
+ "secondaryMessage": "with name \\"mock_tag_object_tag\\"",
+ },
+ Object {
+ "message": "Created new reference \\"mock_reference_ref\\"",
+ "secondaryMessage": "for tag object \\"mock_tag_object_tag\\"",
+ },
+ Object {
+ "link": "mock_update_release_html_url",
+ "message": "Updated release \\"mock_update_release_name\\"",
+ "secondaryMessage": "with tag mock_update_release_tag_name",
+ },
+ Object {
+ "icon": "success",
+ "message": "Success callback successfully called 🚀",
+ },
+ ],
+ "run": [Function],
+ }
`);
});
});
diff --git a/plugins/github-release-manager/src/cards/promoteRc/PromoteRcBody.tsx b/plugins/github-release-manager/src/cards/promoteRc/PromoteRcBody.tsx
index fa902a35f0..274d40e6dd 100644
--- a/plugins/github-release-manager/src/cards/promoteRc/PromoteRcBody.tsx
+++ b/plugins/github-release-manager/src/cards/promoteRc/PromoteRcBody.tsx
@@ -25,7 +25,7 @@ import { usePluginApiClientContext } from '../../contexts/PluginApiClientContext
import { useProjectContext } from '../../contexts/ProjectContext';
import { useStyles } from '../../styles/styles';
import { GetLatestReleaseResult } from '../../api/PluginApiClient';
-import { ResponseStepList2 } from '../../components/ResponseStepList/ResponseStepList2';
+import { ResponseStepList } from '../../components/ResponseStepList/ResponseStepList';
import { LinearProgressWithLabel } from '../../components/LinearProgressWithLabel';
interface PromoteRcBodyProps {
@@ -54,7 +54,7 @@ export const PromoteRcBody = ({ rcRelease, successCb }: PromoteRcBodyProps) => {
-
+
);
}
diff --git a/plugins/github-release-manager/src/cards/promoteRc/sideEffects/usePromoteRc.test.ts b/plugins/github-release-manager/src/cards/promoteRc/sideEffects/usePromoteRc.test.ts
index d1ef45d9d6..a055e4acd8 100644
--- a/plugins/github-release-manager/src/cards/promoteRc/sideEffects/usePromoteRc.test.ts
+++ b/plugins/github-release-manager/src/cards/promoteRc/sideEffects/usePromoteRc.test.ts
@@ -14,6 +14,9 @@
* limitations under the License.
*/
+import { renderHook, act } from '@testing-library/react-hooks';
+import { waitFor } from '@testing-library/react';
+
import {
mockApiClient,
mockReleaseCandidateCalver,
@@ -21,29 +24,59 @@ import {
} from '../../../test-helpers/test-helpers';
import { usePromoteRc } from './usePromoteRc';
-// TODO: Fix tests
-/* eslint-disable jest/no-disabled-tests */
-
-describe.skip('usePromoteRc', () => {
+describe('usePromoteRc', () => {
beforeEach(jest.clearAllMocks);
- it('should work', () => {
- const result = usePromoteRc({
- pluginApiClient: mockApiClient,
- project: mockSemverProject,
- rcRelease: mockReleaseCandidateCalver,
- releaseVersion: 'version-1.2.3',
- successCb: jest.fn(),
+ it('should return the expected responseSteps and progress', async () => {
+ const { result } = renderHook(() =>
+ usePromoteRc({
+ pluginApiClient: mockApiClient,
+ project: mockSemverProject,
+ rcRelease: mockReleaseCandidateCalver,
+ releaseVersion: 'version-1.2.3',
+ }),
+ );
+
+ await act(async () => {
+ await waitFor(() => result.current.run());
});
- expect(result).toMatchInlineSnapshot(`
- Array [
- Object {
- "link": "mock_release_html_url",
- "message": "Promoted \\"mock_release_name\\"",
- "secondaryMessage": "from \\"rc-2020.01.01_1\\" to \\"mock_release_tag_name\\"",
- },
- ]
+ expect(result.error).toEqual(undefined);
+ expect(result.current.responseSteps).toHaveLength(1);
+ });
+
+ it('should return the expected responseSteps and progress (with successCb)', async () => {
+ const { result } = renderHook(() =>
+ usePromoteRc({
+ pluginApiClient: mockApiClient,
+ project: mockSemverProject,
+ rcRelease: mockReleaseCandidateCalver,
+ releaseVersion: 'version-1.2.3',
+ successCb: jest.fn(),
+ }),
+ );
+
+ await act(async () => {
+ await waitFor(() => result.current.run());
+ });
+
+ expect(result.current.responseSteps).toHaveLength(2);
+ expect(result.current).toMatchInlineSnapshot(`
+ Object {
+ "progress": 100,
+ "responseSteps": Array [
+ Object {
+ "link": "mock_release_html_url",
+ "message": "Promoted \\"mock_release_name\\"",
+ "secondaryMessage": "from \\"rc-2020.01.01_1\\" to \\"mock_release_tag_name\\"",
+ },
+ Object {
+ "icon": "success",
+ "message": "Success callback successfully called 🚀",
+ },
+ ],
+ "run": [Function],
+ }
`);
});
});
diff --git a/plugins/github-release-manager/src/components/ReloadButton.test.tsx b/plugins/github-release-manager/src/components/ReloadButton.test.tsx
deleted file mode 100644
index b33cc0b931..0000000000
--- a/plugins/github-release-manager/src/components/ReloadButton.test.tsx
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * Copyright 2021 Spotify AB
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import React from 'react';
-import { render } from '@testing-library/react';
-
-import { TEST_IDS } from '../test-helpers/test-ids';
-import { ReloadButton } from './ReloadButton';
-
-describe('ReloadButton', () => {
- it('render ReloadButton', () => {
- const { getByTestId } = render();
-
- expect(getByTestId(TEST_IDS.components.reloadButton)).toBeInTheDocument();
- });
-});
diff --git a/plugins/github-release-manager/src/components/ReloadButton.tsx b/plugins/github-release-manager/src/components/ReloadButton.tsx
deleted file mode 100644
index d11f39f954..0000000000
--- a/plugins/github-release-manager/src/components/ReloadButton.tsx
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Copyright 2021 Spotify AB
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import React from 'react';
-import { Button } from '@material-ui/core';
-
-import { TEST_IDS } from '../test-helpers/test-ids';
-
-interface ReloadButtonProps {
- style?: React.CSSProperties;
-}
-
-export const ReloadButton = ({ style }: ReloadButtonProps) => (
-
-);
diff --git a/plugins/github-release-manager/src/components/ResponseStepList/ResponseStepList.test.tsx b/plugins/github-release-manager/src/components/ResponseStepList/ResponseStepList.test.tsx
index cfa68b0c32..21f6c6925e 100644
--- a/plugins/github-release-manager/src/components/ResponseStepList/ResponseStepList.test.tsx
+++ b/plugins/github-release-manager/src/components/ResponseStepList/ResponseStepList.test.tsx
@@ -27,7 +27,7 @@ jest.mock('../../contexts/RefetchContext', () => ({
describe('ResponseStepList', () => {
it('should render loading state when loading', () => {
const { getByTestId } = render(
- ,
+ ,
);
expect(
@@ -37,7 +37,7 @@ describe('ResponseStepList', () => {
it('should render loading state when no responseSteps', () => {
const { getByTestId } = render(
- ,
+ ,
);
expect(
@@ -49,8 +49,7 @@ describe('ResponseStepList', () => {
const { getByTestId } = render(
,
);
diff --git a/plugins/github-release-manager/src/components/ResponseStepList/ResponseStepList.tsx b/plugins/github-release-manager/src/components/ResponseStepList/ResponseStepList.tsx
index c3b84487f3..e703f08d34 100644
--- a/plugins/github-release-manager/src/components/ResponseStepList/ResponseStepList.tsx
+++ b/plugins/github-release-manager/src/components/ResponseStepList/ResponseStepList.tsx
@@ -15,14 +15,7 @@
*/
import React, { PropsWithChildren } from 'react';
-import {
- Button,
- Dialog,
- DialogActions,
- DialogContent,
- DialogTitle,
- List,
-} from '@material-ui/core';
+import { Button, DialogActions, DialogContent, List } from '@material-ui/core';
import { CenteredCircularProgress } from '../CenteredCircularProgress';
import { ResponseStep } from '../../types/types';
@@ -31,10 +24,9 @@ import { TEST_IDS } from '../../test-helpers/test-ids';
import { useRefetchContext } from '../../contexts/RefetchContext';
interface ResponseStepListProps {
- responseSteps?: (ResponseStep | undefined)[];
- title: string;
+ responseSteps: (ResponseStep | undefined)[];
animationDelay?: number;
- loading: boolean;
+ loading?: boolean;
closeable?: boolean;
denseList?: boolean;
}
@@ -44,16 +36,13 @@ export const ResponseStepList = ({
animationDelay,
loading = false,
denseList = false,
- title,
children,
}: PropsWithChildren) => {
const { setRefetchTrigger } = useRefetchContext();
return (
-