Files
2026-08-05 19:38:16 +01:00

25 lines
823 B
JavaScript

const test = require('node:test');
const assert = require('node:assert/strict');
const { fetchSlidesPage } = require('../src/data/admin');
test('slide search does not include slide content_json', async () => {
const queries = [];
const pool = {
async query(sql, params) {
queries.push({ sql, params });
if (sql.startsWith('SELECT COUNT(*)')) {
return [[{ count: 0 }]];
}
return [[{ id: 1 }]];
}
};
await fetchSlidesPage(pool, 1, 25, 'hello world', 'title', 'asc');
assert.equal(queries.length, 2);
assert.doesNotMatch(queries[0].sql, /CAST\(s\.content_json AS CHAR\)/);
assert.doesNotMatch(queries[1].sql, /CAST\(s\.content_json AS CHAR\)/);
assert.match(queries[0].sql, /CAST\(s\.title AS CHAR\)/);
assert.match(queries[0].sql, /CAST\(st\.name AS CHAR\)/);
});