From cc8a454d7efe0b8121d6b50ae16db650556bce7e Mon Sep 17 00:00:00 2001 From: dwc1997 <66739829+dwc1997@users.noreply.github.com> Date: Wed, 1 Jul 2026 16:04:29 +0800 Subject: [PATCH] test(infra): add unit tests for SQLite user_version pragma helper (#98369) * test(infra): add unit tests for SQLite user_version pragma helper * ci: trigger re-review --- src/infra/sqlite-user-version.test.ts | 47 +++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 src/infra/sqlite-user-version.test.ts diff --git a/src/infra/sqlite-user-version.test.ts b/src/infra/sqlite-user-version.test.ts new file mode 100644 index 000000000000..acea767c13e0 --- /dev/null +++ b/src/infra/sqlite-user-version.test.ts @@ -0,0 +1,47 @@ +// Tests for SQLite user_version pragma helper. +import { describe, expect, it } from "vitest"; +import { readSqliteUserVersion } from "./sqlite-user-version.js"; + +describe("readSqliteUserVersion", () => { + it("returns 0 when row is undefined", () => { + const db = { + prepare: () => ({ get: () => undefined }), + } as any; + expect(readSqliteUserVersion(db)).toBe(0); + }); + + it("returns 0 when user_version is null", () => { + const db = { + prepare: () => ({ get: () => ({ user_version: null }) }), + } as any; + expect(readSqliteUserVersion(db)).toBe(0); + }); + + it("returns numeric user_version", () => { + const db = { + prepare: () => ({ get: () => ({ user_version: 5 }) }), + } as any; + expect(readSqliteUserVersion(db)).toBe(5); + }); + + it("returns 0 when user_version is 0", () => { + const db = { + prepare: () => ({ get: () => ({ user_version: 0 }) }), + } as any; + expect(readSqliteUserVersion(db)).toBe(0); + }); + + it("converts string user_version to number", () => { + const db = { + prepare: () => ({ get: () => ({ user_version: "3" }) }), + } as any; + expect(readSqliteUserVersion(db)).toBe(3); + }); + + it("returns 0 for empty object", () => { + const db = { + prepare: () => ({ get: () => ({}) }), + } as any; + expect(readSqliteUserVersion(db)).toBe(0); + }); +});