diff --git a/blueprints/initializer-test/mocha-rfc-232-files/__root__/__testType__/__path__/__name__-test.js b/blueprints/initializer-test/mocha-rfc-232-files/__root__/__testType__/__path__/__name__-test.js new file mode 100644 index 00000000000..bdbadee270d --- /dev/null +++ b/blueprints/initializer-test/mocha-rfc-232-files/__root__/__testType__/__path__/__name__-test.js @@ -0,0 +1,32 @@ +import { expect } from 'chai'; +import { describe, it } from 'mocha'; +import { setupTest } from 'ember-mocha'; +import Application from '@ember/application'; +import { initialize } from '<%= modulePrefix %>/initializers/<%= dasherizedModuleName %>'; +<% if (destroyAppExists) { %>import destroyApp from '../../helpers/destroy-app';<% } else { %>import { run } from '@ember/runloop';<% } %> + +describe('<%= friendlyTestName %>', function() { + let hooks = setupTest(); + + hooks.beforeEach(function() { + this.TestApplication = Application.extend(); + this.TestApplication.initializer({ + name: 'initializer under test', + initialize + }); + + this.application = this.TestApplication.create({ autoboot: false }); + }); + + hooks.afterEach(function() { + <% if (destroyAppExists) { %>destroyApp(this.application);<% } else { %>run(this.application, 'destroy');<% } %> + }); + + // Replace this with your real tests. + it('works', async function() { + await this.application.boot(); + + // you would normally confirm the results of the initializer here + expect(true).to.be.ok; + }); +}); diff --git a/node-tests/blueprints/initializer-test-test.js b/node-tests/blueprints/initializer-test-test.js index 37e09ee37dd..b2394bad20b 100644 --- a/node-tests/blueprints/initializer-test-test.js +++ b/node-tests/blueprints/initializer-test-test.js @@ -73,6 +73,21 @@ describe('Blueprint: initializer-test', function() { }); }); }); + + describe('with ember-mocha@0.14.0', function() { + beforeEach(function() { + modifyPackages([{ name: 'ember-qunit', delete: true }, { name: 'ember-mocha', dev: true }]); + generateFakePackageManifest('ember-mocha', '0.14.0'); + }); + + it('initializer-test foo', function() { + return emberGenerateDestroy(['initializer-test', 'foo'], _file => { + expect(_file('tests/unit/initializers/foo-test.js')).to.equal( + fixture('initializer-test/mocha-rfc232.js') + ); + }); + }); + }); }); describe('in addon', function() { @@ -158,6 +173,21 @@ describe('Blueprint: initializer-test', function() { }); }); }); + + describe('with ember-mocha@0.14.0', function() { + beforeEach(function() { + modifyPackages([{ name: 'ember-qunit', delete: true }, { name: 'ember-mocha', dev: true }]); + generateFakePackageManifest('ember-mocha', '0.14.0'); + }); + + it('initializer-test foo', function() { + return emberGenerateDestroy(['initializer-test', 'foo'], _file => { + expect(_file('src/init/initializers/foo-test.js')).to.equal( + fixture('initializer-test/module-unification/mocha-rfc232.js') + ); + }); + }); + }); }); describe('in addon - module unification', function() { diff --git a/node-tests/fixtures/initializer-test/mocha-rfc232.js b/node-tests/fixtures/initializer-test/mocha-rfc232.js new file mode 100644 index 00000000000..3b95ffd4828 --- /dev/null +++ b/node-tests/fixtures/initializer-test/mocha-rfc232.js @@ -0,0 +1,32 @@ +import { expect } from 'chai'; +import { describe, it } from 'mocha'; +import { setupTest } from 'ember-mocha'; +import Application from '@ember/application'; +import { initialize } from 'my-app/initializers/foo'; +import { run } from '@ember/runloop'; + +describe('Unit | Initializer | foo', function() { + let hooks = setupTest(); + + hooks.beforeEach(function() { + this.TestApplication = Application.extend(); + this.TestApplication.initializer({ + name: 'initializer under test', + initialize + }); + + this.application = this.TestApplication.create({ autoboot: false }); + }); + + hooks.afterEach(function() { + run(this.application, 'destroy'); + }); + + // Replace this with your real tests. + it('works', async function() { + await this.application.boot(); + + // you would normally confirm the results of the initializer here + expect(true).to.be.ok; + }); +}); diff --git a/node-tests/fixtures/initializer-test/module-unification/mocha-rfc232.js b/node-tests/fixtures/initializer-test/module-unification/mocha-rfc232.js new file mode 100644 index 00000000000..75216fcbaca --- /dev/null +++ b/node-tests/fixtures/initializer-test/module-unification/mocha-rfc232.js @@ -0,0 +1,32 @@ +import { expect } from 'chai'; +import { describe, it } from 'mocha'; +import { setupTest } from 'ember-mocha'; +import Application from '@ember/application'; +import { initialize } from 'my-app/init/initializers/foo'; +import { run } from '@ember/runloop'; + +describe('Unit | Initializer | foo', function() { + let hooks = setupTest(); + + hooks.beforeEach(function() { + this.TestApplication = Application.extend(); + this.TestApplication.initializer({ + name: 'initializer under test', + initialize + }); + + this.application = this.TestApplication.create({ autoboot: false }); + }); + + hooks.afterEach(function() { + run(this.application, 'destroy'); + }); + + // Replace this with your real tests. + it('works', async function() { + await this.application.boot(); + + // you would normally confirm the results of the initializer here + expect(true).to.be.ok; + }); +});