import '@lion/button/lion-button'; import '@lion/checkbox-group/lion-checkbox'; import '@lion/checkbox-group/lion-checkbox-group'; import { MinLength, Required } from '@lion/form-core'; import '@lion/form/lion-form'; import '@lion/input-amount/lion-input-amount'; import '@lion/input-date/lion-input-date'; import '@lion/input-datepicker/lion-input-datepicker'; import '@lion/input-email/lion-input-email'; import '@lion/input-iban/lion-input-iban'; import '@lion/input-range/lion-input-range'; import '@lion/input/lion-input'; import '@lion/radio-group/lion-radio'; import '@lion/radio-group/lion-radio-group'; import '@lion/select/lion-select'; import '@lion/switch/lion-switch'; import '@lion/textarea/lion-textarea'; import { elementUpdated, expect, fixture, html } from '@open-wc/testing'; describe(`Submitting/Resetting Form`, async () => { let el; beforeEach(async () => { el = await fixture(html`
Submit Reset
`); }); it('Submitting a form should make submitted true for all fields', async () => { 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 () => { el.querySelector('#submit_button').click(); 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; }); }); });