Release v2.5.6
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
const test = require('node:test');
|
||||
const assert = require('node:assert/strict');
|
||||
|
||||
const { fetchAnnouncementsPage } = require('../src/data/announcements');
|
||||
|
||||
test('announcement search pagination inserts the search clause before group by', async () => {
|
||||
const queries = [];
|
||||
const pool = {
|
||||
async query(sql, params) {
|
||||
queries.push({ sql, params });
|
||||
if (sql.startsWith('SELECT COUNT(*) AS count FROM (')) {
|
||||
return [[{ count: 1 }]];
|
||||
}
|
||||
return [[{
|
||||
id: 1,
|
||||
message: 'Hello',
|
||||
short_label: 'Test',
|
||||
announcement_type: 'top-banner',
|
||||
color_key: 'info',
|
||||
icon_key: 'info-circle',
|
||||
duration_seconds: null,
|
||||
expires_at: null,
|
||||
created_at: null,
|
||||
modified_at: null,
|
||||
created_by: null,
|
||||
modified_by: null,
|
||||
screen_target_count: 0,
|
||||
total_screen_count: 0,
|
||||
screen_targets_label: ''
|
||||
}]];
|
||||
}
|
||||
};
|
||||
|
||||
await fetchAnnouncementsPage(pool, 1, 25, 'hello', 'description', 'asc');
|
||||
|
||||
assert.match(queries[0].sql, /WHERE \(/i);
|
||||
assert.match(queries[0].sql, /GROUP BY a\.id\) AS filtered_rows$/);
|
||||
assert.match(queries[1].sql, /WHERE \(/i);
|
||||
assert.ok(!/GROUP BY a\.id\s+WHERE/i.test(queries[1].sql));
|
||||
});
|
||||
Reference in New Issue
Block a user