github.com/anth0d/nomad@v0.0.0-20221214183521-ae3a0a2cad06/ui/tests/integration/components/task-sub-row-test.js (about) 1 import { module, test } from 'qunit'; 2 import { setupRenderingTest } from 'ember-qunit'; 3 import { render } from '@ember/test-helpers'; 4 import { hbs } from 'ember-cli-htmlbars'; 5 import { componentA11yAudit } from 'nomad-ui/tests/helpers/a11y-audit'; 6 7 const mockTask = { 8 name: 'another-server', 9 state: 'running', 10 startedAt: '2022-09-14T17:19:12.351Z', 11 finishedAt: null, 12 failed: false, 13 resources: null, 14 events: [ 15 { 16 Type: 'Received', 17 Signal: 0, 18 ExitCode: 0, 19 Time: '2022-09-14T17:19:11.919Z', 20 TimeNanos: 156992, 21 DisplayMessage: 'Task received by client', 22 }, 23 { 24 Type: 'Task Setup', 25 Signal: 0, 26 ExitCode: 0, 27 Time: '2022-09-14T17:19:11.920Z', 28 TimeNanos: 793088, 29 DisplayMessage: 'Building Task Directory', 30 }, 31 { 32 Type: 'Started', 33 Signal: 0, 34 ExitCode: 0, 35 Time: '2022-09-14T17:19:12.351Z', 36 TimeNanos: 258112, 37 DisplayMessage: 'Task started by client', 38 }, 39 { 40 Type: 'Alloc Unhealthy', 41 Signal: 0, 42 ExitCode: 0, 43 Time: '2022-09-14T17:24:11.919Z', 44 TimeNanos: 589120, 45 DisplayMessage: 46 'Task not running for min_healthy_time of 10s by healthy_deadline of 5m0s', 47 }, 48 ], 49 }; 50 51 module('Integration | Component | task-sub-row', function (hooks) { 52 setupRenderingTest(hooks); 53 test('it renders', async function (assert) { 54 assert.expect(6); 55 this.set('task', mockTask); 56 await render(hbs`<TaskSubRow @taskState={{this.task}} />`); 57 assert.ok( 58 this.element.textContent.includes(`${mockTask.name}`), 59 'Task name is rendered' 60 ); 61 assert.dom('.task-sub-row').doesNotHaveClass('is-active'); 62 63 await render(hbs`<TaskSubRow @taskState={{this.task}} @active={{true}} />`); 64 assert.dom('.task-sub-row').hasClass('is-active'); 65 66 await render( 67 hbs`<TaskSubRow @taskState={{this.task}} @active={{true}} @namespan={{5}} />` 68 ); 69 assert.dom('.task-sub-row td:nth-child(1)').hasAttribute('colspan', '5'); 70 71 await render( 72 hbs`<TaskSubRow @taskState={{this.task}} @active={{true}} @namespan={{9}} />` 73 ); 74 assert.dom('.task-sub-row td:nth-child(1)').hasAttribute('colspan', '9'); 75 76 await componentA11yAudit(this.element, assert); 77 }); 78 });