Skip to content

Commit f7d920b

Browse files
committed
test(sidenav): add unit test for handling missing storage information in useSidenavData hook
1 parent de97169 commit f7d920b

2 files changed

Lines changed: 19 additions & 1 deletion

File tree

src/components/Sidenav/useSidenavData.test.ts

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -166,5 +166,23 @@ describe('useSidenavData', () => {
166166
expect(result.current.planUsage).toBe(200);
167167
expect(result.current.planLimit).toBe(800);
168168
});
169+
170+
test('When the storage information is missing, then the reported usage is zero percent and the values fall back to safe defaults', () => {
171+
mockUseGetStorageLimitQuery.mockReturnValue({ data: undefined, isLoading: false } as unknown as ReturnType<
172+
typeof useGetStorageLimitQuery
173+
>);
174+
mockUseGetStorageUsageQuery.mockReturnValue({ data: undefined, isLoading: false } as unknown as ReturnType<
175+
typeof useGetStorageUsageQuery
176+
>);
177+
mockUseGetMailMeQuery.mockReturnValue({ data: undefined } as unknown as ReturnType<typeof useGetMailMeQuery>);
178+
179+
const { result } = renderHook(() => useSidenavData());
180+
181+
expect(result.current.storagePercentage).toBe(0);
182+
expect(result.current.planUsage).toBe(0);
183+
expect(result.current.planLimit).toBe(0);
184+
expect(result.current.isLoadingPlanLimit).toBe(false);
185+
expect(result.current.isLoadingPlanUsage).toBe(false);
186+
});
169187
});
170188
});

src/components/Sidenav/useSidenavData.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import { useGetMailMeQuery } from '@/store/api/mail';
33
import { getDaysUntil } from '@/utils/days-until';
44

55
export const useSidenavData = () => {
6-
const { isLoading: isLoadingPlanLimit, data: planLimit = 1 } = useGetStorageLimitQuery();
6+
const { isLoading: isLoadingPlanLimit, data: planLimit = 0 } = useGetStorageLimitQuery();
77
const { isLoading: isLoadingPlanUsage, data: planUsage = 0 } = useGetStorageUsageQuery();
88
const { data: mailMe } = useGetMailMeQuery();
99

0 commit comments

Comments
 (0)