Skip to content

Commit 7df50d1

Browse files
committed
update test for uui-form as a form-element wrapper
1 parent ae5176d commit 7df50d1

File tree

1 file changed

+37
-27
lines changed

1 file changed

+37
-27
lines changed
Lines changed: 37 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,19 @@
1-
/*
21
import { expect, fixture, html, oneEvent } from '@open-wc/testing';
32
import { UUIFormElement } from './uui-form.element';
43

4+
const preventSubmit = (e: SubmitEvent) => {
5+
e.preventDefault();
6+
};
7+
58
describe('UUIFormElement', () => {
69
let element: UUIFormElement;
10+
let formElement: HTMLFormElement;
711

812
beforeEach(async () => {
9-
element = await fixture(html` <form is="uui-form"></form> `);
13+
element = await fixture(
14+
html`<uui-form><form @submit=${preventSubmit}></form></uui-form>`
15+
);
16+
formElement = element.getFormElement()!;
1017
});
1118

1219
it('is defined', () => {
@@ -18,81 +25,84 @@ describe('UUIFormElement', () => {
1825
});
1926

2027
it('set novalidate attribute on form-element', async () => {
21-
await expect(element.hasAttribute('novalidate')).to.be.true;
22-
await expect(element.getAttribute('novalidate')).to.not.be.null;
23-
await expect(element.getAttribute('novalidate')).to.be.empty;
28+
await expect(formElement.hasAttribute('novalidate')).to.be.true;
29+
await expect(formElement.getAttribute('novalidate')).to.not.be.null;
30+
await expect(formElement.getAttribute('novalidate')).to.be.empty;
2431
});
2532

2633
describe('events', () => {
2734
describe('submit', () => {
2835
it('emits a submit event when submitted', async () => {
29-
const listener = oneEvent(element, 'submit');
36+
const listener = oneEvent(formElement, 'submit');
3037

31-
element.requestSubmit();
38+
formElement.requestSubmit();
3239

3340
const event = await listener;
3441
expect(event).to.exist;
3542
expect(event.type).to.equal('submit');
36-
expect(event!.target).to.equal(element);
43+
expect(event!.target).to.equal(formElement);
3744
});
3845
});
3946
});
4047

4148
describe('Validation', () => {
4249
let element: UUIFormElement;
50+
let formElement: HTMLFormElement;
4351
let input: HTMLInputElement;
4452

4553
beforeEach(async () => {
4654
element = await fixture(html`
47-
<form is="uui-form">
48-
<input type="text" name="my_required_input" required />
49-
</form>
55+
<uui-form>
56+
<form @submit=${preventSubmit}>
57+
<input type="text" name="my_required_input" required />
58+
</form>
59+
</uui-form>
5060
`);
61+
formElement = element.getFormElement()!;
5162
input = element.querySelector('input') as HTMLInputElement;
5263
});
5364

5465
it('does not have "submit-invalid" attribute before submission.', async () => {
55-
await expect(element.hasAttribute('submit-invalid')).to.be.false;
66+
await expect(formElement.hasAttribute('submit-invalid')).to.be.false;
5667
});
5768

5869
it('has "submit-invalid" attribute if Form Control was invalid at submission.', async () => {
59-
const listener = oneEvent(element, 'submit');
70+
const listener = oneEvent(formElement, 'submit');
6071

61-
element.requestSubmit();
72+
formElement.requestSubmit();
6273

6374
await listener;
64-
await expect(element.hasAttribute('submit-invalid')).to.be.true;
65-
await expect(element.getAttribute('submit-invalid')).to.not.be.null;
66-
await expect(element.getAttribute('submit-invalid')).to.be.empty;
75+
await expect(formElement.hasAttribute('submit-invalid')).to.be.true;
76+
await expect(formElement.getAttribute('submit-invalid')).to.not.be.null;
77+
await expect(formElement.getAttribute('submit-invalid')).to.be.empty;
6778
});
6879

6980
it('only has "submit-invalid" attribute if Form Control was invalid at submission.', async () => {
70-
const listener = oneEvent(element, 'submit');
81+
const listener = oneEvent(formElement, 'submit');
7182

7283
input.value = 'something';
73-
element.requestSubmit();
84+
formElement.requestSubmit();
7485

7586
await listener;
76-
await expect(element.hasAttribute('submit-invalid')).to.be.false;
87+
await expect(formElement.hasAttribute('submit-invalid')).to.be.false;
7788
});
7889

7990
it('"submit-invalid" attribute is removed when form is re-validated and submitted.', async () => {
80-
const listener = oneEvent(element, 'submit');
91+
const listener = oneEvent(formElement, 'submit');
8192

82-
element.requestSubmit();
93+
formElement.requestSubmit();
8394

8495
await listener;
85-
await expect(element.hasAttribute('submit-invalid')).to.be.true;
96+
await expect(formElement.hasAttribute('submit-invalid')).to.be.true;
8697

87-
const listener2 = oneEvent(element, 'submit');
98+
const listener2 = oneEvent(formElement, 'submit');
8899
input.value = 'something';
89-
element.requestSubmit();
100+
formElement.requestSubmit();
90101

91102
await listener2;
92-
await expect(element.hasAttribute('submit-invalid')).to.be.false;
103+
await expect(formElement.hasAttribute('submit-invalid')).to.be.false;
93104
});
94105
});
95106
});
96-
*/
97107

98108
export {};

0 commit comments

Comments
 (0)