loader-test.js 3.49 KB
Newer Older
Ketan's avatar
Ketan committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93
/**
 * 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);
};