Release v2.18.0: template default content
This commit is contained in:
1 parent
48e8f3eb4b
commit
24f1603b43
54 files changed
+1421
-151
No files matched your search
@@ -0,0 +1,41 @@
|
||||
const test = require('node:test');
|
||||
const assert = require('node:assert/strict');
|
||||
|
||||
const { getDataSourceUsageMaps: getRssUsage } = require('../src/web/routes/data-sources/rss-feeds/routes');
|
||||
const { getDataSourceUsageMaps: getTimetableUsage } = require('../src/web/routes/data-sources/timetables/routes');
|
||||
const { getWeatherLocationUsageIds } = require('../src/web/routes/data-sources/weather');
|
||||
const { isWeatherIconSetUsed } = require('../src/web/routes/settings/weather-icons');
|
||||
|
||||
function createPool(slideContent, templateContent) {
|
||||
return {
|
||||
async query(sql) {
|
||||
if (sql.includes('FROM c_slides')) return [[{ content_json: JSON.stringify(slideContent) }]];
|
||||
return [[{ default_content_json: JSON.stringify(templateContent) }]];
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
const common = {
|
||||
parseJsonSafe(value) {
|
||||
if (typeof value === 'string') return JSON.parse(value);
|
||||
return value;
|
||||
}
|
||||
};
|
||||
|
||||
test('data-source and weather-icon usage includes template default content', async function () {
|
||||
const pool = createPool(
|
||||
{ slide: { feed_id: 1, timetable_group_id: 3, weather_location_id: 5, weather_icon_set_id: 'classic' } },
|
||||
{ feed_id: 2, timetable_group_id: 4, weather_location_id: 6, weather_icon_set_id: 'template-icons' }
|
||||
);
|
||||
|
||||
const rssUsage = await getRssUsage(pool, common);
|
||||
const timetableUsage = await getTimetableUsage(pool, common);
|
||||
const weatherUsage = await getWeatherLocationUsageIds(pool, common);
|
||||
|
||||
assert.deepEqual(Array.from(rssUsage).sort((a, b) => a - b), [1, 2]);
|
||||
assert.deepEqual(Array.from(timetableUsage).sort((a, b) => a - b), [3, 4]);
|
||||
assert.deepEqual(Array.from(weatherUsage).sort((a, b) => a - b), [5, 6]);
|
||||
assert.equal(await isWeatherIconSetUsed(pool, 'classic'), true);
|
||||
assert.equal(await isWeatherIconSetUsed(pool, 'template-icons'), true);
|
||||
assert.equal(await isWeatherIconSetUsed(pool, 'unused'), false);
|
||||
});
|
||||
Reference in new issue
Block a user