-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdatabase_bridge_engine_test.js
More file actions
81 lines (63 loc) · 2.37 KB
/
Copy pathdatabase_bridge_engine_test.js
File metadata and controls
81 lines (63 loc) · 2.37 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
// SPDX-License-Identifier: MPL-2.0
/**
* DatabaseBridgeEngine Tests — default state, tab labels, schema/query counting,
* proof obligation formatting, and snapshot summaries.
*/
import { assertEquals, assertExists } from "jsr:@std/assert";
import {
defaultState,
tabLabel,
allTabs,
countSchemas,
countTotalColumns,
countQueries,
countQueriesByStatus,
formatObligationStatus,
countObligationsByStatus,
proofObligationPercent,
formatSnapshotSummary,
} from "../src/core/DatabaseBridgeEngine.res.js";
// -- defaultState --
Deno.test("defaultState exists and has expected shape", () => {
assertExists(defaultState);
assertEquals(typeof defaultState, "object");
assertEquals(defaultState.schemas.length, 0);
assertEquals(defaultState.queries.length, 0);
assertEquals(defaultState.proofObligations.length, 0);
assertEquals(defaultState.connected, false);
assertEquals(defaultState.error, undefined);
});
// -- tabLabel --
Deno.test("tabLabel returns correct labels", () => {
assertEquals(tabLabel("Schema"), "Schema");
assertEquals(tabLabel("Queries"), "Queries");
assertEquals(tabLabel("GameState"), "Game State");
assertEquals(tabLabel("ProofObligations"), "Proof Obligations");
});
// -- allTabs --
Deno.test("allTabs contains all four tabs", () => {
assertEquals(allTabs.length, 4);
});
// -- formatObligationStatus --
Deno.test("formatObligationStatus returns correct labels", () => {
assertEquals(formatObligationStatus("ObligationProven"), "Proven");
assertEquals(formatObligationStatus("ObligationUnproven"), "Unproven");
assertEquals(formatObligationStatus("ObligationViolated"), "Violated");
assertEquals(formatObligationStatus("ObligationTimeout"), "Timeout");
});
// -- countSchemas with default state --
Deno.test("countSchemas returns 0 for default state", () => {
assertEquals(countSchemas(defaultState), 0);
});
// -- countTotalColumns with empty array --
Deno.test("countTotalColumns returns 0 for empty array", () => {
assertEquals(countTotalColumns([]), 0);
});
// -- proofObligationPercent with empty array --
Deno.test("proofObligationPercent returns 100 for empty array", () => {
assertEquals(proofObligationPercent([]), 100.0);
});
// -- formatSnapshotSummary with None --
Deno.test("formatSnapshotSummary returns 'No snapshot' for undefined", () => {
assertEquals(formatSnapshotSummary(undefined), "No snapshot");
});