Files
MyGoNavi/frontend/src/utils/sqlFileTabDrafts.test.ts
Syngnat c405eb08b5 feat(tabs): 支持标签展示配置并提示保存 SQL 文件
- 新增标签展示元素配置,支持单行、双行布局和元素排序

- 在设置面板提供标签展示入口并持久化用户配置

- 标签右键菜单增加标签设置入口并优化悬浮信息展示

- 关闭外部 SQL 文件标签前检测未保存草稿并支持保存后关闭
2026-06-02 11:16:25 +08:00

47 lines
1.3 KiB
TypeScript

import { describe, expect, it } from 'vitest';
import {
clearQueryTabDraft,
clearSQLFileTabDraft,
getQueryTabDraft,
getSQLFileTabDraft,
hasQueryTabDraft,
hasSQLFileTabDraft,
setQueryTabDraft,
setSQLFileTabDraft,
} from './sqlFileTabDrafts';
describe('sqlFileTabDrafts', () => {
it('stores query editor drafts outside the persisted tab state', () => {
clearQueryTabDraft('query-tab-1');
expect(hasQueryTabDraft('query-tab-1')).toBe(false);
expect(getQueryTabDraft('query-tab-1', 'fallback')).toBe('fallback');
setQueryTabDraft('query-tab-1', 'select * from large_table;');
expect(hasQueryTabDraft('query-tab-1')).toBe(true);
expect(getQueryTabDraft('query-tab-1', 'fallback')).toBe('select * from large_table;');
clearQueryTabDraft('query-tab-1');
expect(hasQueryTabDraft('query-tab-1')).toBe(false);
});
it('stores external SQL file editor drafts outside the persisted tab state', () => {
clearSQLFileTabDraft('tab-1');
expect(hasSQLFileTabDraft('tab-1')).toBe(false);
expect(getSQLFileTabDraft('tab-1', 'fallback')).toBe('fallback');
setSQLFileTabDraft('tab-1', 'select 1;');
expect(hasSQLFileTabDraft('tab-1')).toBe(true);
expect(getSQLFileTabDraft('tab-1', 'fallback')).toBe('select 1;');
clearSQLFileTabDraft('tab-1');
expect(hasSQLFileTabDraft('tab-1')).toBe(false);
});
});