UNPKG

ember-test-waiters

Version:

The default blueprint for ember-cli addons.

118 lines (111 loc) 3.36 kB
const QUnit = require('qunit'); const VersionChecker = require('ember-cli-version-checker'); const highlander = require('../force-highlander-addon'); const test = QUnit.test; const STABLE_FUNCTION_REF = () => {}; QUnit.module('force-highlander-addon', function(hooks) { hooks.beforeEach(function() { this.project = { name: 'ember-top-level-package', pkg: { version: '1.0.0' }, isEmberCLIProject() {}, _addonsInitialized: true, addons: [ { name: 'baz', pkg: { version: '1.0.3' }, addons: [ { name: 'ember-test-waiters', pkg: { version: '1.1.0' }, addons: [ { name: 'foo', version: '1.0.0', addons: [], }, ], treeFor: STABLE_FUNCTION_REF, included: STABLE_FUNCTION_REF, }, ], treeFor: STABLE_FUNCTION_REF, included: STABLE_FUNCTION_REF, }, { name: 'ember-test-waiters', pkg: { version: '1.0.3' }, addons: [ { name: 'blarg', pkg: { version: '1.1.0' }, addons: [ { name: 'foo', version: '1.0.0', addons: [], }, ], treeFor: STABLE_FUNCTION_REF, included: STABLE_FUNCTION_REF, }, ], treeFor: STABLE_FUNCTION_REF, included: STABLE_FUNCTION_REF, }, { name: 'foo', pkg: { version: '1.0.0' }, addons: [ { name: 'ember-test-waiters', pkg: { version: '2.0.0' }, addons: [ { name: 'foo', pkg: { version: '1.0.0' }, addons: [], }, ], treeFor: STABLE_FUNCTION_REF, included: STABLE_FUNCTION_REF, }, ], }, { name: 'bar', pkg: { version: '1.0.0' }, addons: [ { name: 'ember-test-waiters', pkg: { version: '3.0.1' }, addons: [ { name: 'foo', pkg: { version: '1.0.0' }, addons: [], }, ], treeFor: STABLE_FUNCTION_REF, included: STABLE_FUNCTION_REF, }, ], }, ], }; }); test('findLatestVersion can find the latest version from the set', function(assert) { let checker = VersionChecker.forProject(this.project); let addons = checker.filterAddonsByName('ember-test-waiters'); let latestVersion = highlander.findLatestVersion(addons); assert.equal(latestVersion.pkg.version, '3.0.1'); }); test('forceHighlander nullifies non-latest version addon methods', function(assert) { let testWaiterAddons = highlander.forceHighlander(this.project); assert.equal(testWaiterAddons.length, 3); testWaiterAddons.forEach(addon => { assert.notEqual(addon.treeFor, STABLE_FUNCTION_REF); assert.notEqual(addon.included, STABLE_FUNCTION_REF); }); }); });