feat: improve attendance scheduling and API validation
This commit is contained in:
@@ -15,6 +15,21 @@ const createSchedule = (notes: string) =>
|
||||
notes,
|
||||
});
|
||||
|
||||
describe('schedule attendance window validation', () => {
|
||||
it('accepts a configurable number of minutes before class', async () => {
|
||||
const dto = createSchedule('');
|
||||
dto.attendanceAdvanceMinutes = 45;
|
||||
const errors = await validate(dto);
|
||||
expect(errors.some((error) => error.property === 'attendanceAdvanceMinutes')).toBe(false);
|
||||
});
|
||||
|
||||
it('rejects values outside 0 to 1440 minutes', async () => {
|
||||
const dto = Object.assign(new UpdateScheduleDto(), { attendanceAdvanceMinutes: 1441 });
|
||||
const errors = await validate(dto);
|
||||
expect(errors.some((error) => error.property === 'attendanceAdvanceMinutes')).toBe(true);
|
||||
});
|
||||
});
|
||||
|
||||
describe('schedule notes validation', () => {
|
||||
it('rejects notes longer than 500 characters when creating', async () => {
|
||||
const errors = await validate(createSchedule('a'.repeat(501)));
|
||||
|
||||
Reference in New Issue
Block a user