From c5a17220566dc39e803fd982c7a9f0cd9a3bc8d3 Mon Sep 17 00:00:00 2001 From: Oleksandr Miroshnichenko <omiroshnichenko@magento.com> Date: Wed, 20 Dec 2017 19:30:07 +0200 Subject: [PATCH] magento/magento2#12342: JSTestDriver removal - Fix loader.test.js and removed JsTestDriver equivalent. --- .../mage/loader/jquery-loader-test.js | 73 --------------- .../testsuite/mage/loader/loader-test.js | 93 ------------------- .../testsuite/mage/loader/loader.html | 25 ----- .../js/jasmine/tests/lib/mage/loader.test.js | 79 ++++++++++++++++ 4 files changed, 79 insertions(+), 191 deletions(-) delete mode 100644 dev/tests/js/JsTestDriver/testsuite/mage/loader/jquery-loader-test.js delete mode 100644 dev/tests/js/JsTestDriver/testsuite/mage/loader/loader-test.js delete mode 100644 dev/tests/js/JsTestDriver/testsuite/mage/loader/loader.html create mode 100644 dev/tests/js/jasmine/tests/lib/mage/loader.test.js diff --git a/dev/tests/js/JsTestDriver/testsuite/mage/loader/jquery-loader-test.js b/dev/tests/js/JsTestDriver/testsuite/mage/loader/jquery-loader-test.js deleted file mode 100644 index 174a4efc14d..00000000000 --- a/dev/tests/js/JsTestDriver/testsuite/mage/loader/jquery-loader-test.js +++ /dev/null @@ -1,73 +0,0 @@ -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ -TestCase('options', function() { - expect(3); - - var element = $('<div>'); - element.appendTo('body'); - element.loader(); - element.loader('show'); - equal( element.find('p').text(), 'Please wait...', '.loader() text matches' ); - equal( element.find('img').prop('src').split('/').pop(), 'icon.gif', '.loader() icons match' ); - equal( element.find('img').prop('alt'), 'Loading...', '.loader() image alt text matches' ); - element.loader('destroy'); - -}); - -TestCase( 'element init', function() { - expect(1); - - var element = $('<div>'); - element.appendTo('body'); - element.loader(); - element.loader('show'); - equal(element.is(':mage-loader'), true, '.loader() init on element'); - element.loader('destroy'); - -}); - -TestCase( 'body init', function() { - expect(1); - - //Initialize Loader on Body - var body = $('body').loader(); - body.loader('show'); - equal(body.is(':mage-loader'), true, '.loader() init on body'); - body.loader('destroy'); -}); - -TestCase( 'show/hide', function() { - expect(3); - - var element = $('<div>'); - element.appendTo('body'); - element.loader(); - - //Loader show - element.loader('show'); - equal($('.loading-mask').is(':visible'), true, '.loader() open'); - - //Loader hide - element.loader('hide'); - equal($('.loading-mask').is( ":hidden" ), true, '.loader() closed' ); - - //Loader hide on process complete - element.loader('show'); - element.trigger('processStop'); - equal($('.loading-mask').is('visible'), false, '.loader() closed after process'); - - element.loader('destroy'); - -}); - -TestCase( 'destroy', function() { - expect(1); - - var element = $("#loader").loader(); - element.loader('show'); - element.loader('destroy'); - equal( $('.loading-mask').is(':visible'), false, '.loader() destroyed'); - -}); diff --git a/dev/tests/js/JsTestDriver/testsuite/mage/loader/loader-test.js b/dev/tests/js/JsTestDriver/testsuite/mage/loader/loader-test.js deleted file mode 100644 index 3dd08f57ab8..00000000000 --- a/dev/tests/js/JsTestDriver/testsuite/mage/loader/loader-test.js +++ /dev/null @@ -1,93 +0,0 @@ -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ -LoaderTest = TestCase('LoaderTest'); -LoaderTest.prototype.setUp = function() { - /*:DOC += <div id="loader"></div> */ -}; -LoaderTest.prototype.tearDown = function() { - var loaderInstance = jQuery('#loader').data('loader'); - if(loaderInstance && loaderInstance.destroy) { - loaderInstance.destroy(); - } -}; -LoaderTest.prototype.getInstance = function() { - return jQuery('#loader').data('loader'); -}; -LoaderTest.prototype.testInit = function() { - var div = jQuery('#loader').loader(); - div.loader('show'); - assertEquals(true, div.is(':mage-loader')); -}; -// @TODO Need to be fixed to avoid errors on the bamboo server in context of MAGETWO-5085 ticket -/*LoaderTest.prototype._testCreateOnBeforeSend = function() { - /*:DOC += <div id="loader"></div> */ -/* var loader = jQuery('#loader').trigger('ajaxSend'); - assertEquals(true, loader.is(':mage-loader')); - loader.loader('destroy'); -};*/ -LoaderTest.prototype.testLoaderOnBody = function() { - var body = jQuery('body').loader(); - body.loader('show'); - assertEquals(true, jQuery('body div:first').is('.loading-mask')); - body.loader('destroy'); -}; -LoaderTest.prototype.testLoaderOnDOMElement = function() { - var div = jQuery('#loader').loader(), - loaderInstance = this.getInstance(); - div.loader('show'); - assertEquals(true, div.find(':first-child').is(loaderInstance.spinner)); -}; -LoaderTest.prototype.testLoaderOptions = function() { - /*:DOC += <div id="loader"></div> */ - var div = jQuery('#loader').loader({ - icon: 'icon.gif', - texts: { - loaderText: 'Loader Text', - imgAlt: 'Image Alt Text' - } - }), - loaderInstance = this.getInstance(); - div.loader('show'); - assertEquals('icon.gif', loaderInstance.spinner.find('img').attr('src')); - assertEquals('Image Alt Text', loaderInstance.spinner.find('img').attr('alt')); - assertEquals('Loader Text', loaderInstance.spinner.find('div.popup-inner').text()); - div.loader('destroy'); - div.loader({ - template:'<div id="test-template"></div>' - }); - div.loader('show'); - loaderInstance = this.getInstance(); - assertEquals(true, loaderInstance.spinner.is('#test-template')); - div.loader('destroy'); -}; -LoaderTest.prototype.testHideOnComplete = function() { - /*:DOC += <div id="loader"></div> */ - var div = jQuery('#loader').loader(); - div.loader('show'); - loaderIsVisible = jQuery('.loading-mask').is(':visible'); - div.trigger('processStop'); - assertEquals(false, jQuery('.loading-mask').is(':visible') === loaderIsVisible); -}; -LoaderTest.prototype.testRender = function() { - /*:DOC += <div id="loader" style="widht:200px; height:200px;"></div> */ - var div = jQuery('#loader').loader(); - div.loader('show'); - assertEquals(true, $('.loading-mask').is(':visible')); -}; -LoaderTest.prototype.testShowHide = function() { - /*:DOC += <div id="loader" style="widht:200px; height:200px;"></div> */ - var div = jQuery('#loader').loader(); - div.loader('show'); - assertEquals(true, $('.loading-mask').is(':visible')); - div.loader('hide'); - assertEquals(false, $('.loading-mask').is(':visible')); -}; -LoaderTest.prototype.testDestroy = function() { - /*:DOC += <div id="loader"></div> */ - var div = jQuery('#loader').loader(), - loaderExist = div.is(':mage-loader'); - div.loader('destroy'); - assertEquals(false, div.is(':mage-loader') === loaderExist); -}; diff --git a/dev/tests/js/JsTestDriver/testsuite/mage/loader/loader.html b/dev/tests/js/JsTestDriver/testsuite/mage/loader/loader.html deleted file mode 100644 index 362dec71382..00000000000 --- a/dev/tests/js/JsTestDriver/testsuite/mage/loader/loader.html +++ /dev/null @@ -1,25 +0,0 @@ -<!-- -/** - * Copyright © Magento, Inc. All rights reserved. - * See COPYING.txt for license details. - */ ---> -<!DOCTYPE html> -<html> -<head> - <title>Unit test</title> - <base href="../../../"/> - <link type="text/css" rel="stylesheet" href="framework/qunit/qunit-1.14.0.css"/> - <script src="../../../lib/web/jquery.js"></script> - <script src="../../../lib/web/jquery/jquery-ui.js"></script> - <script type="text/javascript" src="framework/qunit/qunit-1.14.0.js"></script> - <script type="text/javascript" src="../../../lib/web/mage/mage.js"></script> - <script type="text/javascript" src="../../../lib/web/mage/bootstrap.js"></script> - <script type="text/javascript" src="../../../lib/web/mage/loader.js"></script> - <script type="text/javascript" src="testsuite/mage/loader/jquery-loader-test.js"></script> -</head> -<body> - <div id="qunit"></div> - <div id="qunit-fixture"></div> -</body> -</html> diff --git a/dev/tests/js/jasmine/tests/lib/mage/loader.test.js b/dev/tests/js/jasmine/tests/lib/mage/loader.test.js new file mode 100644 index 00000000000..93dd2ee9190 --- /dev/null +++ b/dev/tests/js/jasmine/tests/lib/mage/loader.test.js @@ -0,0 +1,79 @@ +/** + * Copyright © Magento, Inc. All rights reserved. + * See COPYING.txt for license details. + */ + +/* eslint-disable max-nested-callbacks */ +define([ + 'jquery', + 'mage/loader' +], function ($) { + 'use strict'; + + describe('mage/loader', function () { + describe('Check loader', function () { + var loaderSelector = '#loader'; + + beforeEach(function () { + var $loader = $('<div id="loader"/>'); + + $('body').append($loader); + }); + + afterEach(function () { + $(loaderSelector).remove(); + $(loaderSelector).loader('destroy'); + }); + + it('Check that loader inited', function () { + var $loader = $(loaderSelector).loader({ + icon: 'icon.gif' + }); + + $loader.loader('show'); + + expect($loader.is(':mage-loader')).toBe(true); + expect($loader.find('p').text()).toBe('Please wait...'); + expect($loader.find('img').prop('src').split('/').pop()).toBe('icon.gif'); + expect($loader.find('img').prop('alt')).toBe('Loading...'); + }); + + it('Body init', function () { + var $loader = $('body').loader(); + + $loader.loader('show'); + + expect($loader.is(':mage-loader')).toBe(true); + $loader.loader('destroy'); + }); + + it('Check show/hide', function () { + var $loader = $(loaderSelector).loader(), + $loadingMask; + + $loader.loader('show'); + $loadingMask = $('.loading-mask'); + expect($loadingMask.is(':visible')).toBe(true); + + $loader.loader('hide'); + expect($loadingMask.is(':hidden')).toBe(true); + + $loader.loader('show'); + $loader.trigger('processStop'); + expect($loadingMask.is(':hidden')).toBe(true); + }); + + it('Check destroy', function () { + var $loader = $(loaderSelector).loader(), + $loadingMask; + + $loader.loader('show'); + $loadingMask = $('.loading-mask'); + expect($loadingMask.is(':visible')).toBe(true); + + $loader.loader('destroy'); + expect($loadingMask.is(':visible')).toBe(false); + }); + }); + }); +}); -- GitLab