github.com/hernad/nomad@v1.6.112/ui/tests/integration/components/page-layout-test.js (about) 1 /** 2 * Copyright (c) HashiCorp, Inc. 3 * SPDX-License-Identifier: MPL-2.0 4 */ 5 6 import { module, test } from 'qunit'; 7 import { setupRenderingTest } from 'ember-qunit'; 8 import { find, click, render } from '@ember/test-helpers'; 9 import hbs from 'htmlbars-inline-precompile'; 10 import { startMirage } from 'nomad-ui/initializers/ember-cli-mirage'; 11 import { componentA11yAudit } from 'nomad-ui/tests/helpers/a11y-audit'; 12 13 module('Integration | Component | page layout', function (hooks) { 14 setupRenderingTest(hooks); 15 16 hooks.beforeEach(function () { 17 this.server = startMirage(); 18 }); 19 20 hooks.afterEach(function () { 21 this.server.shutdown(); 22 }); 23 24 test('the global-header hamburger menu opens the gutter menu', async function (assert) { 25 assert.expect(3); 26 27 await render(hbs`<PageLayout />`); 28 29 assert.notOk( 30 find('[data-test-gutter-menu]').classList.contains('is-open'), 31 'Gutter menu is not open' 32 ); 33 await click('[data-test-header-gutter-toggle]'); 34 35 assert.ok( 36 find('[data-test-gutter-menu]').classList.contains('is-open'), 37 'Gutter menu is open' 38 ); 39 await componentA11yAudit(this.element, assert); 40 }); 41 42 test('the gutter-menu hamburger menu closes the gutter menu', async function (assert) { 43 await render(hbs`<PageLayout />`); 44 45 await click('[data-test-header-gutter-toggle]'); 46 47 assert.ok( 48 find('[data-test-gutter-menu]').classList.contains('is-open'), 49 'Gutter menu is open' 50 ); 51 await click('[data-test-gutter-gutter-toggle]'); 52 53 assert.notOk( 54 find('[data-test-gutter-menu]').classList.contains('is-open'), 55 'Gutter menu is not open' 56 ); 57 }); 58 59 test('the gutter-menu backdrop closes the gutter menu', async function (assert) { 60 await render(hbs`<PageLayout />`); 61 62 await click('[data-test-header-gutter-toggle]'); 63 64 assert.ok( 65 find('[data-test-gutter-menu]').classList.contains('is-open'), 66 'Gutter menu is open' 67 ); 68 await click('[data-test-gutter-backdrop]'); 69 70 assert.notOk( 71 find('[data-test-gutter-menu]').classList.contains('is-open'), 72 'Gutter menu is not open' 73 ); 74 }); 75 });