import assert from 'node:assert/strict';
import test from 'node:test';

import { academicCalendarWeekNumber } from '../admin/js/views/academic-calendar-grid.js';

test('в 2026 году первая неделя оставляет понедельник перед 1 сентября пустым', () => {
    const yearStart = '2026-09-01';

    assert.equal(academicCalendarWeekNumber(yearStart, '2026-09-01'), 1);
    assert.equal(academicCalendarWeekNumber(yearStart, '2026-09-06'), 1);
    assert.equal(academicCalendarWeekNumber(yearStart, '2026-09-07'), 2);
    assert.equal(academicCalendarWeekNumber(yearStart, '2026-09-14'), 3);
});

test('в 2027 году первая неделя оставляет понедельник и вторник перед 1 сентября пустыми', () => {
    const yearStart = '2027-09-01';

    assert.equal(academicCalendarWeekNumber(yearStart, '2027-09-01'), 1);
    assert.equal(academicCalendarWeekNumber(yearStart, '2027-09-05'), 1);
    assert.equal(academicCalendarWeekNumber(yearStart, '2027-09-06'), 2);
    assert.equal(academicCalendarWeekNumber(yearStart, '2027-09-13'), 3);
});

test('учебный год с понедельника сохраняет полную первую неделю', () => {
    const yearStart = '2025-09-01';

    assert.equal(academicCalendarWeekNumber(yearStart, '2025-09-07'), 1);
    assert.equal(academicCalendarWeekNumber(yearStart, '2025-09-08'), 2);
});
