Show read-only server reading hours in settings

This commit is contained in:
Codex committed 2026-10-14 22:42:54 +02:00
1 parent de8e7ed988
commit ddd9c62c40
9 files changed
+89 -7

No files matched your search

+10 -1
View File
@@ -1,7 +1,7 @@
'use strict';
const test = require('node:test');
const assert = require('node:assert/strict');
const { parseSchedule, scheduled, answerMatches, createReadingAccess } = require('../reading-access');
const { parseSchedule, scheduled, publicSchedule, answerMatches, createReadingAccess } = require('../reading-access');
const windows = parseSchedule(JSON.stringify({
0: [['08:00', '01:00']], 1: [['07:00', '12:00'], ['13:00', '24:00']],
@@ -25,6 +25,15 @@ test('schedule config rejects malformed and zero-length windows', () => {
assert.throws(() => parseSchedule('{"1":[["25:00","26:00"]]}', 'Europe/Berlin'));
});
test('public schedule exposes only the configured read-only windows', () => {
const view = publicSchedule(windows);
assert.equal(view.enabled, true);
assert.equal(view.timezone, 'Europe/Berlin');
assert.deepEqual(view.days[1], [['07:00', '12:00'], ['13:00', '24:00']]);
assert.deepEqual(view.days[6], [['08:00', '01:00']]);
assert.deepEqual(publicSchedule(null), { enabled: false, timezone: null, days: [] });
});
test('answers accept aliases and small typos but not unrelated words', () => {
assert.equal(answerMatches(' luffy ', ['Monkey D. Luffy', 'Luffy']), true);
assert.equal(answerMatches('Lufy', ['Luffy']), true);