From 5b105ac8e13f6d2bedc8b62f07884904e2a11046 Mon Sep 17 00:00:00 2001 From: Nicolas Coden Date: Sat, 10 Nov 2018 22:21:08 +0100 Subject: [PATCH] test: add tests to check attributes when AccordionMenu is opened/closed --- test/javascript/components/accordionMenu.js | 30 ++++++++++++++------- 1 file changed, 21 insertions(+), 9 deletions(-) diff --git a/test/javascript/components/accordionMenu.js b/test/javascript/components/accordionMenu.js index d2b57796d..d1f5a8b9e 100644 --- a/test/javascript/components/accordionMenu.js +++ b/test/javascript/components/accordionMenu.js @@ -43,18 +43,24 @@ describe('Accordion Menu', function() { plugin.options.should.be.an('object'); }); }); - + describe('up()', function() { it('closes the targeted submenu', function(done) { $html = $(template).appendTo('body'); plugin = new Foundation.AccordionMenu($html); + const $submenu = $html.find('.is-accordion-submenu').eq(0); // Open it first - plugin.down($html.find('.is-accordion-submenu').eq(0)); - - plugin.up($html.find('.is-accordion-submenu').eq(0)); + plugin.down($submenu); + + plugin.up($submenu); + setTimeout(() => { - $html.find('.is-accordion-submenu').eq(0).should.be.hidden; + // Should be hidden + $submenu.should.be.hidden; + // Should have attributes updated and without active classe + $submenu.should.have.attr('aria-hidden', 'true'); + $submenu.should.not.have.class('is-active'); done(); }, 1); }); @@ -89,9 +95,15 @@ describe('Accordion Menu', function() { it('opens the targeted submenu', function() { $html = $(template).appendTo('body'); plugin = new Foundation.AccordionMenu($html, {}); + const $submenu = $html.find('.is-accordion-submenu').eq(0); - plugin.down($html.find('.is-accordion-submenu').eq(0)); - $html.find('.is-accordion-submenu').eq(0).should.be.visible; + plugin.down($submenu); + + // Should be visible + $submenu.should.be.visible; + // Should have attributes updated and with an active classe + $submenu.should.have.attr('aria-hidden', 'false'); + $submenu.should.have.class('is-active'); }); it('toggles attributes of title of the targeted submenu', function() { @@ -108,7 +120,7 @@ describe('Accordion Menu', function() { // Open another one first plugin.down($html.find('.is-accordion-submenu').eq(0)); - + plugin.down($html.find('.is-accordion-submenu').eq(2)); $html.find('.is-accordion-submenu').eq(0).should.be.hidden; }); @@ -119,7 +131,7 @@ describe('Accordion Menu', function() { // Open another one first plugin.down($html.find('.is-accordion-submenu').eq(0)); - + plugin.down($html.find('.is-accordion-submenu').eq(2)); $html.find('.is-accordion-submenu').eq(0).should.be.visible; }); -- 2.47.2