Files
openclaw/src/infra/sqlite-user-version.test.ts
dwc1997 cc8a454d7e 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
2026-07-01 01:04:29 -07:00

48 lines
1.3 KiB
TypeScript

// 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);
});
});