github.com/ferranbt/nomad@v0.9.3-0.20190607002617-85c449b7667c/ui/tests/integration/page-layout-test.js (about)

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