Files
gameno-dashboard/src/utils/classSchedule.test.js
T

32 lines
1.2 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import { describe, it } from 'node:test';
import assert from 'node:assert/strict';
import { formatClassDays, formatClassTime, formatClassSchedule, calculateClassEndDate } from './classSchedule.js';
describe('class schedule display', () => {
it('formats weekdays in Iran week order', () => {
assert.equal(formatClassDays([1, 6]), 'شنبه و دوشنبه');
});
it('formats start and end times', () => {
assert.equal(formatClassTime('19:00', '21:00'), '19:00 21:00');
assert.equal(formatClassTime('19:00', ''), '19:00');
});
it('joins days and time for a class schedule label', () => {
assert.equal(
formatClassSchedule({ days: [6, 1], startTime: '19:00', endTime: '21:00' }),
'شنبه و دوشنبه | 19:00 21:00'
);
assert.equal(formatClassSchedule({}), '');
});
it('calculates class end date from start date, days and number of sessions', () => {
// 1403/01/01 is Wednesday (day 3)
// If days are [6, 2] (Saturday, Tuesday), 2 sessions:
// Session 1: Saturday 1403/01/04
// Session 2: Tuesday 1403/01/07
const endDate = calculateClassEndDate('1403/01/01', [6, 2], 2);
assert.equal(endDate, '1403/01/07');
});
});