PHP Classes

File: modules/system/tests/js/cases/framework/FormParent.test.js

Recommend this page to a friend!
  Packages of Luke Towers   Winter   modules/system/tests/js/cases/framework/FormParent.test.js   Download  
File: modules/system/tests/js/cases/framework/FormParent.test.js
Role: Auxiliary data
Content type: text/plain
Description: Auxiliary data
Class: Winter
Content management system that uses MVC
Author: By
Last change:
Date: 7 months ago
Size: 3,080 bytes
 

Contents

Class file image Download
import FakeDom from '../../helpers/FakeDom'; jest.setTimeout(2000); describe('Original AJAX Framework library', function () { it('can get data from the current form and a series of parent forms', function (done) { FakeDom .new() .addScript([ 'modules/backend/assets/js/vendor/jquery.min.js', 'modules/system/assets/js/framework.js', ]) .render( '<form name="grandParentForm" id="grandParentForm" data-request-data="formOne: \'valueOne\'>' + '<input name="fieldOne" value="valueOne" type="text">' + '<input name="fieldFive" value="valueFive" type="text">' + '<input name="multiField[]" value="multiOne" type="text">' + '</form>' + '<form name="parentForm" id="parentForm" data-request-parent="#grandParentForm" data-request-data="formTwo: \'valueTwo\'">' + '<input name="fieldOne" value="overrideOne" type="text">' + '<input name="fieldTwo" value="valueTwo" type="text">' + '<input name="multiField[]" value="multiTwo" type="text">' + '</form>' + '<form name="childForm" id="childForm" data-request-parent="#parentForm" data-request="onTest" data-request-data="formThree: \'valueThree\'">' + '<input name="fieldOne" value="overrideTwo" type="text">' + '<input name="fieldThree" value="valueThree" type="text">' + '<input name="fieldFour" value="valueFour" type="text">' + '<input name="multiField[]" value="multiThree" type="text">' + '<input name="multiFieldTwo[]" value="multiOne" type="text">' + '<input name="multiFieldTwo[]" value="multiTwo" type="text">' + '</form>' ) .then( (dom) => { const parentDataSpy = jest.spyOn(dom.window.jQuery.fn, 'getRequestParentData'); jest.spyOn(dom.window, 'alert').mockImplementation(() => {}); jest.spyOn(dom.window.jQuery, 'ajax').mockImplementation(() => { expect(parentDataSpy.mock.results[0].value).toMatchObject({ 'formOne': 'valueOne', 'fieldOne': 'overrideTwo', 'fieldFive': 'valueFive', 'formTwo': 'valueTwo', 'fieldTwo': 'valueTwo', 'fieldThree': 'valueThree', 'fieldFour': 'valueFour', 'multiField[]': 'multiThree', 'multiFieldTwo[]': ['multiOne', 'multiTwo'], }); done(); return dom.window.jQuery.Deferred(); }); dom.window.jQuery('#childForm').trigger('submit'); } ); }); });