import '@lion/button/define'; import '@lion/checkbox-group/define'; import { MinLength, Required } from '@lion/form-core'; import '@lion/form/define'; import '@lion/input-amount/define'; import '@lion/input-date/define'; import '@lion/input-datepicker/define'; import '@lion/input-email/define'; import '@lion/input-iban/define'; import '@lion/input-range/define'; import '@lion/input/define'; import '@lion/radio-group/define'; import '@lion/select/define'; import '@lion/switch/define'; import '@lion/textarea/define'; import { elementUpdated, expect, fixture, html } from '@open-wc/testing'; describe(`Submitting/Resetting Form`, async () => { /** @type {import('@lion/form').LionForm} */ let el; beforeEach(async () => { el = await fixture(html`
Submit Reset
`); }); it('Submitting a form should make submitted true for all fields', async () => { /** @type {import('@lion/button').LionButton} */ (el.querySelector('#submit_button')).click(); await elementUpdated(el); await el.updateComplete; el.formElements.forEach(field => { expect(field.submitted).to.be.true; }); }); it('Resetting a form should reset metadata of all fields', async () => { /** @type {import('@lion/button').LionButton} */ (el.querySelector('#submit_button')).click(); /** @type {import('@lion/button').LionButton} */ (el.querySelector('#reset_button')).click(); await elementUpdated(el); await el.updateComplete; expect(el.submitted).to.be.false; el.formElements.forEach(field => { expect(field.submitted).to.be.false; expect(field.touched).to.be.false; expect(field.dirty).to.be.false; }); }); });