This commit is contained in:
Storme-bit
2026-08-23 06:57:58 -07:00
parent 6c953a346a
commit 00101ba14a
3 changed files with 6 additions and 5 deletions
+4 -3
View File
@@ -4,7 +4,6 @@
// advance user_version correctly, and no-op when the DB is already current.
const { test } = require('node:test');
const assert = require('node:assert');
const Database = require('better-sqlite3');
const { migrate, LATEST_VERSION } = require('../packages/memory-service/src/db/migrations');
// Emulates just the slice of the better-sqlite3 API that migrate() uses.
@@ -26,14 +25,16 @@ function fakeDb(startVersion = 0) {
test('a fresh DB (user_version 0) is stamped to LATEST_VERSION', () => {
const db = fakeDb(0);
const result = migrate(db);
const stubs = Array.from({ length: LATEST_VERSION }, () => () => {});
const result = migrate(db, stubs); // inject no-op migrations
assert.strictEqual(result, LATEST_VERSION);
assert.strictEqual(db.version, LATEST_VERSION);
});
test('an already-current DB is a no-op (no version writes)', () => {
const db = fakeDb(LATEST_VERSION);
const result = migrate(db);
const stubs = Array.from({ length: LATEST_VERSION }, () => () => {});
const result = migrate(stubs);
assert.strictEqual(result, LATEST_VERSION);
assert.deepStrictEqual(db.setCalls, [], 'should not touch user_version when current');
});