const assert = require("assert"); const Database = require("better-sqlite3"); const { getFavoriteCommand, getFavoriteExpression } = require("../src/services/user-favorites"); const db = new Database(":memory:"); db.exec(` CREATE TABLE command_user_usage ( command_id TEXT NOT NULL, user_id TEXT NOT NULL, count INTEGER NOT NULL, updated_at INTEGER NOT NULL, PRIMARY KEY (command_id, user_id) ); CREATE TABLE expression_user_stats ( action TEXT NOT NULL, user_id TEXT NOT NULL, given_count INTEGER NOT NULL, received_count INTEGER NOT NULL, PRIMARY KEY (action, user_id) ); `); db.prepare("INSERT INTO command_user_usage VALUES (?, ?, ?, ?)").run("custom:hello", "user-1", 4, 10); db.prepare("INSERT INTO command_user_usage VALUES (?, ?, ?, ?)").run("music", "user-1", 7, 20); db.prepare("INSERT INTO expression_user_stats VALUES (?, ?, ?, ?)").run("hug", "user-1", 3, 6); db.prepare("INSERT INTO expression_user_stats VALUES (?, ?, ?, ?)").run("wave", "user-1", 4, 1); assert.deepStrictEqual(getFavoriteCommand(db, "user-1", "!"), { command: "!music", count: 7 }); assert.deepStrictEqual(getFavoriteExpression(db, "user-1"), { action: "hug", count: 9 }); assert.strictEqual(getFavoriteCommand(db, "missing", "!"), null); assert.strictEqual(getFavoriteExpression(db, "missing"), null); db.close(); console.log("User favorites verification passed.");