From e465109d7465ae0bd6078e841ee36946579d65a7 Mon Sep 17 00:00:00 2001 From: TheoryOfNekomata Date: Sat, 25 Mar 2023 09:13:36 +0800 Subject: [PATCH] Implement clearFormValues, improve test syntax The clearFormValues method is implemented to be able to clear form values for selected fields. Tests are now separated from pre-submit to querying the submitter. --- .eslintrc | 6 +- README.md | 7 +- cypress/integration/checkbox.test.ts | 38 ++--- cypress/integration/color.test.ts | 14 +- cypress/integration/core.test.ts | 111 +++++++++++--- cypress/integration/date.test.ts | 16 +-- cypress/integration/datetime-local.test.ts | 16 +-- cypress/integration/email.test.ts | 14 +- cypress/integration/file.test.ts | 26 ++-- cypress/integration/hidden.test.ts | 16 +-- cypress/integration/misc.test.ts | 9 +- cypress/integration/month.test.ts | 16 +-- cypress/integration/number.test.ts | 14 +- cypress/integration/password.test.ts | 14 +- cypress/integration/radio.test.ts | 42 +++--- cypress/integration/range.test.ts | 14 +- cypress/integration/search.test.ts | 18 +-- cypress/integration/select.test.ts | 18 +-- cypress/integration/submitter.test.ts | 6 +- cypress/integration/tel.test.ts | 14 +- cypress/integration/text.test.ts | 18 +-- cypress/integration/textarea.test.ts | 20 +-- cypress/integration/time.test.ts | 14 +- cypress/integration/url.test.ts | 14 +- cypress/integration/week.test.ts | 14 +- cypress/utils/index.ts | 41 +++--- package.json | 2 +- src/index.ts | 160 ++++++++++++--------- 28 files changed, 402 insertions(+), 310 deletions(-) diff --git a/.eslintrc b/.eslintrc index cbfc895..4805b4c 100644 --- a/.eslintrc +++ b/.eslintrc @@ -8,7 +8,11 @@ "@typescript-eslint/no-unsafe-argument": "off", "@typescript-eslint/no-unsafe-member-access": "off", "@typescript-eslint/no-unsafe-return": "off", - "@typescript-eslint/no-unsafe-call": "off" + "@typescript-eslint/no-unsafe-call": "off", + "no-param-reassign": ["error", { + "props": true, + "ignorePropertyModificationsForRegex": ["[Ee]l$"] + }] }, "parserOptions": { "project": "./tsconfig.eslint.json" diff --git a/README.md b/README.md index 6cfd7a5..1f3a642 100644 --- a/README.md +++ b/README.md @@ -147,6 +147,7 @@ These are all the exported methods in the library: import { getFormValues, setFormValues, + clearFormValues, getValue, isElementValueIncludedInFormSubmit, isFieldElement, @@ -165,8 +166,10 @@ See the [documentation folder](https://code.modal.sh/TheoryOfNekomata/formxtra/s on this library. You may need the [event-submitter-polyfill package](https://github.com/idea2app/event-submitter-polyfill) for browsers -that do not support the submitter property on submit events (such as Safari). The submitter element is needed for +that do not support the submitter property on submit events. The submitter element is needed for tracking which button triggered a form submission, and it may contain `name` and `value` attributes which are used to -add values to the form (such as specifying which action to take for the rest of the form values). +add values to the form (such as specifying which action to take for the rest of the form values). Refer to the +[usability table for `SubmitEvent.submitter`](https://caniuse.com/mdn-api_submitevent_submitter) to check if your target +browser is supported. The sources are under the [MIT license](https://code.modal.sh/TheoryOfNekomata/formxtra/raw/branch/master/LICENSE). diff --git a/cypress/integration/checkbox.test.ts b/cypress/integration/checkbox.test.ts index d158f7c..444b2eb 100644 --- a/cypress/integration/checkbox.test.ts +++ b/cypress/integration/checkbox.test.ts @@ -24,7 +24,7 @@ describe('checkbox', () => { it('should have no form values', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const values = getFormValues(form, { submitter }) const before = utils.makeSearchParams(values) @@ -42,7 +42,7 @@ describe('checkbox', () => { it('should have false checked value', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const values = getFormValues(form, { @@ -79,7 +79,7 @@ describe('checkbox', () => { it('should have single form value on a single field', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const before = utils.makeSearchParams(getFormValues(form, { submitter })) .toString(); @@ -127,7 +127,7 @@ describe('checkbox', () => { it('should get both values', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const before = utils.makeSearchParams(getFormValues(form, { submitter })) .toString(); @@ -149,7 +149,7 @@ describe('checkbox', () => { enabled: ['hello 3', 'hello 4'], }) }, - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const before = utils.makeSearchParams(getFormValues(form, { submitter })) .toString(); @@ -190,7 +190,7 @@ describe('checkbox', () => { onLoaded: (form: HTMLFormElement) => { setFormValues(form, { enabled: true, }) }, - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const values = getFormValues(form, { submitter }) expect(values['enabled']).toBe('on'); @@ -204,7 +204,7 @@ describe('checkbox', () => { onLoaded: (form: HTMLFormElement) => { setFormValues(form, { enabled: 'true', }) }, - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const values = getFormValues(form, { submitter }) expect(values['enabled']).toBe('on'); @@ -218,7 +218,7 @@ describe('checkbox', () => { onLoaded: (form: HTMLFormElement) => { setFormValues(form, { enabled: 'yes', }) }, - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const values = getFormValues(form, { submitter }) expect(values['enabled']).toBe('on'); @@ -232,7 +232,7 @@ describe('checkbox', () => { onLoaded: (form: HTMLFormElement) => { setFormValues(form, { enabled: 'on', }) }, - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const values = getFormValues(form, { submitter }) expect(values['enabled']).toBe('on'); @@ -246,7 +246,7 @@ describe('checkbox', () => { onLoaded: (form: HTMLFormElement) => { setFormValues(form, { enabled: false, }) }, - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const values = getFormValues(form, { submitter }) expect(values['enabled']).toBeUndefined() @@ -260,7 +260,7 @@ describe('checkbox', () => { onLoaded: (form: HTMLFormElement) => { setFormValues(form, { enabled: 'false', }) }, - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const values = getFormValues(form, { submitter }) expect(values['enabled']).toBeUndefined() @@ -274,7 +274,7 @@ describe('checkbox', () => { onLoaded: (form: HTMLFormElement) => { setFormValues(form, { enabled: 'no', }) }, - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const values = getFormValues(form, { submitter }) expect(values['enabled']).toBeUndefined() @@ -288,7 +288,7 @@ describe('checkbox', () => { onLoaded: (form: HTMLFormElement) => { setFormValues(form, { enabled: 'off', }) }, - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const values = getFormValues(form, { submitter }) expect(values['enabled']).toBeUndefined() @@ -302,7 +302,7 @@ describe('checkbox', () => { onLoaded: (form: HTMLFormElement) => { setFormValues(form, { enabled: 1, }) }, - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const values = getFormValues(form, { submitter }) expect(values['enabled']).toBe('on'); @@ -316,7 +316,7 @@ describe('checkbox', () => { onLoaded: (form: HTMLFormElement) => { setFormValues(form, { enabled: '1', }) }, - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const values = getFormValues(form, { submitter }) expect(values['enabled']).toBe('on'); @@ -330,7 +330,7 @@ describe('checkbox', () => { onLoaded: (form: HTMLFormElement) => { setFormValues(form, { enabled: 0, }) }, - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const values = getFormValues(form, { submitter }) expect(values['enabled']).toBeUndefined() @@ -344,7 +344,7 @@ describe('checkbox', () => { onLoaded: (form: HTMLFormElement) => { setFormValues(form, { enabled: '0', }) }, - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const values = getFormValues(form, { submitter }) expect(values['enabled']).toBeUndefined() @@ -358,7 +358,7 @@ describe('checkbox', () => { onLoaded: (form: HTMLFormElement) => { setFormValues(form, { enabled: null, }) }, - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const values = getFormValues(form, { submitter }) expect(values['enabled']).toBeUndefined() @@ -372,7 +372,7 @@ describe('checkbox', () => { onLoaded: (form: HTMLFormElement) => { setFormValues(form, { enabled: 'null', }) }, - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const values = getFormValues(form, { submitter }) expect(values['enabled']).toBeUndefined() diff --git a/cypress/integration/color.test.ts b/cypress/integration/color.test.ts index 25cf2ce..5642e53 100644 --- a/cypress/integration/color.test.ts +++ b/cypress/integration/color.test.ts @@ -24,7 +24,7 @@ describe('color', () => { it('should have single form value', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const before = utils.makeSearchParams(getFormValues(form, { submitter })) .toString(); @@ -65,7 +65,7 @@ describe('color', () => { it('should have blank form value', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const before = utils.makeSearchParams(getFormValues(form, { submitter })) .toString(); @@ -101,7 +101,7 @@ describe('color', () => { it('should have single form value', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const before = utils.makeSearchParams(getFormValues(form, { submitter })) .toString(); @@ -142,7 +142,7 @@ describe('color', () => { it('should have single form value', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const before = utils.makeSearchParams(getFormValues(form, { submitter })) .toString(); @@ -180,7 +180,7 @@ describe('color', () => { it('should have form values set', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onLoaded: (form: HTMLFormElement) => { setFormValues(form, { hello: '#c0ffee', }) }, @@ -225,7 +225,7 @@ describe('color', () => { it('should get both values', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const before = utils.makeSearchParams(getFormValues(form, { submitter })) .toString(); @@ -248,7 +248,7 @@ describe('color', () => { hello: ['#333333', '#aaccee'], }) }, - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const before = utils.makeSearchParams(getFormValues(form, { submitter })) .toString(); diff --git a/cypress/integration/core.test.ts b/cypress/integration/core.test.ts index 6a9820c..cee2013 100644 --- a/cypress/integration/core.test.ts +++ b/cypress/integration/core.test.ts @@ -3,7 +3,7 @@ import getFormValuesDeprecated, { setFormValues, isFieldElement, isElementValueIncludedInFormSubmit, - getValue, + getValue, clearFormValues, } from '../../src'; import * as utils from '../utils' @@ -26,7 +26,7 @@ describe('misc', () => { it('should call console.warn for deprecated default import usage', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { let consoleWarnCalled = false const defaultConsoleWarn = console.warn @@ -40,9 +40,28 @@ describe('misc', () => { }); }); + it('should call noop for deprecated default import usage when console is not found', () => { + utils.test({ + querySubmitter: (cy: any) => cy.get('[type="submit"]'), + onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { + let consoleWarnCalled = false + const defaultConsoleWarn = console.warn + console.warn = (...args: unknown[]) => { + consoleWarnCalled = true + }; + const globalConsole = global.console; + global.console = undefined; + getFormValuesDeprecated(form, { submitter }); + expect(consoleWarnCalled).toBe(false); + global.console = globalConsole; + console.warn = defaultConsoleWarn; + }, + }); + }); + it('should throw an error when providing invalid argument type as form to getFormValues', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { let isThrown = false; try { @@ -58,7 +77,7 @@ describe('misc', () => { it('should throw an error when providing null as form to getFormValues', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { let isThrown = false; try { @@ -74,7 +93,7 @@ describe('misc', () => { it('should throw an error when providing a different element type as form to getFormValues', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { let isThrown = false; try { @@ -90,7 +109,7 @@ describe('misc', () => { it('should throw an error when providing invalid argument type as form to setFormValues', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { let isThrown = false; try { @@ -106,7 +125,7 @@ describe('misc', () => { it('should throw an error when providing null as form to setFormValues', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { let isThrown = false; try { @@ -122,7 +141,7 @@ describe('misc', () => { it('should throw an error when providing a different element type as form to setFormValues', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { let isThrown = false; try { @@ -138,7 +157,7 @@ describe('misc', () => { it('should throw an error when providing invalid argument type as values to setFormValues', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { let isThrown = false; try { @@ -154,7 +173,7 @@ describe('misc', () => { it('should not throw an error when providing null as form to setFormValues', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { let isThrown = false; try { @@ -170,7 +189,7 @@ describe('misc', () => { it('should throw an error when providing undefined as form to setFormValues', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { let isThrown = false; try { @@ -204,7 +223,7 @@ describe('misc', () => { it('should have blank form value', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const before = utils.makeSearchParams(getFormValues(form, { submitter })) .toString(); @@ -240,7 +259,7 @@ describe('misc', () => { it('should check for valid field elements value', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const meter = document.getElementById('meter'); expect(getValue(meter)).toBe(5); @@ -250,7 +269,7 @@ describe('misc', () => { it('should check for invalid field elements value', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { expect(getValue(document.body)).toBe(null); }, @@ -259,7 +278,7 @@ describe('misc', () => { it('should check for elements as included fields', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const input = document.getElementById('input'); expect(isElementValueIncludedInFormSubmit(input)).toBe(true); @@ -269,7 +288,7 @@ describe('misc', () => { it('should check for elements as excluded fields', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const notField = document.getElementById('notField'); expect(isElementValueIncludedInFormSubmit(notField)).toBe(false); @@ -283,7 +302,7 @@ describe('misc', () => { it('should check for elements as valid for fields', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const input = document.getElementById('input'); expect(isFieldElement(input)).toBe(true); @@ -295,7 +314,7 @@ describe('misc', () => { it('should check for elements as invalid for fields', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const meter = document.getElementById('meter'); expect(isFieldElement(meter)).toBe(false); @@ -325,7 +344,7 @@ describe('misc', () => { it('should parse string values for setFormValues', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { let isThrown = false; try { @@ -342,7 +361,7 @@ describe('misc', () => { it('should parse entries values for setFormValues', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { let isThrown = false; try { @@ -359,7 +378,7 @@ describe('misc', () => { it('should parse URLSearchParams values for setFormValues', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { let isThrown = false; try { @@ -376,7 +395,7 @@ describe('misc', () => { it('should parse object values for setFormValues', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { let isThrown = false; try { @@ -392,6 +411,52 @@ describe('misc', () => { }); }); + + describe('clearing values', () => { + beforeEach(utils.setup(` + + + + + Misc/Blank + + +
+ + + + + + + + + +
+ + + `)); + + it('should clear all values given a single key', () => { + utils.test({ + querySubmitter: (cy: any) => cy.get('[type="submit"]'), + onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { + clearFormValues(form, 'foobar'); + expect(getFormValues(form)).toEqual({ foobar: ['', ''], baz: 'value3', bar: ['value1', 'value2'], foo: 'value1', }); + }, + }); + }); + + it('should clear all values given multiple keys', () => { + utils.test({ + querySubmitter: (cy: any) => cy.get('[type="submit"]'), + onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { + clearFormValues(form, ['foobar', 'bar', 'foo']); + expect(getFormValues(form)).toEqual({ foobar: ['', ''], baz: 'value3', bar: ['', ''], }); + }, + }); + }); + }); + describe('duplicates', () => { beforeEach(utils.setup(` @@ -416,7 +481,7 @@ describe('misc', () => { onLoaded: (form: HTMLFormElement) => { setFormValues(form, { foobar: ['foo', 'bar', 'baz']}) }, - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { expect(getFormValues(form)).toEqual({ foobar: ['foo', 'bar', 'baz'], }); }, diff --git a/cypress/integration/date.test.ts b/cypress/integration/date.test.ts index 866a010..1dce79e 100644 --- a/cypress/integration/date.test.ts +++ b/cypress/integration/date.test.ts @@ -24,7 +24,7 @@ describe('date', () => { it('should have single form value', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const before = utils.makeSearchParams(getFormValues(form, { submitter })) .toString(); @@ -41,7 +41,7 @@ describe('date', () => { it('should enable Date representation', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const values = getFormValues(form, { submitter, forceDateValues: true }); // somehow, checking instanceof Date fails here, because we're using an artificial date @@ -78,7 +78,7 @@ describe('date', () => { it('should have blank form value', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const before = utils.makeSearchParams(getFormValues(form, { submitter })) .toString(); @@ -114,7 +114,7 @@ describe('date', () => { it('should have single form value', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const before = utils.makeSearchParams(getFormValues(form, { submitter })) .toString(); @@ -155,7 +155,7 @@ describe('date', () => { it('should have single form value', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const before = utils.makeSearchParams(getFormValues(form, { submitter })) .toString(); @@ -193,7 +193,7 @@ describe('date', () => { it('should have form values set', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onLoaded: (form: HTMLFormElement) => { setFormValues(form, { hello: new Date('2000-01-01'), }) }, @@ -238,7 +238,7 @@ describe('date', () => { it('should get both values', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const before = utils.makeSearchParams(getFormValues(form, { submitter })) .toString(); @@ -260,7 +260,7 @@ describe('date', () => { hello: ['2006-06-06', '2005-05-05'], }) }, - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const before = utils.makeSearchParams(getFormValues(form, { submitter })) .toString(); diff --git a/cypress/integration/datetime-local.test.ts b/cypress/integration/datetime-local.test.ts index 4f4b2f9..a02379c 100644 --- a/cypress/integration/datetime-local.test.ts +++ b/cypress/integration/datetime-local.test.ts @@ -24,7 +24,7 @@ describe('date', () => { it('should have single form value', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const before = utils.makeSearchParams(getFormValues(form, { submitter })) .toString(); @@ -41,7 +41,7 @@ describe('date', () => { it('should enable Date representation', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const values = getFormValues(form, { submitter, forceDateValues: true }); // somehow, checking instanceof Date fails here, because we're using an artificial date @@ -78,7 +78,7 @@ describe('date', () => { it('should have blank form value', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const before = utils.makeSearchParams(getFormValues(form, { submitter })) .toString(); @@ -114,7 +114,7 @@ describe('date', () => { it('should have single form value', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const before = utils.makeSearchParams(getFormValues(form, { submitter })) .toString(); @@ -155,7 +155,7 @@ describe('date', () => { it('should have single form value', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const before = utils.makeSearchParams(getFormValues(form, { submitter })) .toString(); @@ -193,7 +193,7 @@ describe('date', () => { it('should have form values set', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onLoaded: (form: HTMLFormElement) => { setFormValues(form, { hello: new Date('2000-01-01T13:37'), }) }, @@ -238,7 +238,7 @@ describe('date', () => { it('should get both values', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const before = utils.makeSearchParams(getFormValues(form, { submitter })) .toString(); @@ -260,7 +260,7 @@ describe('date', () => { hello: ['2006-06-06T13:37', '2005-05-05T13:37'], }) }, - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const before = utils.makeSearchParams(getFormValues(form, { submitter })) .toString(); diff --git a/cypress/integration/email.test.ts b/cypress/integration/email.test.ts index d1ba916..6955857 100644 --- a/cypress/integration/email.test.ts +++ b/cypress/integration/email.test.ts @@ -24,7 +24,7 @@ describe('email', () => { it('should have single form value', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const before = utils.makeSearchParams(getFormValues(form, { submitter })) .toString(); @@ -65,7 +65,7 @@ describe('email', () => { it('should have blank form value', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const before = utils.makeSearchParams(getFormValues(form, { submitter })) .toString(); @@ -101,7 +101,7 @@ describe('email', () => { it('should have single form value', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const before = utils.makeSearchParams(getFormValues(form, { submitter })) .toString(); @@ -142,7 +142,7 @@ describe('email', () => { it('should have single form value', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const before = utils.makeSearchParams(getFormValues(form, { submitter })) .toString(); @@ -180,7 +180,7 @@ describe('email', () => { it('should have form values set', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onLoaded: (form: HTMLFormElement) => { setFormValues(form, { hello: 'email@example.com', }) }, @@ -225,7 +225,7 @@ describe('email', () => { it('should get both values', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const before = utils.makeSearchParams(getFormValues(form, { submitter })) .toString(); @@ -247,7 +247,7 @@ describe('email', () => { hello: ['poppy@example.com', 'pumpkin@example.com'], }) }, - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const before = utils.makeSearchParams(getFormValues(form, { submitter })) .toString(); diff --git a/cypress/integration/file.test.ts b/cypress/integration/file.test.ts index a4f5f26..dd6dc74 100644 --- a/cypress/integration/file.test.ts +++ b/cypress/integration/file.test.ts @@ -24,7 +24,7 @@ describe('file', () => { it('should have no form values when no file is selected', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const before = utils.makeSearchParams(getFormValues(form, { submitter })) .toString(); @@ -41,13 +41,12 @@ describe('file', () => { it('should have single form value when a file is selected', () => { utils.test({ - actionBeforeSubmit: (cy: any) => { + onBeforeSubmit: (cy) => { cy .get('[name="hello"]') .attachFile('uploads/data.json') - - return cy.get('[type="submit"]') }, + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const before = utils.makeSearchParams(getFormValues(form, { submitter })) .toString(); @@ -64,13 +63,12 @@ describe('file', () => { it('should retrieve the file list upon setting appropriate option', () => { utils.test({ - actionBeforeSubmit: (cy: any) => { + onBeforeSubmit: (cy: any) => { cy .get('[name="hello"]') .attachFile('uploads/data.json') - - return cy.get('[type="submit"]') }, + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any) => { const formValues = getFormValues(form, { @@ -89,7 +87,7 @@ describe('file', () => { onLoaded: (form: HTMLFormElement) => { setFormValues(form, { hello: 'data.json' }); }, - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any) => { const formValues = getFormValues( form, @@ -127,7 +125,7 @@ describe('file', () => { it('should have no form values when no file is selected', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const before = utils.makeSearchParams(getFormValues(form, { submitter })) .toString(); @@ -144,13 +142,12 @@ describe('file', () => { it('should have single form value when a file is selected', () => { utils.test({ - actionBeforeSubmit: (cy: any) => { + onBeforeSubmit: (cy: any) => { cy .get('[name="hello"]') .attachFile(['uploads/data.json', 'uploads/data2.json']) - - return cy.get('[type="submit"]') }, + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const before = utils.makeSearchParams(getFormValues(form, { submitter })) .toString(); @@ -165,13 +162,12 @@ describe('file', () => { it('should retrieve the file list upon setting appropriate option', () => { utils.test({ - actionBeforeSubmit: (cy: any) => { + onBeforeSubmit: (cy: any) => { cy .get('[name="hello"]') .attachFile(['uploads/data.json', 'uploads/data2.json']) - - return cy.get('[type="submit"]') }, + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any) => { const formValues = getFormValues(form, { diff --git a/cypress/integration/hidden.test.ts b/cypress/integration/hidden.test.ts index 82fdbbc..fe19513 100644 --- a/cypress/integration/hidden.test.ts +++ b/cypress/integration/hidden.test.ts @@ -24,7 +24,7 @@ describe('hidden', () => { it('should have single form value', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const before = utils.makeSearchParams(getFormValues(form, { submitter })) .toString(); @@ -62,7 +62,7 @@ describe('hidden', () => { it('should have extra value for character set', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const before = utils.makeSearchParams(getFormValues(form, { submitter, includeCharset: true, })) .toString(); @@ -82,7 +82,7 @@ describe('hidden', () => { onLoaded: (form: HTMLFormElement) => { setFormValues(form, { _charset_: 'Shift-JIS' }); }, - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const before = utils.makeSearchParams(getFormValues(form, { submitter, includeCharset: true, })) .toString(); @@ -123,7 +123,7 @@ describe('hidden', () => { it('should have blank form value', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const before = utils.makeSearchParams(getFormValues(form, { submitter })) .toString(); @@ -159,7 +159,7 @@ describe('hidden', () => { it('should have single form value', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const before = utils.makeSearchParams(getFormValues(form, { submitter })) .toString(); @@ -197,7 +197,7 @@ describe('hidden', () => { it('should have form values set', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onLoaded: (form: HTMLFormElement) => { setFormValues(form, { hello: 'Hi', }) }, @@ -242,7 +242,7 @@ describe('hidden', () => { it('should get both values', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const before = utils.makeSearchParams(getFormValues(form, { submitter })) .toString(); @@ -264,7 +264,7 @@ describe('hidden', () => { hello: ['new value 1', 'another value 2'], }) }, - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const before = utils.makeSearchParams(getFormValues(form, { submitter })) .toString(); diff --git a/cypress/integration/misc.test.ts b/cypress/integration/misc.test.ts index fe88804..a3c5328 100644 --- a/cypress/integration/misc.test.ts +++ b/cypress/integration/misc.test.ts @@ -20,7 +20,7 @@ describe('misc', () => { it('should have blank form value', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const before = utils.makeSearchParams(getFormValues(form, { submitter })) .toString(); @@ -180,7 +180,7 @@ describe('misc', () => { it('should have correct form values', () => { utils.test({ - actionBeforeSubmit: (cy) => { + onBeforeSubmit: (cy) => { cy.get('[name="first_name"]') .type('John') cy.get('[name="middle_name"]') @@ -228,8 +228,8 @@ describe('misc', () => { .trigger('change') cy.get('[name="notes"]') .type('Test content\n\nNew line\n\nAnother line') - return cy.get('[name="submit"][value="Hi"]') }, + querySubmitter: (cy) => cy.get('[name="submit"][value="Hi"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const before = utils.makeSearchParams(getFormValues(form, { submitter })) .toString(); @@ -245,7 +245,8 @@ describe('misc', () => { it('should have filled form values', () => { utils.test({ - actionBeforeSubmit: (cy) => cy.wait(3000).get('[name="submit"][value="Hi"]'), + onBeforeSubmit: (cy: any) => cy.wait(3000), + querySubmitter: (cy) => cy.get('[name="submit"][value="Hi"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const before = utils.makeSearchParams(getFormValues(form, { submitter })) .toString(); diff --git a/cypress/integration/month.test.ts b/cypress/integration/month.test.ts index 420945d..2f6babf 100644 --- a/cypress/integration/month.test.ts +++ b/cypress/integration/month.test.ts @@ -24,7 +24,7 @@ describe('month', () => { it('should have single form value', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const before = utils.makeSearchParams(getFormValues(form, { submitter })) .toString(); @@ -41,7 +41,7 @@ describe('month', () => { it('should enable Date representation', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const values = getFormValues(form, { submitter, forceDateValues: true }); // somehow, checking instanceof Date fails here, because we're using an artificial date @@ -78,7 +78,7 @@ describe('month', () => { it('should have blank form value', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const before = utils.makeSearchParams(getFormValues(form, { submitter })) .toString(); @@ -114,7 +114,7 @@ describe('month', () => { it('should have single form value', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const before = utils.makeSearchParams(getFormValues(form, { submitter })) .toString(); @@ -155,7 +155,7 @@ describe('month', () => { it('should have single form value', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const before = utils.makeSearchParams(getFormValues(form, { submitter })) .toString(); @@ -193,7 +193,7 @@ describe('month', () => { it('should have form values set', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onLoaded: (form: HTMLFormElement) => { setFormValues(form, { hello: '2003-05', }) }, @@ -238,7 +238,7 @@ describe('month', () => { it('should get both values', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const before = utils.makeSearchParams(getFormValues(form, { submitter })) .toString(); @@ -260,7 +260,7 @@ describe('month', () => { hello: ['2003-04', '2003-02'], }) }, - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const before = utils.makeSearchParams(getFormValues(form, { submitter })) .toString(); diff --git a/cypress/integration/number.test.ts b/cypress/integration/number.test.ts index 0e7e1d8..fc496ad 100644 --- a/cypress/integration/number.test.ts +++ b/cypress/integration/number.test.ts @@ -24,7 +24,7 @@ describe('number', () => { it('should have single form value', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const before = utils.makeSearchParams(getFormValues(form, { submitter, forceNumberValues: true, })) .toString(); @@ -65,7 +65,7 @@ describe('number', () => { it('should have blank form value', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const before = utils.makeSearchParams(getFormValues(form, { submitter })) .toString(); @@ -101,7 +101,7 @@ describe('number', () => { it('should have single form value', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const before = utils.makeSearchParams(getFormValues(form, { submitter })) .toString(); @@ -142,7 +142,7 @@ describe('number', () => { it('should have single form value', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const before = utils.makeSearchParams(getFormValues(form, { submitter })) .toString(); @@ -180,7 +180,7 @@ describe('number', () => { it('should have form values set', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onLoaded: (form: HTMLFormElement) => { setFormValues(form, { hello: 5, }) }, @@ -225,7 +225,7 @@ describe('number', () => { it('should get both values', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const before = utils.makeSearchParams(getFormValues(form, { submitter, forceNumberValues: true, })) .toString(); @@ -247,7 +247,7 @@ describe('number', () => { hello: [4, 2], }) }, - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const before = utils.makeSearchParams(getFormValues(form, { submitter })) .toString(); diff --git a/cypress/integration/password.test.ts b/cypress/integration/password.test.ts index 5eb879d..1b0f84f 100644 --- a/cypress/integration/password.test.ts +++ b/cypress/integration/password.test.ts @@ -24,7 +24,7 @@ describe('password', () => { it('should have single form value', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const before = utils.makeSearchParams(getFormValues(form, { submitter })) .toString(); @@ -65,7 +65,7 @@ describe('password', () => { it('should have blank form value', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const before = utils.makeSearchParams(getFormValues(form, { submitter })) .toString(); @@ -101,7 +101,7 @@ describe('password', () => { it('should have single form value', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const before = utils.makeSearchParams(getFormValues(form, { submitter })) .toString(); @@ -142,7 +142,7 @@ describe('password', () => { it('should have single form value', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const before = utils.makeSearchParams(getFormValues(form, { submitter })) .toString(); @@ -180,7 +180,7 @@ describe('password', () => { it('should have form values set', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onLoaded: (form: HTMLFormElement) => { setFormValues(form, { hello: 'Hi', }) }, @@ -225,7 +225,7 @@ describe('password', () => { it('should get both values', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const before = utils.makeSearchParams(getFormValues(form, { submitter })) .toString(); @@ -247,7 +247,7 @@ describe('password', () => { hello: ['new value 1', 'another value 2'], }) }, - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const before = utils.makeSearchParams(getFormValues(form, { submitter })) .toString(); diff --git a/cypress/integration/radio.test.ts b/cypress/integration/radio.test.ts index c70c7dc..5d8c24a 100644 --- a/cypress/integration/radio.test.ts +++ b/cypress/integration/radio.test.ts @@ -24,7 +24,7 @@ describe('radio', () => { it('should have no form values', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const values = getFormValues(form, { submitter }) const before = utils.makeSearchParams(values) @@ -63,7 +63,7 @@ describe('radio', () => { it('should have single form value on a single field', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const before = utils.makeSearchParams(getFormValues(form, { submitter })) .toString(); @@ -111,7 +111,7 @@ describe('radio', () => { it('should get last value as checked', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const before = utils.makeSearchParams(getFormValues(form, { submitter })) .toString(); @@ -133,7 +133,7 @@ describe('radio', () => { enabled: ['hello 3', 'hello 4'], }) }, - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const before = utils.makeSearchParams(getFormValues(form, { submitter })) .toString(); @@ -183,7 +183,7 @@ describe('radio', () => { onLoaded: (form: HTMLFormElement) => { setFormValues(form, { enabled: true, }) }, - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const values = getFormValues(form, { submitter }) expect(values['enabled']).toBeUndefined() @@ -197,7 +197,7 @@ describe('radio', () => { onLoaded: (form: HTMLFormElement) => { setFormValues(form, { enabled: 'true', }) }, - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const values = getFormValues(form, { submitter }) expect(values['enabled']).toBe('true'); @@ -211,7 +211,7 @@ describe('radio', () => { onLoaded: (form: HTMLFormElement) => { setFormValues(form, { enabled: 'yes', }) }, - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const values = getFormValues(form, { submitter }) expect(values['enabled']).toBe('yes'); @@ -225,7 +225,7 @@ describe('radio', () => { onLoaded: (form: HTMLFormElement) => { setFormValues(form, { enabled: 'on', }) }, - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const values = getFormValues(form, { submitter }) expect(values['enabled']).toBe('on'); @@ -239,7 +239,7 @@ describe('radio', () => { onLoaded: (form: HTMLFormElement) => { setFormValues(form, { enabled: false, }) }, - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const values = getFormValues(form, { submitter }) expect(values['enabled']).toBeUndefined() @@ -253,7 +253,7 @@ describe('radio', () => { onLoaded: (form: HTMLFormElement) => { setFormValues(form, { enabled: 'false', }) }, - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const values = getFormValues(form, { submitter }) expect(values['enabled']).toBe('false'); @@ -267,7 +267,7 @@ describe('radio', () => { onLoaded: (form: HTMLFormElement) => { setFormValues(form, { enabled: 'no', }) }, - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const values = getFormValues(form, { submitter }) expect(values['enabled']).toBe('no') @@ -281,7 +281,7 @@ describe('radio', () => { onLoaded: (form: HTMLFormElement) => { setFormValues(form, { enabled: 'off', }) }, - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const values = getFormValues(form, { submitter }) expect(values['enabled']).toBe('off'); @@ -295,7 +295,7 @@ describe('radio', () => { onLoaded: (form: HTMLFormElement) => { setFormValues(form, { enabled: 1, }) }, - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const values = getFormValues(form, { submitter }) expect(values['enabled']).toBeUndefined(); @@ -309,7 +309,7 @@ describe('radio', () => { onLoaded: (form: HTMLFormElement) => { setFormValues(form, { enabled: '1', }) }, - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const values = getFormValues(form, { submitter }) expect(values['enabled']).toBe('1'); @@ -323,7 +323,7 @@ describe('radio', () => { onLoaded: (form: HTMLFormElement) => { setFormValues(form, { enabled: 0, }) }, - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const values = getFormValues(form, { submitter }) expect(values['enabled']).toBeUndefined() @@ -337,7 +337,7 @@ describe('radio', () => { onLoaded: (form: HTMLFormElement) => { setFormValues(form, { enabled: '0', }) }, - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const values = getFormValues(form, { submitter }) expect(values['enabled']).toBe('0') @@ -351,7 +351,7 @@ describe('radio', () => { onLoaded: (form: HTMLFormElement) => { setFormValues(form, { enabled: null, }) }, - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const values = getFormValues(form, { submitter }) expect(values['enabled']).toBeUndefined() @@ -365,7 +365,7 @@ describe('radio', () => { onLoaded: (form: HTMLFormElement) => { setFormValues(form, { enabled: 'null', }) }, - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const values = getFormValues(form, { submitter }) expect(values['enabled']).toBe('null'); @@ -379,7 +379,7 @@ describe('radio', () => { onLoaded: (form: HTMLFormElement) => { setFormValues(form, { enabled: true, }) }, - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const values = getFormValues(form, { submitter }) expect(values['enabled']).toBeUndefined() @@ -393,7 +393,7 @@ describe('radio', () => { onLoaded: (form: HTMLFormElement) => { setFormValues(form, { enabled: ['foo', 'bar', 'baz', 'on'], }) }, - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const values = getFormValues(form, { submitter }) expect(values['enabled']).toBe('on') @@ -407,7 +407,7 @@ describe('radio', () => { onLoaded: (form: HTMLFormElement) => { setFormValues(form, { enabled: ['foo', 'bar', 'baz', 'on', 'default', 'true'], }) }, - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const values = getFormValues(form, { submitter }) expect(values['enabled']).toBe('true') diff --git a/cypress/integration/range.test.ts b/cypress/integration/range.test.ts index c6ffe6a..9bd0529 100644 --- a/cypress/integration/range.test.ts +++ b/cypress/integration/range.test.ts @@ -24,7 +24,7 @@ describe('range', () => { it('should have single form value', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const before = utils.makeSearchParams(getFormValues(form, { submitter, forceNumberValues: true, })) .toString(); @@ -65,7 +65,7 @@ describe('range', () => { it('should have blank form value', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const before = utils.makeSearchParams(getFormValues(form, { submitter })) .toString(); @@ -101,7 +101,7 @@ describe('range', () => { it('should have single form value', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const before = utils.makeSearchParams(getFormValues(form, { submitter })) .toString(); @@ -142,7 +142,7 @@ describe('range', () => { it('should have single form value', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const before = utils.makeSearchParams(getFormValues(form, { submitter })) .toString(); @@ -180,7 +180,7 @@ describe('range', () => { it('should have form values set', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onLoaded: (form: HTMLFormElement) => { setFormValues(form, { hello: 5, }) }, @@ -225,7 +225,7 @@ describe('range', () => { it('should get both values', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const before = utils.makeSearchParams(getFormValues(form, { submitter, forceNumberValues: true, })) .toString(); @@ -247,7 +247,7 @@ describe('range', () => { hello: [4, 2], }) }, - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const before = utils.makeSearchParams(getFormValues(form, { submitter })) .toString(); diff --git a/cypress/integration/search.test.ts b/cypress/integration/search.test.ts index add621f..81c4bdb 100644 --- a/cypress/integration/search.test.ts +++ b/cypress/integration/search.test.ts @@ -24,7 +24,7 @@ describe('search', () => { it('should have single form value', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const before = utils.makeSearchParams(getFormValues(form, { submitter })) .toString(); @@ -62,7 +62,7 @@ describe('search', () => { it('should have extra value for directionality', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const before = utils.makeSearchParams(getFormValues(form, { submitter, includeDirectionality: true, })) .toString(); @@ -80,7 +80,7 @@ describe('search', () => { it('should support other directionality', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { document.getElementsByTagName('input')[0].style.direction = 'rtl'; const before = utils.makeSearchParams(getFormValues(form, { submitter, includeDirectionality: true, })) @@ -123,7 +123,7 @@ describe('search', () => { it('should have blank form value', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const before = utils.makeSearchParams(getFormValues(form, { submitter })) .toString(); @@ -159,7 +159,7 @@ describe('search', () => { it('should have single form value', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const before = utils.makeSearchParams(getFormValues(form, { submitter })) .toString(); @@ -200,7 +200,7 @@ describe('search', () => { it('should have single form value', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const before = utils.makeSearchParams(getFormValues(form, { submitter })) .toString(); @@ -238,7 +238,7 @@ describe('search', () => { it('should have form values set', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onLoaded: (form: HTMLFormElement) => { setFormValues(form, { hello: 'Hi', }) }, @@ -283,7 +283,7 @@ describe('search', () => { it('should get both values', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const before = utils.makeSearchParams(getFormValues(form, { submitter })) .toString(); @@ -305,7 +305,7 @@ describe('search', () => { hello: ['new value 1', 'another value 2'], }) }, - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const before = utils.makeSearchParams(getFormValues(form, { submitter })) .toString(); diff --git a/cypress/integration/select.test.ts b/cypress/integration/select.test.ts index 776a511..b971571 100644 --- a/cypress/integration/select.test.ts +++ b/cypress/integration/select.test.ts @@ -29,7 +29,7 @@ describe('select', () => { it('should have multiple form values on a single field', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const before = utils.makeSearchParams(getFormValues(form, { submitter })) .toString(); @@ -47,7 +47,7 @@ describe('select', () => { onLoaded: (form: HTMLFormElement) => { setFormValues(form, { hello: ['Foo', 'Baz'] }); }, - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const before = utils.makeSearchParams(getFormValues(form, { submitter })) .toString(); @@ -94,7 +94,7 @@ describe('select', () => { it('should have multiple form values on a single field', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const before = utils.makeSearchParams(getFormValues(form, { submitter })) .toString(); @@ -112,7 +112,7 @@ describe('select', () => { onLoaded: (form: HTMLFormElement) => { setFormValues(form, { hello: ['Foo', 'Baz', 'Chocolate', 'Vanilla'] }) }, - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const before = utils.makeSearchParams(getFormValues(form, { submitter })) .toString(); @@ -130,7 +130,7 @@ describe('select', () => { onLoaded: (form: HTMLFormElement) => { setFormValues(form, { hello: [['Foo', 'Baz', 'Chocolate'], ['Vanilla']] }) }, - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const before = utils.makeSearchParams(getFormValues(form, { submitter })) .toString(); @@ -170,7 +170,7 @@ describe('select', () => { it('should have single form value on a single field', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const before = utils.makeSearchParams(getFormValues(form, { submitter })) .toString(); @@ -220,7 +220,7 @@ describe('select', () => { it('should have multiple form values on a single field', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const before = utils.makeSearchParams(getFormValues(form, { submitter })) .toString(); @@ -238,7 +238,7 @@ describe('select', () => { onLoaded: (form: HTMLFormElement) => { setFormValues(form, { hello: ['Foo', 'Chocolate'] }) }, - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const before = utils.makeSearchParams(getFormValues(form, { submitter })) .toString(); @@ -256,7 +256,7 @@ describe('select', () => { onLoaded: (form: HTMLFormElement) => { setFormValues(form, { hello: ['Foo', 'Ube'] }) }, - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const before = utils.makeSearchParams(getFormValues(form, { submitter })) .toString(); diff --git a/cypress/integration/submitter.test.ts b/cypress/integration/submitter.test.ts index 1bde040..b38d237 100644 --- a/cypress/integration/submitter.test.ts +++ b/cypress/integration/submitter.test.ts @@ -25,7 +25,7 @@ describe('submitter', () => { it('should have double form values', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[name="action"][value="Foo"]'), + querySubmitter: (cy: any) => cy.get('[name="action"][value="Foo"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const before = utils.makeSearchParams(getFormValues(form, { submitter })) .toString(); @@ -65,7 +65,7 @@ describe('submitter', () => { it('should have double form values', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[name="action"][value="Bar"]'), + querySubmitter: (cy: any) => cy.get('[name="action"][value="Bar"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const before = utils.makeSearchParams(getFormValues(form, { submitter })) .toString(); @@ -103,7 +103,7 @@ describe('submitter', () => { it('should have single form value', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const before = utils.makeSearchParams(getFormValues(form, { submitter })) .toString(); diff --git a/cypress/integration/tel.test.ts b/cypress/integration/tel.test.ts index b29b91f..6ca9436 100644 --- a/cypress/integration/tel.test.ts +++ b/cypress/integration/tel.test.ts @@ -24,7 +24,7 @@ describe('tel', () => { it('should have single form value', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const before = utils.makeSearchParams(getFormValues(form, { submitter })) .toString(); @@ -65,7 +65,7 @@ describe('tel', () => { it('should have blank form value', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const before = utils.makeSearchParams(getFormValues(form, { submitter })) .toString(); @@ -101,7 +101,7 @@ describe('tel', () => { it('should have single form value', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const before = utils.makeSearchParams(getFormValues(form, { submitter })) .toString(); @@ -142,7 +142,7 @@ describe('tel', () => { it('should have single form value', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const before = utils.makeSearchParams(getFormValues(form, { submitter })) .toString(); @@ -180,7 +180,7 @@ describe('tel', () => { it('should have form values set', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onLoaded: (form: HTMLFormElement) => { setFormValues(form, { hello: 'Hi', }) }, @@ -225,7 +225,7 @@ describe('tel', () => { it('should get both values', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const before = utils.makeSearchParams(getFormValues(form, { submitter })) .toString(); @@ -247,7 +247,7 @@ describe('tel', () => { hello: ['new value 1', 'another value 2'], }) }, - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const before = utils.makeSearchParams(getFormValues(form, { submitter })) .toString(); diff --git a/cypress/integration/text.test.ts b/cypress/integration/text.test.ts index bdc5a46..391a22e 100644 --- a/cypress/integration/text.test.ts +++ b/cypress/integration/text.test.ts @@ -24,7 +24,7 @@ describe('text', () => { it('should have single form value', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const before = utils.makeSearchParams(getFormValues(form, { submitter })) .toString(); @@ -62,7 +62,7 @@ describe('text', () => { it('should have extra value for directionality', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const before = utils.makeSearchParams(getFormValues(form, { submitter, includeDirectionality: true, })) .toString(); @@ -80,7 +80,7 @@ describe('text', () => { it('should support other directionality', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { document.getElementsByTagName('input')[0].style.direction = 'rtl'; const before = utils.makeSearchParams(getFormValues(form, { submitter, includeDirectionality: true, })) @@ -123,7 +123,7 @@ describe('text', () => { it('should have blank form value', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const before = utils.makeSearchParams(getFormValues(form, { submitter })) .toString(); @@ -159,7 +159,7 @@ describe('text', () => { it('should have single form value', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const before = utils.makeSearchParams(getFormValues(form, { submitter })) .toString(); @@ -200,7 +200,7 @@ describe('text', () => { it('should have single form value', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const before = utils.makeSearchParams(getFormValues(form, { submitter })) .toString(); @@ -238,7 +238,7 @@ describe('text', () => { it('should have form values set', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onLoaded: (form: HTMLFormElement) => { setFormValues(form, { hello: 'Hi', }) }, @@ -283,7 +283,7 @@ describe('text', () => { it('should get both values', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const before = utils.makeSearchParams(getFormValues(form, { submitter })) .toString(); @@ -305,7 +305,7 @@ describe('text', () => { hello: ['new value 1', 'another value 2'], }) }, - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const before = utils.makeSearchParams(getFormValues(form, { submitter })) .toString(); diff --git a/cypress/integration/textarea.test.ts b/cypress/integration/textarea.test.ts index aaf76dd..16ced55 100644 --- a/cypress/integration/textarea.test.ts +++ b/cypress/integration/textarea.test.ts @@ -24,7 +24,7 @@ describe('textarea', () => { it('should have single form value', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const before = utils.makeSearchParams(getFormValues(form, { submitter })) .toString(); @@ -65,7 +65,7 @@ describe('textarea', () => { it('should have blank form value', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const before = utils.makeSearchParams(getFormValues(form, { submitter })) .toString(); @@ -101,7 +101,7 @@ describe('textarea', () => { it('should have single form value', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const before = utils.makeSearchParams(getFormValues(form, { submitter })) .toString(); @@ -142,7 +142,7 @@ describe('textarea', () => { it('should have single form value', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const before = utils.makeSearchParams(getFormValues(form, { submitter })) .toString(); @@ -180,7 +180,7 @@ describe('textarea', () => { it('should have form values set', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onLoaded: (form: HTMLFormElement) => { setFormValues(form, { hello: 'Hi', }) }, @@ -221,7 +221,7 @@ describe('textarea', () => { it('should read LF line breaks', () => { utils.test({ - actionBeforeSubmit: (cy: any) => { + querySubmitter: (cy: any) => { cy.get('[name="hello"]') .type('Hi\nHello', { parseSpecialCharSequences: false }) return cy.get('[type="submit"]') @@ -242,7 +242,7 @@ describe('textarea', () => { it('should read CR line breaks', () => { utils.test({ - actionBeforeSubmit: (cy: any) => { + querySubmitter: (cy: any) => { cy.get('[name="hello"]') .type('Hi\rHello', { parseSpecialCharSequences: false }) return cy.get('[type="submit"]') @@ -263,7 +263,7 @@ describe('textarea', () => { it('should read CRLF line breaks', () => { utils.test({ - actionBeforeSubmit: (cy: any) => { + querySubmitter: (cy: any) => { cy.get('[name="hello"]') .type('Hi\r\nHello', { parseSpecialCharSequences: false }) return cy.get('[type="submit"]') @@ -309,7 +309,7 @@ describe('textarea', () => { it('should get both values', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const before = utils.makeSearchParams(getFormValues(form, { submitter })) .toString(); @@ -331,7 +331,7 @@ describe('textarea', () => { hello: ['new value 1', 'another value 2'], }) }, - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const before = utils.makeSearchParams(getFormValues(form, { submitter })) .toString(); diff --git a/cypress/integration/time.test.ts b/cypress/integration/time.test.ts index fa3fd69..7273516 100644 --- a/cypress/integration/time.test.ts +++ b/cypress/integration/time.test.ts @@ -24,7 +24,7 @@ describe('time', () => { it('should have single form value', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const before = utils.makeSearchParams(getFormValues(form, { submitter })) .toString(); @@ -65,7 +65,7 @@ describe('time', () => { it('should have blank form value', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const before = utils.makeSearchParams(getFormValues(form, { submitter })) .toString(); @@ -101,7 +101,7 @@ describe('time', () => { it('should have single form value', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const before = utils.makeSearchParams(getFormValues(form, { submitter })) .toString(); @@ -142,7 +142,7 @@ describe('time', () => { it('should have single form value', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const before = utils.makeSearchParams(getFormValues(form, { submitter })) .toString(); @@ -180,7 +180,7 @@ describe('time', () => { it('should have form values set', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onLoaded: (form: HTMLFormElement) => { setFormValues(form, { hello: '13:37', }) }, @@ -225,7 +225,7 @@ describe('time', () => { it('should get both values', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const before = utils.makeSearchParams(getFormValues(form, { submitter })) .toString(); @@ -247,7 +247,7 @@ describe('time', () => { hello: ['04:20', '05:30'], }) }, - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const before = utils.makeSearchParams(getFormValues(form, { submitter })) .toString(); diff --git a/cypress/integration/url.test.ts b/cypress/integration/url.test.ts index 21c2c15..9baacd8 100644 --- a/cypress/integration/url.test.ts +++ b/cypress/integration/url.test.ts @@ -24,7 +24,7 @@ describe('url', () => { it('should have single form value', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const before = utils.makeSearchParams(getFormValues(form, { submitter })) .toString(); @@ -65,7 +65,7 @@ describe('url', () => { it('should have blank form value', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const before = utils.makeSearchParams(getFormValues(form, { submitter })) .toString(); @@ -101,7 +101,7 @@ describe('url', () => { it('should have single form value', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const before = utils.makeSearchParams(getFormValues(form, { submitter })) .toString(); @@ -142,7 +142,7 @@ describe('url', () => { it('should have single form value', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const before = utils.makeSearchParams(getFormValues(form, { submitter })) .toString(); @@ -180,7 +180,7 @@ describe('url', () => { it('should have form values set', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onLoaded: (form: HTMLFormElement) => { setFormValues(form, { hello: 'https://www.example.com', }) }, @@ -225,7 +225,7 @@ describe('url', () => { it('should get both values', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const before = utils.makeSearchParams(getFormValues(form, { submitter })) .toString(); @@ -247,7 +247,7 @@ describe('url', () => { hello: ['https://foo.example.com', 'https://bar.example.com/context'], }) }, - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const before = utils.makeSearchParams(getFormValues(form, { submitter })) .toString(); diff --git a/cypress/integration/week.test.ts b/cypress/integration/week.test.ts index 12ccaf7..3452767 100644 --- a/cypress/integration/week.test.ts +++ b/cypress/integration/week.test.ts @@ -24,7 +24,7 @@ describe('week', () => { it('should have single form value', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const before = utils.makeSearchParams(getFormValues(form, { submitter })) .toString(); @@ -65,7 +65,7 @@ describe('week', () => { it('should have blank form value', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const before = utils.makeSearchParams(getFormValues(form, { submitter })) .toString(); @@ -101,7 +101,7 @@ describe('week', () => { it('should have single form value', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const before = utils.makeSearchParams(getFormValues(form, { submitter })) .toString(); @@ -142,7 +142,7 @@ describe('week', () => { it('should have single form value', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const before = utils.makeSearchParams(getFormValues(form, { submitter })) .toString(); @@ -180,7 +180,7 @@ describe('week', () => { it('should have form values set', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onLoaded: (form: HTMLFormElement) => { setFormValues(form, { hello: '2003-W25', }) }, @@ -225,7 +225,7 @@ describe('week', () => { it('should get both values', () => { utils.test({ - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const before = utils.makeSearchParams(getFormValues(form, { submitter })) .toString(); @@ -247,7 +247,7 @@ describe('week', () => { hello: ['2003-W40', '2003-W50'], }) }, - actionBeforeSubmit: (cy: any) => cy.get('[type="submit"]'), + querySubmitter: (cy: any) => cy.get('[type="submit"]'), onSubmitted: (form: HTMLFormElement, submitter: any, search: any) => { const before = utils.makeSearchParams(getFormValues(form, { submitter })) .toString(); diff --git a/cypress/utils/index.ts b/cypress/utils/index.ts index 24f726f..8603000 100644 --- a/cypress/utils/index.ts +++ b/cypress/utils/index.ts @@ -8,7 +8,7 @@ type RetrieveSubmitterFn = (wrapper: typeof cy | JSDOMDummyCypress) => any type HTMLSubmitterElement = HTMLButtonElement | HTMLInputElement -type TestFn = (form: HTMLFormElement, submitter: HTMLSubmitterElement, after: ExpectedSearchValue) => unknown +type TestFn = (form: HTMLFormElement, submitter?: HTMLSubmitterElement, after?: ExpectedSearchValue) => unknown export const setup = (template: string) => { if (typeof cy !== 'undefined') { @@ -26,18 +26,20 @@ export const setup = (template: string) => { } type TestOptions = { - actionBeforeSubmit: RetrieveSubmitterFn, - onSubmitted: TestFn, + querySubmitter: RetrieveSubmitterFn, + onSubmitted?: TestFn, expectedStaticValue?: ExpectedSearchValue, - onLoaded?: Function, + onLoaded?: TestFn, + onBeforeSubmit?: RetrieveSubmitterFn, } export const test = (options: TestOptions) => { const { - actionBeforeSubmit: retrieveSubmitterFn, - onSubmitted: testFn, + querySubmitter, + onSubmitted, expectedStaticValue, onLoaded, + onBeforeSubmit, } = options; let form: HTMLFormElement let submitter: HTMLButtonElement | HTMLInputElement @@ -49,15 +51,13 @@ export const test = (options: TestOptions) => { .then((formResult: any) => { [form] = Array.from(formResult); - if (typeof onLoaded === 'function') { - onLoaded(form); - } + onLoaded?.(form); }) - r = retrieveSubmitterFn(cy) - .then((submitterQueryEl: any) => { - [submitter] = Array.from(submitterQueryEl as any[]) - }) + onBeforeSubmit?.(cy); + r = querySubmitter(cy).then((submitterQueryEl: any) => { + [submitter] = Array.from(submitterQueryEl as any[]) + }) if (typeof expectedStaticValue !== 'undefined') { r.click() @@ -66,7 +66,7 @@ export const test = (options: TestOptions) => { .location('search') .then((search: any) => { setTimeout(() => { - testFn(form, submitter, search) + onSubmitted?.(form, submitter, search) }, 0) }) } else { @@ -74,21 +74,20 @@ export const test = (options: TestOptions) => { .location('search') .then((search: any) => { setTimeout(() => { - testFn(form, submitter, search) + onSubmitted?.(form, submitter, search) }, 0); }) } } else { - r = retrieveSubmitterFn(new JSDOMDummyCypress()) + const jsdomCy = new JSDOMDummyCypress() + onBeforeSubmit?.(jsdomCy); + r = querySubmitter(jsdomCy) .then((submitterQueryEl: any) => { [submitter] = Array.from(submitterQueryEl as any[]); [form] = Array.from(window.document.getElementsByTagName('form')) - if (typeof onLoaded === 'function') { - onLoaded(form); - } - - testFn(form, submitter, expectedStaticValue) + onLoaded?.(form); + onSubmitted?.(form, submitter, expectedStaticValue) }) if (typeof expectedStaticValue !== 'undefined') { diff --git a/package.json b/package.json index 2743680..80a2b85 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@theoryofnekomata/formxtra", - "version": "1.0.3", + "version": "1.0.4", "files": [ "dist", "src" diff --git a/src/index.ts b/src/index.ts index fc28bcf..9c2b8de 100644 --- a/src/index.ts +++ b/src/index.ts @@ -102,12 +102,10 @@ const setTextAreaFieldValue = ( elementsOfSameName: HTMLTextAreaElement[], ) => { if (Array.isArray(value) && elementsOfSameName.length > 1) { - // eslint-disable-next-line no-param-reassign textareaEl.value = value[nthOfName]; return; } - // eslint-disable-next-line no-param-reassign textareaEl.value = value as string; }; @@ -146,7 +144,6 @@ const setSelectFieldValue = ( // If this happens, all values must correspond to a