36 lines
1.2 KiB
TypeScript
36 lines
1.2 KiB
TypeScript
import assert from "node:assert/strict";
|
|
import { test } from "vitest";
|
|
import { databaseOptionsForConnection } from "../../apps/desktop/src/composables/useDatabaseOptions.ts";
|
|
|
|
test("tree-schema connections include the default database when no catalogs are returned", () => {
|
|
assert.deepEqual(databaseOptionsForConnection([], { db_type: "saphana" }), [""]);
|
|
});
|
|
|
|
test("non tree-schema connections keep an empty database option list", () => {
|
|
assert.deepEqual(databaseOptionsForConnection([], { db_type: "mysql" }), []);
|
|
});
|
|
|
|
test("database options preserve returned catalogs when available", () => {
|
|
assert.deepEqual(databaseOptionsForConnection(["app", "analytics"], { db_type: "jdbc" }), ["app", "analytics"]);
|
|
});
|
|
|
|
test("database options respect visible database filters", () => {
|
|
assert.deepEqual(
|
|
databaseOptionsForConnection(["app", "analytics", "billing"], {
|
|
db_type: "mysql",
|
|
visible_databases: ["billing", "missing"],
|
|
}),
|
|
["billing"],
|
|
);
|
|
});
|
|
|
|
test("redis database options respect visible database filters", () => {
|
|
assert.deepEqual(
|
|
databaseOptionsForConnection(["0", "1", "2"], {
|
|
db_type: "redis",
|
|
visible_databases: ["2"],
|
|
}),
|
|
["2"],
|
|
);
|
|
});
|