32 lines
1.0 KiB
JavaScript
32 lines
1.0 KiB
JavaScript
|
import { module, test } from 'qunit';
|
||
|
import { setupRenderingTest } from 'ember-qunit';
|
||
|
import { render } from '@ember/test-helpers';
|
||
|
import { run } from '@ember/runloop';
|
||
|
import hbs from 'htmlbars-inline-precompile';
|
||
|
import Service from '@ember/service';
|
||
|
|
||
|
const Permissions = Service.extend({
|
||
|
globPaths: null,
|
||
|
hasNavPermission() {
|
||
|
return this.globPaths ? true : false;
|
||
|
},
|
||
|
});
|
||
|
|
||
|
module('Integration | Helper | has-permission', function(hooks) {
|
||
|
setupRenderingTest(hooks);
|
||
|
hooks.beforeEach(function() {
|
||
|
this.owner.register('service:permissions', Permissions);
|
||
|
this.permissions = this.owner.lookup('service:permissions');
|
||
|
});
|
||
|
|
||
|
test('it renders', async function(assert) {
|
||
|
await render(hbs`{{#if (has-permission)}}Yes{{else}}No{{/if}}`);
|
||
|
|
||
|
assert.equal(this.element.textContent.trim(), 'No');
|
||
|
await run(() => {
|
||
|
this.permissions.set('globPaths', { 'test/': { capabilities: ['update'] } });
|
||
|
});
|
||
|
assert.equal(this.element.textContent.trim(), 'Yes', 'the helper re-computes when globPaths changes');
|
||
|
});
|
||
|
});
|