Skip to content

Commit e8c26a5

Browse files
authored
WIP accepted rule (#25)
* Added checked rule * Updated dependencies
1 parent 0769c15 commit e8c26a5

File tree

5 files changed

+2783
-1409
lines changed

5 files changed

+2783
-1409
lines changed
Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
import { Validator } from '@/Validator';
2+
import checked from '@/rules/checked';
3+
4+
describe('test checked rule', (): void => {
5+
beforeEach((): void => {
6+
Validator.extend('checked', checked);
7+
});
8+
9+
it('should always validate correct elements', async (): Promise<void> => {
10+
const checkbox = document.createElement('input');
11+
checkbox.setAttribute('type', 'checkbox');
12+
checkbox.setAttribute('checked', 'checked');
13+
14+
const radio1 = document.createElement('input');
15+
radio1.setAttribute('type', 'radio');
16+
radio1.setAttribute('name', 'test');
17+
const radio2 = document.createElement('input');
18+
radio2.setAttribute('type', 'radio');
19+
radio2.setAttribute('name', 'test');
20+
document.body.append(radio1, radio2);
21+
22+
const immediate_radio = document.createElement('input');
23+
immediate_radio.setAttribute('type', 'radio');
24+
immediate_radio.setAttribute('checked', 'checked');
25+
26+
const canvas = document.createElement('canvas');
27+
28+
const validator_radios = new Validator([
29+
radio1,
30+
radio2,
31+
],
32+
['checked'],
33+
'');
34+
35+
const validator_checkbox = new Validator([
36+
checkbox
37+
],
38+
['checked'],
39+
'');
40+
41+
const validator_canvas = new Validator([
42+
canvas,
43+
],
44+
['checked'],
45+
'');
46+
47+
const validator_immediate_radio = new Validator([
48+
immediate_radio,
49+
],
50+
['checked'],
51+
'');
52+
53+
await validator_radios.validate();
54+
expect(validator_radios.getErrors().length).toBe(1);
55+
56+
await validator_checkbox.validate();
57+
expect(validator_checkbox.getErrors().length).toBe(0);
58+
59+
await validator_canvas.validate();
60+
expect(validator_canvas.getErrors().length).toBe(0);
61+
62+
await validator_immediate_radio.validate();
63+
expect(validator_immediate_radio.getErrors().length).toBe(0);
64+
});
65+
})

0 commit comments

Comments
 (0)