Много разных изменений

This commit is contained in:
Zuev
2026-08-20 00:55:27 +03:00
parent 3599d850f6
commit a1c4ee4298
78 changed files with 4698 additions and 428 deletions

View File

@@ -12,9 +12,15 @@ import {
defaultSchedulePeriod,
preferredScheduleSemester
} from '../admin/js/schedule-period.js';
import {
academicYearsFromSemesters,
resolveAcademicPeriod,
semestersForAcademicYear
} from '../admin/js/academic-period.js';
const autumnSemester = {
id: 11,
academicYearId: 5,
academicYearTitle: '2025/2026',
semesterType: 'autumn',
startDate: '2025-09-01',
@@ -23,6 +29,7 @@ const autumnSemester = {
const springSemester = {
id: 12,
academicYearId: 5,
academicYearTitle: '2025/2026',
semesterType: 'spring',
startDate: '2026-02-09',
@@ -77,6 +84,7 @@ test('кафедральное расписание не отбрасывает
test('между семестрами выбирается ближайший будущий период с занятиями', () => {
const nextAutumnSemester = {
id: 13,
academicYearId: 6,
academicYearTitle: '2026/2027',
semesterType: 'autumn',
startDate: '2026-09-01',
@@ -91,3 +99,32 @@ test('между семестрами выбирается ближайший б
endDate: '2026-09-14'
});
});
test('локальные селекты сначала ограничивают семестры выбранным учебным годом', () => {
const nextAutumnSemester = {
id: 13,
academicYearId: 6,
academicYearTitle: '2026/2027',
semesterType: 'autumn',
startDate: '2026-09-01',
endDate: '2027-01-31'
};
const semesters = [nextAutumnSemester, springSemester, autumnSemester];
assert.deepEqual(academicYearsFromSemesters(semesters), [
{ id: '6', title: '2026/2027' },
{ id: '5', title: '2025/2026' }
]);
assert.deepEqual(
semestersForAcademicYear(semesters, 5).map(semester => semester.id),
[12, 11]
);
assert.deepEqual(resolveAcademicPeriod(semesters, {
academicYearId: 5,
semesterId: 12,
date: '2026-08-12'
}), {
academicYearId: '5',
semesterId: '12'
});
});