import test from 'node:test'; import assert from 'node:assert/strict'; import { buildScheduleOverviewModel } from '../schedule-overview.js'; test('обзор расписания выделяет занятия сегодня и ближайшую пару', () => { const now = new Date(2026, 7, 19, 10, 15, 0); const lessons = [ { date: '2026-08-20', startTime: '09:00:00', endTime: '10:30:00', subjectName: 'Завтра' }, { date: '2026-08-19', startTime: '08:30:00', endTime: '10:00:00', subjectName: 'Завершилась' }, { date: '2026-08-19', startTime: '11:00:00', endTime: '12:30:00', subjectName: 'Ближайшая' } ]; const model = buildScheduleOverviewModel(lessons, now); assert.equal(model.todayIso, '2026-08-19'); assert.deepEqual(model.todayLessons.map(item => item.subjectName), ['Завершилась', 'Ближайшая']); assert.equal(model.nextLesson.subjectName, 'Ближайшая'); }); test('текущее занятие считается ближайшим до времени окончания', () => { const now = new Date(2026, 7, 19, 10, 15, 0); const model = buildScheduleOverviewModel([ { date: '2026-08-19', startTime: '10:00', endTime: '11:30', subjectName: 'Идёт сейчас' }, { date: '2026-08-19', startTime: '12:00', endTime: '13:30', subjectName: 'Следующее' } ], now); assert.equal(model.nextLesson.subjectName, 'Идёт сейчас'); });