Finalize Dexie-to-SQLite migration prep: docs, circular dep removal, SQL helpers, tests
- Removed all vestigial Dexie/USE_DEXIE_DB references from code and docs - Centralized DB logic in PlatformServiceMixin; resolved logger/databaseUtil circular dependency - Modularized SQL helpers (`$generateInsertStatement`, `$generateUpdateStatement`) and added unit tests - Created/updated migration tracking docs and helper script for cross-machine progress - Confirmed all lint/type checks and tests pass; ready for systematic file migration
This commit is contained in:
32
src/test/PlatformServiceMixin.test.ts
Normal file
32
src/test/PlatformServiceMixin.test.ts
Normal file
@@ -0,0 +1,32 @@
|
||||
import {
|
||||
generateInsertStatement,
|
||||
generateUpdateStatement,
|
||||
} from "@/utils/sqlHelpers";
|
||||
|
||||
describe("sqlHelpers SQL Statement Generation", () => {
|
||||
it("generates correct INSERT statement", () => {
|
||||
const contact = {
|
||||
name: "Alice",
|
||||
age: 30,
|
||||
isActive: true,
|
||||
tags: ["friend"],
|
||||
};
|
||||
const { sql, params } = generateInsertStatement(contact, "contacts");
|
||||
expect(sql).toBe(
|
||||
"INSERT INTO contacts (name, age, isActive, tags) VALUES (?, ?, ?, ?)",
|
||||
);
|
||||
expect(params).toEqual(["Alice", 30, 1, JSON.stringify(["friend"])]);
|
||||
});
|
||||
|
||||
it("generates correct UPDATE statement", () => {
|
||||
const changes = { name: "Bob", isActive: false };
|
||||
const { sql, params } = generateUpdateStatement(
|
||||
changes,
|
||||
"contacts",
|
||||
"id = ?",
|
||||
[42],
|
||||
);
|
||||
expect(sql).toBe("UPDATE contacts SET name = ?, isActive = ? WHERE id = ?");
|
||||
expect(params).toEqual(["Bob", 0, 42]);
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user