From 821bdaaba4923fa4e6fdc4749ea5c625dcfd0fe0 Mon Sep 17 00:00:00 2001
From: Carlos Lizaga <carlos.lizaga@pronovias.com>
Date: Wed, 22 Nov 2017 17:50:00 +0100
Subject: [PATCH] Added accordion.test.js for Jasmine testing. Removed
 accordion.js and index.html for jsTestDriver test.

---
 .../testsuite/mage/accordion/accordion.js     | 57 -------------
 .../testsuite/mage/accordion/index.html       | 31 -------
 .../jasmine/tests/lib/mage/accordion.test.js  | 81 +++++++++++++++++++
 3 files changed, 81 insertions(+), 88 deletions(-)
 delete mode 100644 dev/tests/js/JsTestDriver/testsuite/mage/accordion/accordion.js
 delete mode 100644 dev/tests/js/JsTestDriver/testsuite/mage/accordion/index.html
 create mode 100644 dev/tests/js/jasmine/tests/lib/mage/accordion.test.js

diff --git a/dev/tests/js/JsTestDriver/testsuite/mage/accordion/accordion.js b/dev/tests/js/JsTestDriver/testsuite/mage/accordion/accordion.js
deleted file mode 100644
index 562c5c096b6..00000000000
--- a/dev/tests/js/JsTestDriver/testsuite/mage/accordion/accordion.js
+++ /dev/null
@@ -1,57 +0,0 @@
-/**
- * @category    mage.js
- * @package     test
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
-
-/*
-
- */
-test( "Initialization", function() {
-    expect(2);
-    var accordion = $("<div></div>");
-    accordion.accordion();
-    ok( accordion.is(':mage-accordion'), "widget instantiated" );
-    accordion.accordion('destroy');
-    ok( !accordion.is(':mage-accordion'), "widget destroyed" );
-});
-
-
-
-test( "One-collapsible element", function() {
-    expect(4);
-    var accordion = $('<div></div>');
-    var title1 = $('<div data-role="collapsible"></div>').appendTo(accordion);
-    var content1 = $('<div data-role="content"></div>').appendTo(accordion);
-    var title2 = $('<div data-role="collapsible"></div>').appendTo(accordion);
-    var content2 = $('<div data-role="content"></div>').appendTo(accordion);
-    accordion.appendTo("body");
-
-    accordion.accordion();
-    ok( content1.is(':visible'), "content visible" );
-    ok( content2.is(':hidden'), "content hidden" );
-    title2.trigger('click');
-    ok( content1.is(':hidden'), "content hidden" );
-    ok( content2.is(':visible'), "content visible" );
-    accordion.accordion('destroy');
-
-});
-
-test( "Multi-collapsible elements", function() {
-    expect(4);
-    var accordion = $('<div></div>');
-    var title1 = $('<div data-role="collapsible"></div>').appendTo(accordion);
-    var content1 = $('<div data-role="content"></div>').appendTo(accordion);
-    var title2 = $('<div data-role="collapsible"></div>').appendTo(accordion);
-    var content2 = $('<div data-role="content"></div>').appendTo(accordion);
-    accordion.appendTo("body");
-
-    accordion.accordion({multipleCollapsible:true});
-    ok( content1.is(':visible'), "content visible" );
-    ok( content2.is(':hidden'), "content hidden" );
-    title2.trigger('click');
-    ok( content1.is(':visible'), "content visible" );
-    ok( content2.is(':visible'), "content visible" );
-    accordion.accordion('destroy');
-});
diff --git a/dev/tests/js/JsTestDriver/testsuite/mage/accordion/index.html b/dev/tests/js/JsTestDriver/testsuite/mage/accordion/index.html
deleted file mode 100644
index 093284c6f4f..00000000000
--- a/dev/tests/js/JsTestDriver/testsuite/mage/accordion/index.html
+++ /dev/null
@@ -1,31 +0,0 @@
-<!--
-/**
- * @category    mage.accordion
- * @package     test
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
--->
-
-<!DOCTYPE html>
-<html>
-<head>
-    <meta charset="utf-8">
-    <title>Accordion Widget: QUnit Tests </title>
-    <base href="../../../"/>
-    <link type="text/css" rel="stylesheet" href="framework/qunit/qunit-1.14.0.css"/>
-    <script type="text/javascript" src="../../../pub/lib/jquery.js"></script>
-    <script type="text/javascript" src="../../../pub/lib/jquery/jquery-ui.js"></script>
-    <script type="text/javascript" src="framework/qunit/qunit-1.14.0.js"></script>
-    <script type="text/javascript" src="../../../pub/lib/mage/mage.js"></script>
-    <script type="text/javascript" src="../../../pub/lib/mage/tabs.js"></script>
-    <script type="text/javascript" src="../../../pub/lib/mage/accordion.js"></script>
-    <script type="text/javascript" src="../../../pub/lib/mage/collapsible.js"></script>
-    <script type="text/javascript" src="testsuite/mage/accordion/accordion.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/accordion.test.js b/dev/tests/js/jasmine/tests/lib/mage/accordion.test.js
new file mode 100644
index 00000000000..a3536794634
--- /dev/null
+++ b/dev/tests/js/jasmine/tests/lib/mage/accordion.test.js
@@ -0,0 +1,81 @@
+/**
+ * Copyright © Magento, Inc. All rights reserved.
+ * See COPYING.txt for license details.
+ */
+define([
+    'jquery',
+    'mage/accordion'
+], function ($) {
+    'use strict';
+
+    describe('Test for mage/accordion jQuery plugin', function () {
+        it('check if accordion can be initialized', function () {
+            var accordion = $("<div/>");
+
+            accordion.accordion();
+            expect(accordion.is(':mage-accordion')).toBeTruthy();
+
+            accordion.accordion('destroy');
+            expect(accordion.is(':mage-accordion')).toBeFalsy();
+        });
+        it('check one-collapsible element accordion', function () {
+            var accordion = $('<div/>'),
+                title1 = $('<div data-role="collapsible"></div>').appendTo(accordion),
+                content1 = $('<div data-role="content"></div>').appendTo(accordion),
+                title2 = $('<div data-role="collapsible"></div>').appendTo(accordion),
+                content2 = $('<div data-role="content"></div>').appendTo(accordion);
+
+            accordion.appendTo("body");
+
+            accordion.accordion();
+
+            expect(accordion.is(':mage-accordion')).toBeTruthy();
+
+            expect(content1.is(':visible')).toBeTruthy();
+            expect(content2.is(':hidden')).toBeTruthy();
+
+            title2.trigger('click');
+
+            expect(content1.is(':hidden')).toBeTruthy();
+            expect(content2.is(':visible')).toBeTruthy();
+
+            title1.trigger('click');
+
+            expect(content1.is(':visible')).toBeTruthy();
+            expect(content2.is(':hidden')).toBeTruthy();
+
+            accordion.accordion('destroy');
+
+            expect(accordion.is(':mage-accordion')).toBeFalsy();
+        });
+        it('check multi-collapsible element accordion', function () {
+            var accordion = $('<div/>');
+
+            $('<div data-role="collapsible"></div>').appendTo(accordion);
+
+            var content1 = $('<div data-role="content"></div>').appendTo(accordion),
+                title2 = $('<div data-role="collapsible"></div>').appendTo(accordion),
+                content2 = $('<div data-role="content"></div>').appendTo(accordion);
+
+            accordion.appendTo("body");
+
+            accordion.accordion({
+                multipleCollapsible: true
+            });
+
+            expect(accordion.is(':mage-accordion')).toBeTruthy();
+
+            expect(content1.is(':visible')).toBeTruthy();
+            expect(content2.is(':hidden')).toBeTruthy();
+
+            title2.trigger('click');
+
+            expect(content1.is(':visible')).toBeTruthy();
+            expect(content2.is(':visible')).toBeTruthy();
+
+            accordion.accordion('destroy');
+
+            expect(accordion.is(':mage-accordion')).toBeFalsy();
+        });
+    });
+});
-- 
GitLab