|
- import getFormValues from '../../src'
- import * as utils from '../../test/utils';
-
- describe('single input template', () => {
- beforeEach(utils.setup('single-input'))
-
- it('should have single form value', () => {
- utils.test(
- (cy: any) => cy.get('[type="submit"]'),
- (form: HTMLFormElement, submitter: any, search: any) => {
- const before = utils.makeSearchParams(getFormValues(form, {submitter})).toString();
- const after = utils.makeSearchParams(search).toString();
- expect(before).toEqual(after);
- },
- {
- hello: 'Hi',
- }
- );
- });
- })
-
- describe('single outside input template', () => {
- beforeEach(utils.setup('single-outside-input'))
-
- it('should have single form value', () => {
- utils.test(
- (cy: any) => cy.get('[type="submit"]'),
- (form: HTMLFormElement, submitter: any, search: any) => {
- const before = utils.makeSearchParams(getFormValues(form, {submitter})).toString();
- const after = utils.makeSearchParams(search).toString();
- expect(before).toEqual(after);
- },
- {
- hello: 'Hi',
- }
- );
- });
- })
-
- describe('single outside input and submitter template', () => {
- beforeEach(utils.setup('single-outside-input-and-submitter'))
-
- it('should have single form value', () => {
- utils.test(
- (cy: any) => cy.get('[type="submit"]'),
- (form: HTMLFormElement, submitter: any, search: any) => {
- const before = utils.makeSearchParams(getFormValues(form, {submitter})).toString();
- const after = utils.makeSearchParams(search).toString();
- expect(before).toEqual(after);
- },
- {
- hello: 'Hi',
- }
- );
- });
- })
-
- describe('single readonly template', () => {
- beforeEach(utils.setup('single-readonly-input'))
-
- it('should have single form value', () => {
- utils.test(
- (cy: any) => cy.get('[type="submit"]'),
- (form: HTMLFormElement, submitter: any, search: any) => {
- const before = utils.makeSearchParams(getFormValues(form, {submitter})).toString();
- const after = utils.makeSearchParams(search).toString();
- expect(before).toEqual(after);
- },
- {
- hello: 'Hi',
- }
- );
- });
- })
-
- describe('single disabled template', () => {
- beforeEach(utils.setup('single-disabled-input'))
-
- it('should have blank form value', () => {
- utils.test(
- (cy: any) => cy.get('[type="submit"]'),
- (form: HTMLFormElement, submitter: any, search: any) => {
- const before = utils.makeSearchParams(getFormValues(form, {submitter})).toString();
- const after = utils.makeSearchParams(search).toString();
- expect(before).toEqual(after);
- },
- {}
- );
- });
- })
-
- describe('single input with double button submitters template', () => {
- beforeEach(utils.setup('single-input-with-double-button-submitters'))
-
- it('should have double form values', () => {
- utils.test(
- (cy: any) => cy.get('[name="action"][value="Foo"]'),
- (form: HTMLFormElement, submitter: any, search: any) => {
- const before = utils.makeSearchParams(getFormValues(form, {submitter})).toString();
- const after = utils.makeSearchParams(search).toString();
- expect(before).toEqual(after);
- },
- {
- hello: 'Hi',
- action: 'Foo',
- }
- );
- });
- })
-
- describe('single input with double input submitters template', () => {
- beforeEach(utils.setup('single-input-with-double-input-submitters'))
-
- it('should have double form values', () => {
- utils.test(
- (cy: any) => cy.get('[name="action"][value="Bar"]'),
- (form: HTMLFormElement, submitter: any, search: any) => {
- const before = utils.makeSearchParams(getFormValues(form, {submitter})).toString();
- const after = utils.makeSearchParams(search).toString();
- expect(before).toEqual(after);
- },
- {
- hello: 'Hi',
- action: 'Bar',
- }
- );
- });
- })
-
- describe('single select template', () => {
- beforeEach(utils.setup('single-select'))
-
- it('should have single form value', () => {
- utils.test(
- (cy: any) => cy.get('[type="submit"]'),
- (form: HTMLFormElement, submitter: any, search: any) => {
- const before = utils.makeSearchParams(getFormValues(form, {submitter})).toString();
- const after = utils.makeSearchParams(search).toString();
- expect(before).toEqual(after);
- },
- {
- hello: 'Baz',
- }
- );
- });
- })
-
- describe('single multiple select template', () => {
- beforeEach(utils.setup('single-multiple-select'))
-
- it('should have single form value', () => {
- utils.test(
- (cy: any) => cy.get('[type="submit"]'),
- (form: HTMLFormElement, submitter: any, search: any) => {
- const before = utils.makeSearchParams(getFormValues(form, {submitter})).toString();
- const after = utils.makeSearchParams(search).toString();
- expect(before).toEqual(after);
- },
- {
- hello: 'Bar,Quux',
- }
- );
- });
- })
-
- describe('single file input template', () => {
- beforeEach(utils.setup('single-file-input'))
-
- it('should have no form values when no file is selected', () => {
- utils.test(
- (cy: any) => cy.get('[type="submit"]'),
- (form: HTMLFormElement, submitter: any, search: any) => {
- const before = utils.makeSearchParams(getFormValues(form, {submitter})).toString();
- const after = utils.makeSearchParams(search).toString();
- expect(before).toEqual(after);
- },
- {}
- );
- })
-
- it('should have single form value when a file is selected', () => {
- utils.test(
- (cy: any) => {
- cy
- .get('[name="hello"]')
- .attachFile('uploads/data.json')
-
- return cy.get('[type="submit"]')
- },
- (form: HTMLFormElement, submitter: any, search: any) => {
- const before = utils.makeSearchParams(getFormValues(form, {submitter})).toString();
- const after = utils.makeSearchParams(search).toString();
- expect(before).toEqual(after);
- },
- {
- hello: 'data.json',
- }
- );
- })
- })
|