refactor(StorageCleaner): 规范化页面组件目录结构
- 将子组件移至 components/ 子目录(OptionItem、AutoRefreshToggle、CleaningResult、StorageCleanerConfirm、StorageOptionsGrid、ErrorDisplay) - 创建 __tests__/ 目录结构 - 更新所有相关导入路径 Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -0,0 +1,31 @@
|
||||
import { render, screen } from '@testing-library/react';
|
||||
import { describe, it, expect, vi } from 'vitest';
|
||||
import Index from '../index';
|
||||
|
||||
// Mock the chrome APIs
|
||||
vi.mock('@/utils/chromeStorage', () => ({
|
||||
storageUtil: {
|
||||
get: vi.fn().mockResolvedValue(null),
|
||||
set: vi.fn().mockResolvedValue(undefined),
|
||||
},
|
||||
}));
|
||||
|
||||
vi.mock('@/utils/storageCleaner', () => ({
|
||||
getCurrentTab: vi.fn().mockResolvedValue({ id: 1, url: 'https://example.com' }),
|
||||
isRestrictedUrl: vi.fn().mockReturnValue(false),
|
||||
getCookieSize: vi.fn().mockResolvedValue(0),
|
||||
getLocalStorageSize: vi.fn().mockResolvedValue(0),
|
||||
getSessionStorageSize: vi.fn().mockResolvedValue(0),
|
||||
getOriginStorageEstimate: vi.fn().mockResolvedValue(0),
|
||||
getCacheStorageSize: vi.fn().mockResolvedValue(0),
|
||||
getServiceWorkerCount: vi.fn().mockResolvedValue(0),
|
||||
clearStorage: vi.fn().mockResolvedValue({ overallSuccess: true }),
|
||||
formatCleaningResult: vi.fn().mockReturnValue('Cleaned successfully'),
|
||||
}));
|
||||
|
||||
describe('StorageCleaner 页面', () => {
|
||||
it('应该渲染初始化加载状态', () => {
|
||||
render(<Index />);
|
||||
expect(screen.getByText(/initializing/i)).toBeInTheDocument();
|
||||
});
|
||||
});
|
||||
+1
-1
@@ -2,7 +2,7 @@ import React from 'react';
|
||||
import { formatBytes } from '@/utils/format';
|
||||
import { useI18n } from '@/utils/chromeI18n';
|
||||
import { cn } from '@/lib/utils';
|
||||
import type { StorageSizeInfo } from './useStorageCleaner';
|
||||
import type { StorageSizeInfo } from '../useStorageCleaner';
|
||||
import { Checkbox } from '@/components/ui/checkbox';
|
||||
|
||||
interface OptionItemProps extends React.HTMLAttributes<HTMLDivElement> {
|
||||
+1
-1
@@ -1,6 +1,6 @@
|
||||
import React from 'react';
|
||||
import type { StorageCleanerOptions } from '@/types/storage';
|
||||
import type { StorageSizeInfo } from './useStorageCleaner';
|
||||
import type { StorageSizeInfo } from '../useStorageCleaner';
|
||||
import OptionItem from './OptionItem';
|
||||
import { useI18n } from '@/utils/chromeI18n';
|
||||
import { cn } from '@/lib/utils';
|
||||
@@ -1,11 +1,11 @@
|
||||
import { Loader2 } from 'lucide-react';
|
||||
import { Button } from '@/components/ui/button';
|
||||
import StorageCleanerConfirm from './StorageCleanerConfirm';
|
||||
import StorageCleanerConfirm from './components/StorageCleanerConfirm';
|
||||
import { useStorageCleaner } from './useStorageCleaner';
|
||||
import StorageOptionsGrid from './StorageOptionsGrid';
|
||||
import AutoRefreshToggle from './AutoRefreshToggle';
|
||||
import ErrorDisplay from './ErrorDisplay';
|
||||
import CleaningResult from './CleaningResult';
|
||||
import StorageOptionsGrid from './components/StorageOptionsGrid';
|
||||
import AutoRefreshToggle from './components/AutoRefreshToggle';
|
||||
import ErrorDisplay from './components/ErrorDisplay';
|
||||
import CleaningResult from './components/CleaningResult';
|
||||
import { useI18n } from '@/utils/chromeI18n';
|
||||
|
||||
export default function Index() {
|
||||
|
||||
Reference in New Issue
Block a user