|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200 |
- 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',
- }
- );
- })
- })
|