mirror of
https://github.com/Syngnat/GoNavi.git
synced 2026-06-12 17:39:42 +08:00
- 前端连接弹窗新增 Elasticsearch 入口、默认端口、URI 示例和默认索引配置 - 补齐 Elasticsearch 图标、数据源能力、SQL dialect 和只读查询策略 - 后端驱动管理注册 Elasticsearch 版本、模块路径、构建标签和默认安装入口 - 增加连接展示、能力识别和驱动定义测试覆盖
33 lines
1.8 KiB
TypeScript
33 lines
1.8 KiB
TypeScript
import { describe, expect, it } from 'vitest';
|
|
import { readFileSync } from 'node:fs';
|
|
|
|
const source = readFileSync(new URL('./ConnectionModal.tsx', import.meta.url), 'utf8');
|
|
|
|
describe('ConnectionModal edit password behavior', () => {
|
|
it('keeps the prefilled primary password masked by default', () => {
|
|
expect(source).toContain('const [primaryPasswordVisible, setPrimaryPasswordVisible] = useState(false);');
|
|
expect(source).not.toContain('setPrimaryPasswordVisible(String(config.password || "").trim() !== "")');
|
|
expect(source).toContain('visible: primaryPasswordVisible,');
|
|
});
|
|
|
|
it('does not render the primary-password clear helper block anymore', () => {
|
|
expect(source).not.toContain('description:\n "当前已保存主连接密码。留空表示继续沿用,输入新值表示替换。"');
|
|
expect(source).not.toContain('description:\n "当前已保存 Redis 密码。留空表示继续沿用,输入新值表示替换。"');
|
|
expect(source).toContain('String(config.password || "") === ""');
|
|
});
|
|
});
|
|
|
|
describe('ConnectionModal data source registry', () => {
|
|
it('exposes Elasticsearch in the create-connection picker with HTTP defaults', () => {
|
|
expect(source).toContain('case "elasticsearch":\n return 9200;');
|
|
expect(source).toContain('elasticsearch: ["http", "https"]');
|
|
expect(source).toContain('key: "elasticsearch"');
|
|
expect(source).toContain('name: "Elasticsearch"');
|
|
expect(source).toContain('getDbIcon("elasticsearch", undefined, 36)');
|
|
expect(source).toContain('type === "elasticsearch"');
|
|
expect(source).toContain('"http://elastic:pass@127.0.0.1:9200/logs-*"');
|
|
expect(source).toContain('label="默认索引(可选)"');
|
|
expect(source).toContain('"显示索引 (留空显示全部)"');
|
|
});
|
|
});
|