![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/dev/tests/js/jasmine/tests/app/code/Magento/Ui/base/js/form/ |
/** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ define([ 'underscore', 'uiRegistry', 'Magento_Ui/js/form/client', 'jquery', 'mageUtils' ], function (_, registry, Constr, $, utils) { 'use strict'; describe('Magento_Ui/js/form/client', function () { var obj = new Constr({ provider: 'provName', name: '', index: '' }), jQueryMethods = {}, originaljQueryAjax; window.FORM_KEY = 'magentoFormKey'; registry.set('provName', { /** Stub */ on: function () { }, /** Stub */ get: function () { }, /** Stub */ set: function () { } }); beforeEach(function () { originaljQueryAjax = $.ajax; }); afterEach(function () { _.each(jQueryMethods, function (value, key) { $.fn[key] = value; }); $.ajax = originaljQueryAjax; }); describe('"save" method', function () { it('Check for defined ', function () { expect(obj.hasOwnProperty('save')).toBeDefined(); }); it('Check method type', function () { var type = typeof obj.save; expect(type).toEqual('function'); }); it('Check returned value if method called without arguments', function () { obj.urls = {}; obj.urls.beforeSave = {}; expect(obj.save()).toBeDefined(); }); it('Check returned value type if method called without arguments', function () { var type = typeof obj.save(); expect(type).toEqual('object'); }); it('Check "beforeSave" method. ' + 'Check calls "filterFormData", "serialize" and "ajax" inside themselves.', function () { var data = { key: { anotherKey: 'value' }, anotherKey: [] }, params; obj.urls.beforeSave = 'requestPath'; obj.selectorPrefix = 'selectorPrefix'; obj.messagesClass = 'messagesClass'; params = { url: obj.urls.beforeSave, data: _.extend(data, { 'form_key': 'magentoFormKey' }), success: jasmine.any(Function), complete: jasmine.any(Function) }; utils.filterFormData = jasmine.createSpy().and.returnValue(data); utils.serialize = jasmine.createSpy().and.returnValue(data); $.ajax = jasmine.createSpy(); obj.save(data); expect(utils.filterFormData).toHaveBeenCalledWith(data); expect(utils.serialize).toHaveBeenCalledWith(data); expect($.ajax).toHaveBeenCalledWith(params); }); it('Check call "beforeSave" method without parameters', function () { $.ajax = jasmine.createSpy(); utils.submit = jasmine.createSpy(); obj.urls.beforeSave = null; obj.save(); expect($.ajax).not.toHaveBeenCalled(); }); it('Check call "beforeSave" method. Check "success" ajax callback with success response.', function () { var request; $.ajax = jasmine.createSpy().and.callFake(function (req) { request = req.success; }); utils.submit = jasmine.createSpy(); jQueryMethods.notification = $.fn.notification; $.fn.notification = jasmine.createSpy(); obj.urls.beforeSave = 'requestPath'; obj.save(); expect(request({ error: false })).toBe(true); expect($('body').notification).not.toHaveBeenCalledWith('clear'); }); it('Check call "beforeSave" method. Check "success" ajax callback with error response.', function () { var request, notificationArguments; $.ajax = jasmine.createSpy().and.callFake(function (req) { request = req.success; }); jQueryMethods.notification = $.fn.notification; $.fn.notification = jasmine.createSpy(); obj.urls.beforeSave = 'requestPath'; obj.save(); notificationArguments = { error: true, message: 1, insertMethod: jasmine.any(Function) }; expect(request({ error: true, messages: [1] })).toBeUndefined(); expect($('body').notification.calls.allArgs()).toEqual([['clear'], ['add', notificationArguments]]); }); it('Check call "beforeSave" method. Check "complete" ajax callback.', function () { var request; $.ajax = jasmine.createSpy().and.callFake(function (req) { request = req.complete; }); jQueryMethods.trigger = $.fn.trigger; $.fn.trigger = jasmine.createSpy(); obj.urls.beforeSave = 'requestPath'; obj.save(); expect(request()).toBeUndefined(); expect($('body').trigger).toHaveBeenCalledWith('processStop'); }); }); describe('"initialize" method', function () { it('Check for defined ', function () { expect(obj.hasOwnProperty('initialize')).toBeDefined(); }); it('Check method type', function () { var type = typeof obj.initialize; expect(type).toEqual('function'); }); it('Check returned value if method called without arguments', function () { expect(obj.initialize()).toBeDefined(); }); it('Check returned value type if method called without arguments', function () { var type = typeof obj.initialize(); expect(type).toEqual('object'); }); }); }); });