Много разных изменений
This commit is contained in:
29
frontend/tests/schedule-overview.test.mjs
Normal file
29
frontend/tests/schedule-overview.test.mjs
Normal file
@@ -0,0 +1,29 @@
|
||||
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, 'Идёт сейчас');
|
||||
});
|
||||
Reference in New Issue
Block a user