mirror of
https://github.com/Syngnat/GoNavi.git
synced 2026-06-21 22:14:02 +08:00
🐛 fix(frontend/ci): 修复对象修改卡顿与 Windows ARM 驱动校验失败
- QueryEditor 为对象修改标签增加 object-edit 轻量模式,跳过重型元数据抓取和对象装饰扫描 - DefinitionViewer 与 TriggerViewer 打开的对象修改标签统一透传 queryMode,避免重新进入普通查询链路 - TriggerViewer 补全 MySQL/Oracle 类触发器 DDL 重建逻辑,修复对象修改打开语法不完整 - 补充对象修改与触发器 DDL 回归测试,覆盖轻量模式和元数据补全场景 - verify-driver-agent-revisions 脚本改为跨架构校验,避免在 x64 runner 直接执行 windows/arm64 二进制 - 新增 Windows ARM CI 校验追踪文档,保留架构校验与 host-native probe 证据
This commit is contained in:
@@ -1331,6 +1331,30 @@ describe('QueryEditor external SQL save', () => {
|
||||
}));
|
||||
});
|
||||
|
||||
it('skips heavy autocomplete metadata fetch for object edit query tabs', async () => {
|
||||
autoFetchState.visible = true;
|
||||
backendApp.DBGetDatabases.mockResolvedValueOnce({ success: true, data: [{ Database: 'main' }, { Database: 'analytics' }] });
|
||||
|
||||
await act(async () => {
|
||||
create(<QueryEditor tab={createTab({
|
||||
query: 'CREATE OR REPLACE VIEW reporting.active_users AS SELECT * FROM users;',
|
||||
dbName: 'main',
|
||||
queryMode: 'object-edit',
|
||||
})} />);
|
||||
});
|
||||
await act(async () => {
|
||||
for (let i = 0; i < 6; i += 1) {
|
||||
await Promise.resolve();
|
||||
}
|
||||
});
|
||||
|
||||
expect(backendApp.DBGetDatabases).toHaveBeenCalledTimes(1);
|
||||
expect(backendApp.DBGetTables).not.toHaveBeenCalled();
|
||||
expect(backendApp.DBGetAllColumns).not.toHaveBeenCalled();
|
||||
expect(backendApp.DBQuery).not.toHaveBeenCalled();
|
||||
expect(editorState.editor.deltaDecorations).toHaveBeenCalledWith([], []);
|
||||
});
|
||||
|
||||
it('keeps the editor empty when a tab draft is externally synced to an empty query', async () => {
|
||||
let renderer!: ReactTestRenderer;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user