import { describe, expect, it } from "@suaveplan/testing/runner"; import { connectAdapter } from "./helpers/connect.js"; import { randomNamespace } from "./helpers/random-ns.js"; import { surrealUnavailable } from "./integration-setup.js"; describe.skipIf(surrealUnavailable)( "SurrealDB init / INSERT INTO regression (real SurrealDB v3.0.4)", () => { it("INSERT INTO round-trips full content (regression for create-content-drop)", async () => { const ns = randomNamespace(); const { adapter } = await connectAdapter({ namespaceOverride: ns, databaseOverride: ns, }); try { await adapter.execute("DEFINE TABLE person SCHEMAFULL"); await adapter.execute( "DEFINE FIELD name ON person TYPE string" ); await adapter.execute("DEFINE FIELD age ON person TYPE int"); await adapter.execute( "INSERT INTO person { id: person:alice, name: 'Alice', age: 30 }" ); const rows = await adapter.query<{ id: unknown; name: string; age: number; }>("SELECT name, age FROM person:alice"); expect(rows).toHaveLength(1); expect(rows[0]?.name).toBe("Alice"); expect(rows[0]?.age).toBe(30); } finally { await adapter.disconnect(); } }, 30000); it("namespace + database can be created fresh", async () => { const ns = randomNamespace(); const { adapter } = await connectAdapter({ namespaceOverride: ns, databaseOverride: ns, }); try { const info = await adapter.query>("INFO FOR DB"); expect(info.length).toBeGreaterThan(0); } finally { await adapter.disconnect(); } }, 30000); } );