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