import { module, test } from 'qunit'; import { setupRenderingTest } from 'ember-qunit'; import { render, find, findAll } from '@ember/test-helpers'; import { hbs } from 'ember-cli-htmlbars'; module('Integration | Component | bread-crumbs', function (hooks) { setupRenderingTest(hooks); test('it renders', async function (assert) { this.set('breadCrumbs', [{ label: 'Level 1' }]); await render(hbs``); // Default index route assert.ok(find('.rose-nav-breadcrumbs a').href.match(/#$/)); assert.equal(find('.rose-nav-breadcrumbs').textContent.trim(), 'Level 1'); }); test('it renders with model', async function (assert) { let store = this.owner.lookup('service:store'); let scope = store.createRecord('scope'); this.set('breadCrumbs', [ { label: 'Level 1', path: 'scopes.scope', model: scope, }, ]); await render(hbs``); assert.equal(find('.rose-nav-breadcrumbs').textContent.trim(), 'Level 1'); }); test('it renders multiple breadCrumbs', async function (assert) { this.set('breadCrumbs', [ { label: 'Level 1', }, { label: 'Level 2', }, { label: 'Level 3', }, ]); await render(hbs``); assert.equal(findAll('a').length, 3); assert.equal(findAll('a')[0].textContent.trim(), 'Level 1'); assert.equal(findAll('a')[1].textContent.trim(), 'Level 2'); assert.equal(findAll('a')[2].textContent.trim(), 'Level 3'); }); });