Skip to content

Commit

Permalink
[BUGFIX beta] Add blueprints for "ember-cli-mocha >= 0.12.0"
Browse files Browse the repository at this point in the history
  • Loading branch information
Turbo87 committed Dec 2, 2016
1 parent cd14bb0 commit b215760
Show file tree
Hide file tree
Showing 9 changed files with 153 additions and 5 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
import { expect } from 'chai';
import { describe, it } from 'mocha';
import { setupTest } from 'ember-mocha';

describe('<%= friendlyTestDescription %>', function() {
setupTest('adapter:<%= dasherizedModuleName %>', {
// Specify the other units that are required for this test.
// needs: ['serializer:foo']
});

// Replace this with your real tests.
it('exists', function() {
let adapter = this.subject();
expect(adapter).to.be.ok;
});
});
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
import { expect } from 'chai';
import { describe, it } from 'mocha';
import { setupModelTest } from 'ember-mocha';

describe('<%= friendlyDescription %>', function() {
setupModelTest('<%= dasherizedModuleName %>', {
// Specify the other units that are required for this test.
<%= typeof needs !== 'undefined' ? needs : '' %>
});

// Replace this with your real tests.
it('exists', function() {
let model = this.subject();
// var store = this.store();
expect(model).to.be.ok;
});
});
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
import { expect } from 'chai';
import { describe, it } from 'mocha';
import { setupModelTest } from 'ember-mocha';

describe('<%= friendlyTestDescription %>', function() {
setupModelTest('<%= dasherizedModuleName %>', {
// Specify the other units that are required for this test.
needs: ['serializer:<%= dasherizedModuleName %>']
});

// Replace this with your real tests.
it('serializes records', function() {
let record = this.subject();

let serializedRecord = record.serialize();

expect(serializedRecord).to.be.ok;
});
});
9 changes: 8 additions & 1 deletion blueprints/test-framework-detector.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
var fs = require('fs');
var path = require('path');
var semver = require('semver');

module.exports = function(blueprint) {
blueprint.supportsAddon = function() {
Expand All @@ -12,7 +14,12 @@ module.exports = function(blueprint) {
if ('ember-cli-qunit' in dependencies) {
type = 'qunit';
} else if ('ember-cli-mocha' in dependencies) {
type = 'mocha';
if (fs.existsSync(this.path + '/mocha-0.12-files') &&
semver.satisfies('0.12.0', dependencies['ember-cli-mocha'])) {
type = 'mocha-0.12';
} else {
type = 'mocha';
}
} else {
this.ui.writeLine('Couldn\'t determine test style - using QUnit');
type = 'qunit';
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
import { expect } from 'chai';
import { describe, it } from 'mocha';
import { setupTest } from 'ember-mocha';

describe('<%= friendlyTestDescription %>', function() {
setupTest('transform:<%= dasherizedModuleName %>', {
// Specify the other units that are required for this test.
// needs: ['transform:foo']
});

// Replace this with your real tests.
it('exists', function() {
let transform = this.subject();
expect(transform).to.be.ok;
});
});
20 changes: 19 additions & 1 deletion node-tests/blueprints/adapter-test.js
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@ describe('Acceptance: generate and destroy adapter blueprints', function() {
return emberNew()
.then(() => modifyPackages([
{name: 'ember-cli-qunit', delete: true},
{name: 'ember-cli-mocha', dev: true}
{name: 'ember-cli-mocha', version: '0.11.0', dev: true}
]))
.then(() => emberGenerateDestroy(args, _file => {
expect(_file('tests/unit/adapters/foo-test.js'))
Expand All @@ -103,4 +103,22 @@ describe('Acceptance: generate and destroy adapter blueprints', function() {
.to.contain('expect(adapter).to.be.ok;');
}));
});

it('adapter-test for mocha v0.12+', function() {
var args = ['adapter-test', 'foo'];

return emberNew()
.then(() => modifyPackages([
{name: 'ember-cli-qunit', delete: true},
{name: 'ember-cli-mocha', version: '0.12.0', dev: true}
]))
.then(() => emberGenerateDestroy(args, _file => {
expect(_file('tests/unit/adapters/foo-test.js'))
.to.contain('import { describe, it } from \'mocha\';')
.to.contain('import { setupTest } from \'ember-mocha\';')
.to.contain('describe(\'Unit | Adapter | foo\', function() {')
.to.contain('setupTest(\'adapter:foo\',')
.to.contain('expect(adapter).to.be.ok;');
}));
});
});
20 changes: 19 additions & 1 deletion node-tests/blueprints/model-test.js
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,7 @@ describe('Acceptance: generate and destroy model blueprints', function() {
return emberNew()
.then(() => modifyPackages([
{name: 'ember-cli-qunit', delete: true},
{name: 'ember-cli-mocha', dev: true}
{name: 'ember-cli-mocha', version: '0.11.0', dev: true}
]))
.then(() => emberGenerateDestroy(args, _file => {
expect(_file('tests/unit/models/foo-test.js'))
Expand All @@ -116,4 +116,22 @@ describe('Acceptance: generate and destroy model blueprints', function() {
.to.contain('expect(model).to.be.ok;');
}));
});

it('model-test for mocha v0.12+', function() {
var args = ['model-test', 'foo'];

return emberNew()
.then(() => modifyPackages([
{name: 'ember-cli-qunit', delete: true},
{name: 'ember-cli-mocha', version: '0.12.0', dev: true}
]))
.then(() => emberGenerateDestroy(args, _file => {
expect(_file('tests/unit/models/foo-test.js'))
.to.contain('import { describe, it } from \'mocha\';')
.to.contain('import { setupModelTest } from \'ember-mocha\';')
.to.contain('describe(\'Unit | Model | foo\', function() {')
.to.contain('setupModelTest(\'foo\',')
.to.contain('expect(model).to.be.ok;');
}));
});
});
21 changes: 20 additions & 1 deletion node-tests/blueprints/serializer-test.js
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@ describe('Acceptance: generate and destroy serializer blueprints', function() {
return emberNew()
.then(() => modifyPackages([
{name: 'ember-cli-qunit', delete: true},
{name: 'ember-cli-mocha', dev: true}
{name: 'ember-cli-mocha', version: '0.11.0', dev: true}
]))
.then(() => emberGenerateDestroy(args, _file => {
expect(_file('tests/unit/serializers/foo-test.js'))
Expand All @@ -105,4 +105,23 @@ describe('Acceptance: generate and destroy serializer blueprints', function() {
.to.contain('expect(serializedRecord).to.be.ok;');
}));
});

it('serializer-test for mocha v0.12+', function() {
var args = ['serializer-test', 'foo'];

return emberNew()
.then(() => modifyPackages([
{name: 'ember-cli-qunit', delete: true},
{name: 'ember-cli-mocha', version: '0.12.0', dev: true}
]))
.then(() => emberGenerateDestroy(args, _file => {
expect(_file('tests/unit/serializers/foo-test.js'))
.to.contain('import { describe, it } from \'mocha\';')
.to.contain('import { setupModelTest } from \'ember-mocha\';')
.to.contain('describe(\'Unit | Serializer | foo\', function() {')
.to.contain('setupModelTest(\'foo\', {')
.to.contain('needs: [\'serializer:foo\']')
.to.contain('expect(serializedRecord).to.be.ok;');
}));
});
});
20 changes: 19 additions & 1 deletion node-tests/blueprints/transform-test.js
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ describe('Acceptance: generate and destroy transform blueprints', function() {
return emberNew()
.then(() => modifyPackages([
{name: 'ember-cli-qunit', delete: true},
{name: 'ember-cli-mocha', dev: true}
{name: 'ember-cli-mocha', version: '0.11.0', dev: true}
]))
.then(() => emberGenerateDestroy(args, _file => {
expect(_file('tests/unit/transforms/foo-test.js'))
Expand All @@ -51,4 +51,22 @@ describe('Acceptance: generate and destroy transform blueprints', function() {
.to.contain('expect(transform).to.be.ok;');
}));
});

it('transform-test for mocha v0.12+', function() {
var args = ['transform-test', 'foo'];

return emberNew()
.then(() => modifyPackages([
{name: 'ember-cli-qunit', delete: true},
{name: 'ember-cli-mocha', version: '0.12.0', dev: true}
]))
.then(() => emberGenerateDestroy(args, _file => {
expect(_file('tests/unit/transforms/foo-test.js'))
.to.contain('import { describe, it } from \'mocha\';')
.to.contain('import { setupTest } from \'ember-mocha\';')
.to.contain('describe(\'Unit | Transform | foo\', function() {')
.to.contain('setupTest(\'transform:foo\',')
.to.contain('expect(transform).to.be.ok;');
}));
});
});

0 comments on commit b215760

Please sign in to comment.