Skip to content

Commit 00159f2

Browse files
PR changes
1 parent 7316711 commit 00159f2

File tree

2 files changed

+11
-25
lines changed

2 files changed

+11
-25
lines changed

src/hooks/useDeleteWorkspace.spec.ts

Lines changed: 7 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -40,13 +40,11 @@ describe('useDeleteWorkspace', () => {
4040
const renderHookResult = renderHook(() => useDeleteWorkspace('test-project', 'test-project--ns', 'test-workspace'));
4141
const { deleteWorkspace } = renderHookResult.result.current;
4242

43-
let result: boolean = false;
4443
await act(async () => {
45-
result = await deleteWorkspace();
44+
await deleteWorkspace();
4645
});
4746

4847
// ASSERT
49-
expect(result).toBe(true);
5048
expect(fetchMock).toHaveBeenCalledTimes(1);
5149

5250
const call = fetchMock.mock.calls[0];
@@ -66,38 +64,32 @@ describe('useDeleteWorkspace', () => {
6664
);
6765
});
6866

69-
it('should return false on API error', async () => {
67+
it('should throw error on API failure', async () => {
7068
// ARRANGE
7169
fetchMock.mockRejectedValue(new Error('API Error'));
7270

7371
// ACT
7472
const renderHookResult = renderHook(() => useDeleteWorkspace('test-project', 'test-project--ns', 'test-workspace'));
7573
const { deleteWorkspace } = renderHookResult.result.current;
7674

77-
let result: boolean = true;
75+
// ASSERT
7876
await act(async () => {
79-
result = await deleteWorkspace();
77+
await expect(deleteWorkspace()).rejects.toThrow('API Error');
8078
});
81-
82-
// ASSERT
83-
expect(result).toBe(false);
8479
});
8580

86-
it('should return false on network error', async () => {
81+
it('should throw error on network failure', async () => {
8782
// ARRANGE
8883
fetchMock.mockRejectedValue(new TypeError('Network error'));
8984

9085
// ACT
9186
const renderHookResult = renderHook(() => useDeleteWorkspace('test-project', 'test-project--ns', 'test-workspace'));
9287
const { deleteWorkspace } = renderHookResult.result.current;
9388

94-
let result: boolean = true;
89+
// ASSERT
9590
await act(async () => {
96-
result = await deleteWorkspace();
91+
await expect(deleteWorkspace()).rejects.toThrow('Network error');
9792
});
98-
99-
// ASSERT
100-
expect(result).toBe(false);
10193
expect(fetchMock).toHaveBeenCalledTimes(1);
10294
});
10395
});

src/hooks/useDeleteWorkspace.ts

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -14,16 +14,10 @@ export function useDeleteWorkspace(projectName: string, projectNamespace: string
1414
);
1515
const revalidate = useRevalidateApiResource(ListWorkspaces(projectName));
1616

17-
const deleteWorkspace = useCallback(async (): Promise<boolean> => {
18-
try {
19-
await trigger();
20-
await revalidate();
21-
toast.show(t('ControlPlaneListWorkspaceGridTile.deleteConfirmationDialog'));
22-
return true;
23-
} catch (e) {
24-
console.error('Failed to delete workspace:', e);
25-
return false;
26-
}
17+
const deleteWorkspace = useCallback(async (): Promise<void> => {
18+
await trigger();
19+
await revalidate();
20+
toast.show(t('ControlPlaneListWorkspaceGridTile.deleteConfirmationDialog'));
2721
}, [trigger, revalidate, toast, t]);
2822

2923
return {

0 commit comments

Comments
 (0)