test(frontend): Coverage verbeteren
This commit is contained in:
parent
c47da0c826
commit
4a6b6ee061
10 changed files with 387 additions and 16 deletions
82
frontend/tests/utils/assingment-rules.test.ts
Normal file
82
frontend/tests/utils/assingment-rules.test.ts
Normal file
|
@ -0,0 +1,82 @@
|
|||
import { describe, expect, it } from 'vitest';
|
||||
import {
|
||||
assignmentTitleRules,
|
||||
classRules,
|
||||
deadlineRules,
|
||||
descriptionRules,
|
||||
learningPathRules,
|
||||
} from '../../src/utils/assignment-rules';
|
||||
|
||||
describe('Validation Rules', () => {
|
||||
describe('assignmentTitleRules', () => {
|
||||
it('should return true for a valid title', () => {
|
||||
const result = assignmentTitleRules[0]('Valid Title');
|
||||
expect(result).toBe(true);
|
||||
});
|
||||
|
||||
it('should return an error message for an empty title', () => {
|
||||
const result = assignmentTitleRules[0]('');
|
||||
expect(result).toBe('Title cannot be empty.');
|
||||
});
|
||||
});
|
||||
|
||||
describe('learningPathRules', () => {
|
||||
it('should return true for a valid learning path', () => {
|
||||
const result = learningPathRules[0]({ hruid: '123', title: 'Path Title' });
|
||||
expect(result).toBe(true);
|
||||
});
|
||||
|
||||
it('should return an error message for an invalid learning path', () => {
|
||||
const result = learningPathRules[0]({ hruid: '', title: '' });
|
||||
expect(result).toBe('You must select a learning path.');
|
||||
});
|
||||
});
|
||||
|
||||
describe('classRules', () => {
|
||||
it('should return true for a valid class', () => {
|
||||
const result = classRules[0]('Class 1');
|
||||
expect(result).toBe(true);
|
||||
});
|
||||
|
||||
it('should return an error message for an empty class', () => {
|
||||
const result = classRules[0]('');
|
||||
expect(result).toBe('You must select at least one class.');
|
||||
});
|
||||
});
|
||||
|
||||
describe('deadlineRules', () => {
|
||||
it('should return true for a valid future deadline', () => {
|
||||
const futureDate = new Date(Date.now() + 1000 * 60 * 60).toISOString();
|
||||
const result = deadlineRules[0](futureDate);
|
||||
expect(result).toBe(true);
|
||||
});
|
||||
|
||||
it('should return an error message for a past deadline', () => {
|
||||
const pastDate = new Date(Date.now() - 1000 * 60 * 60).toISOString();
|
||||
const result = deadlineRules[0](pastDate);
|
||||
expect(result).toBe('The deadline must be in the future.');
|
||||
});
|
||||
|
||||
it('should return an error message for an invalid date', () => {
|
||||
const result = deadlineRules[0]('invalid-date');
|
||||
expect(result).toBe('Invalid date or time.');
|
||||
});
|
||||
|
||||
it('should return an error message for an empty deadline', () => {
|
||||
const result = deadlineRules[0]('');
|
||||
expect(result).toBe('You must set a deadline.');
|
||||
});
|
||||
});
|
||||
|
||||
describe('descriptionRules', () => {
|
||||
it('should return true for a valid description', () => {
|
||||
const result = descriptionRules[0]('This is a valid description.');
|
||||
expect(result).toBe(true);
|
||||
});
|
||||
|
||||
it('should return an error message for an empty description', () => {
|
||||
const result = descriptionRules[0]('');
|
||||
expect(result).toBe('Description cannot be empty.');
|
||||
});
|
||||
});
|
||||
});
|
Loading…
Add table
Add a link
Reference in a new issue