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  });