From 29e6f54314d50856c303726915703b04ee0e105c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kim=20R=C3=B8en?= Date: Sat, 10 Dec 2016 17:19:49 +0100 Subject: [PATCH 01/30] Install blueprint test helpers --- .npmignore | 1 + package.json | 7 +++++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.npmignore b/.npmignore index fa8b147..2a7c5fb 100644 --- a/.npmignore +++ b/.npmignore @@ -14,3 +14,4 @@ bower.json ember-cli-build.js testem.js +node-tests/ \ No newline at end of file diff --git a/package.json b/package.json index d0fd8d0..0fdf52d 100644 --- a/package.json +++ b/package.json @@ -9,7 +9,8 @@ "scripts": { "build": "ember build", "start": "ember server", - "test": "ember try:testall" + "test": "ember try:testall", + "nodetest": "mocha node-tests --recursive" }, "repository": { "type": "git", @@ -30,6 +31,7 @@ "ember-cli": "2.6.2", "ember-cli-app-version": "^1.0.0", "ember-cli-babel": "^5.1.5", + "ember-cli-blueprint-test-helpers": "^0.14.0", "ember-cli-dependency-checker": "^1.2.0", "ember-cli-htmlbars": "^1.0.1", "ember-cli-htmlbars-inline-precompile": "^0.3.1", @@ -43,7 +45,8 @@ "ember-load-initializers": "^0.5.0", "ember-resolver": "^2.0.3", "ember-try": "^0.1.2", - "loader.js": "^4.0.0" + "loader.js": "^4.0.0", + "mocha": "^2.5.3" }, "keywords": [ "ember-addon", From 7092846d37ba0c5684bf259efe69b2479b2f8313 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kim=20R=C3=B8en?= Date: Sat, 10 Dec 2016 17:21:40 +0100 Subject: [PATCH 02/30] Set up the first test --- node-tests/blueprints/acceptance-test-test.js | 29 +++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 node-tests/blueprints/acceptance-test-test.js diff --git a/node-tests/blueprints/acceptance-test-test.js b/node-tests/blueprints/acceptance-test-test.js new file mode 100644 index 0000000..285c34b --- /dev/null +++ b/node-tests/blueprints/acceptance-test-test.js @@ -0,0 +1,29 @@ +'use strict'; + +var blueprintHelpers = require('ember-cli-blueprint-test-helpers/helpers'); +var setupTestHooks = blueprintHelpers.setupTestHooks; +var emberNew = blueprintHelpers.emberNew; +var emberGenerateDestroy = blueprintHelpers.emberGenerateDestroy; + +var expect = require('ember-cli-blueprint-test-helpers/chai').expect; + +describe('Acceptance: ember generate and destroy acceptance-test', function() { + setupTestHooks(this); + + it('acceptance-test foo', function() { + var args = ['acceptance-test', 'foo']; + + return emberNew() + .then(() => emberGenerateDestroy(args, (file) => { + expect(file('tests/acceptance/foo-test.coffee')) + .to.contain("`import Ember from 'ember'`") + .to.contain("`import { module, test } from 'qunit'`") + .to.contain("`import startApp from 'my-app/tests/helpers/start-app'`") + .to.contain("module 'Acceptance: Foo',") + .to.contain("test 'visiting /foo', (assert) ->") + .to.contain("visit '/foo'") + .to.contain("andThen ->") + .to.contain("assert.equal currentURL(), '/foo'"); + })); + }); +}); From 4b6398225e2581883172603c52fdda4e94a25d77 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kim=20R=C3=B8en?= Date: Sun, 11 Dec 2016 13:05:55 +0100 Subject: [PATCH 03/30] Add inital test for adapter blueprint --- node-tests/blueprints/adapter-test.js | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 node-tests/blueprints/adapter-test.js diff --git a/node-tests/blueprints/adapter-test.js b/node-tests/blueprints/adapter-test.js new file mode 100644 index 0000000..b4537a3 --- /dev/null +++ b/node-tests/blueprints/adapter-test.js @@ -0,0 +1,27 @@ +'use strict'; + +var blueprintHelpers = require('ember-cli-blueprint-test-helpers/helpers'); +var setupTestHooks = blueprintHelpers.setupTestHooks; +var emberNew = blueprintHelpers.emberNew; +var emberGenerateDestroy = blueprintHelpers.emberGenerateDestroy; + +var expect = require('ember-cli-blueprint-test-helpers/chai').expect; + +describe('Acceptance: ember generate and destroy adapter', function() { + setupTestHooks(this); + + it('adapter foo', function() { + var args = ['adapter', 'foo']; + + return emberNew() + .then(() => emberGenerateDestroy(args, (file) => { + expect(file('app/adapters/foo.coffee')) + .to.contain("`import ApplicationAdapter from './application'`") + .to.contain("FooAdapter = ApplicationAdapter.extend()") + .to.contain("`export default FooAdapter`"); + + expect(file('tests/unit/adapters/foo-test.coffee')) + .to.contain("moduleFor 'adapter:foo'") + })); + }); +}); From 844df1b1f86fa78baedf23dc81f882a08dea529c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kim=20R=C3=B8en?= Date: Sun, 11 Dec 2016 13:12:07 +0100 Subject: [PATCH 04/30] Add inital test for adapter-test blueprint --- node-tests/blueprints/adapter-test.js | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/node-tests/blueprints/adapter-test.js b/node-tests/blueprints/adapter-test.js index b4537a3..98d6263 100644 --- a/node-tests/blueprints/adapter-test.js +++ b/node-tests/blueprints/adapter-test.js @@ -24,4 +24,15 @@ describe('Acceptance: ember generate and destroy adapter', function() { .to.contain("moduleFor 'adapter:foo'") })); }); + + it('adapter-test foo', function() { + var args = ['adapter-test', 'foo']; + + return emberNew() + .then(() => emberGenerateDestroy(args, (file) => { + expect(file('tests/unit/adapters/foo-test.coffee')) + .to.contain("`import { moduleFor, test } from 'ember-qunit'`") + .to.contain("moduleFor 'adapter:foo'") + })); + }); }); From dba63588adbc7e1b50e09c035d99d7a4fc2e7feb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kim=20R=C3=B8en?= Date: Sun, 11 Dec 2016 13:18:02 +0100 Subject: [PATCH 05/30] Add inital test for addon-import blueprint --- node-tests/blueprints/addon-import-test.js | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 node-tests/blueprints/addon-import-test.js diff --git a/node-tests/blueprints/addon-import-test.js b/node-tests/blueprints/addon-import-test.js new file mode 100644 index 0000000..fc0a611 --- /dev/null +++ b/node-tests/blueprints/addon-import-test.js @@ -0,0 +1,22 @@ +'use strict'; + +var blueprintHelpers = require('ember-cli-blueprint-test-helpers/helpers'); +var setupTestHooks = blueprintHelpers.setupTestHooks; +var emberNew = blueprintHelpers.emberNew; +var emberGenerateDestroy = blueprintHelpers.emberGenerateDestroy; + +var expect = require('ember-cli-blueprint-test-helpers/chai').expect; + +describe('Acceptance: ember generate and destroy addon-import', function() { + setupTestHooks(this); + + it('addon-import foo', function() { + var args = ['addon-import', 'foo']; + + return emberNew() + .then(() => emberGenerateDestroy(args, (file) => { + expect(file('app/addon-imports/foo.coffee')) + .to.contain(`export { default } from 'my-app/addon-imports/foo'`); + })); + }); +}); From 66dccac1157641f8dcedd37864d00c676ce74fda Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kim=20R=C3=B8en?= Date: Sun, 11 Dec 2016 13:36:39 +0100 Subject: [PATCH 06/30] Add inital test for component and component-test blueprints --- node-tests/blueprints/component-test.js | 36 +++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 node-tests/blueprints/component-test.js diff --git a/node-tests/blueprints/component-test.js b/node-tests/blueprints/component-test.js new file mode 100644 index 0000000..a30110e --- /dev/null +++ b/node-tests/blueprints/component-test.js @@ -0,0 +1,36 @@ +'use strict'; + +var blueprintHelpers = require('ember-cli-blueprint-test-helpers/helpers'); +var setupTestHooks = blueprintHelpers.setupTestHooks; +var emberNew = blueprintHelpers.emberNew; +var emberGenerateDestroy = blueprintHelpers.emberGenerateDestroy; + +var expect = require('ember-cli-blueprint-test-helpers/chai').expect; + +describe('Acceptance: ember generate and destroy component', function() { + setupTestHooks(this); + + it('component x-foo', function() { + var args = ['component', 'x-foo']; + + return emberNew() + .then(() => emberGenerateDestroy(args, (file) => { + expect(file('app/components/x-foo.coffee')) + .to.contain("`import Ember from 'ember'`") + .to.contain('XFooComponent = Ember.Component.extend()') + .to.contain('`export default XFooComponent`') + .to.not.contain('layout'); + + expect(file('app/templates/components/x-foo.hbs')) + .to.contain('{{yield}}'); + + expect(file('tests/integration/components/x-foo-test.coffee')) + .to.contain("`import { test, moduleForComponent } from 'ember-qunit'`") + .to.contain("`import hbs from 'htmlbars-inline-precompile'`") + .to.contain("moduleForComponent 'x-foo', 'Integration | Component | x foo'") + .to.contain('integration: true') + .to.contain('{{x-foo}}') + .to.contain('{{#x-foo}}'); + })); + }); +}); From 266119d1989b6c0627494afeb44d1de822c0b9fa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kim=20R=C3=B8en?= Date: Sun, 11 Dec 2016 13:41:45 +0100 Subject: [PATCH 07/30] Add inital test for component-addon blueprint --- node-tests/blueprints/component-addon-test.js | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 node-tests/blueprints/component-addon-test.js diff --git a/node-tests/blueprints/component-addon-test.js b/node-tests/blueprints/component-addon-test.js new file mode 100644 index 0000000..65f5a78 --- /dev/null +++ b/node-tests/blueprints/component-addon-test.js @@ -0,0 +1,22 @@ +'use strict'; + +var blueprintHelpers = require('ember-cli-blueprint-test-helpers/helpers'); +var setupTestHooks = blueprintHelpers.setupTestHooks; +var emberNew = blueprintHelpers.emberNew; +var emberGenerateDestroy = blueprintHelpers.emberGenerateDestroy; + +var expect = require('ember-cli-blueprint-test-helpers/chai').expect; + +describe('Acceptance: ember generate and destroy component-addon', function() { + setupTestHooks(this); + + it('component-addon foo-bar', function() { + var args = ['component-addon', 'foo-bar']; + + return emberNew({target: 'addon'}) + .then(() => emberGenerateDestroy(args, (file) => { + expect(file('app/components/foo-bar.coffee')) + .to.contain("`export { default } from 'my-addon/components/foo-bar'`"); + })); + }); +}); From 0fce9193d02610e6ec99a5f6daf49d982f3d162d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kim=20R=C3=B8en?= Date: Sun, 11 Dec 2016 15:24:50 +0100 Subject: [PATCH 08/30] Add inital test for controller and controller-test blueprint --- node-tests/blueprints/controller-test.js | 28 ++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 node-tests/blueprints/controller-test.js diff --git a/node-tests/blueprints/controller-test.js b/node-tests/blueprints/controller-test.js new file mode 100644 index 0000000..fdbf43b --- /dev/null +++ b/node-tests/blueprints/controller-test.js @@ -0,0 +1,28 @@ +'use strict'; + +var blueprintHelpers = require('ember-cli-blueprint-test-helpers/helpers'); +var setupTestHooks = blueprintHelpers.setupTestHooks; +var emberNew = blueprintHelpers.emberNew; +var emberGenerateDestroy = blueprintHelpers.emberGenerateDestroy; + +var expect = require('ember-cli-blueprint-test-helpers/chai').expect; + +describe('Acceptance: ember generate and destroy controller', function() { + setupTestHooks(this); + + it('controller foo', function() { + var args = ['controller', 'foo']; + + return emberNew() + .then(() => emberGenerateDestroy(args, (file) => { + expect(file('app/controllers/foo.coffee')) + .to.contain("`import Ember from 'ember'`") + .to.contain('FooController = Ember.Controller.extend()') + .to.contain("`export default FooController`"); + + expect(file('tests/unit/controllers/foo-test.coffee')) + .to.contain("`import { moduleFor, test } from 'ember-qunit'`") + .to.contain("moduleFor 'controller:foo'"); + })); + }); +}); From 679521a7bbaccfe1604cd5c8efa114c35fce2a09 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kim=20R=C3=B8en?= Date: Sun, 11 Dec 2016 15:36:45 +0100 Subject: [PATCH 09/30] Add inital test for helper blueprint --- node-tests/blueprints/helper-test.js | 31 ++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 node-tests/blueprints/helper-test.js diff --git a/node-tests/blueprints/helper-test.js b/node-tests/blueprints/helper-test.js new file mode 100644 index 0000000..e9145bc --- /dev/null +++ b/node-tests/blueprints/helper-test.js @@ -0,0 +1,31 @@ +'use strict'; + +var blueprintHelpers = require('ember-cli-blueprint-test-helpers/helpers'); +var setupTestHooks = blueprintHelpers.setupTestHooks; +var emberNew = blueprintHelpers.emberNew; +var emberGenerateDestroy = blueprintHelpers.emberGenerateDestroy; + +var expect = require('ember-cli-blueprint-test-helpers/chai').expect; + +describe('Acceptance: ember generate and destroy helper', function() { + setupTestHooks(this); + + it('helper foo-bar', function() { + var args = ['helper', 'foo-bar']; + + return emberNew() + .then(() => emberGenerateDestroy(args, (file) => { + expect(file('app/helpers/foo-bar.coffee')) + .to.contain("`import Ember from 'ember'`") + .to.contain('fooBar = (params) ->') + .to.contain('FooBarHelper = Ember.Helper.helper fooBar') + .to.contain("`export { fooBar }`") + .to.contain("`export default FooBarHelper`"); + + expect(file('tests/unit/helpers/foo-bar-test.coffee')) + .to.contain("`import { fooBar } from 'my-app/helpers/foo-bar'`") + .to.contain("module 'Unit | Helper | foo bar'") + .to.contain("result = fooBar 42"); + })); + }); +}); From 8e11700084eb7d469ac64e0b20cf9efb962c830d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kim=20R=C3=B8en?= Date: Sun, 11 Dec 2016 15:39:34 +0100 Subject: [PATCH 10/30] Add inital test for helper-addon blueprint --- node-tests/blueprints/helper-addon-test.js | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 node-tests/blueprints/helper-addon-test.js diff --git a/node-tests/blueprints/helper-addon-test.js b/node-tests/blueprints/helper-addon-test.js new file mode 100644 index 0000000..a403fa7 --- /dev/null +++ b/node-tests/blueprints/helper-addon-test.js @@ -0,0 +1,22 @@ +'use strict'; + +var blueprintHelpers = require('ember-cli-blueprint-test-helpers/helpers'); +var setupTestHooks = blueprintHelpers.setupTestHooks; +var emberNew = blueprintHelpers.emberNew; +var emberGenerateDestroy = blueprintHelpers.emberGenerateDestroy; + +var expect = require('ember-cli-blueprint-test-helpers/chai').expect; + +describe('Acceptance: ember generate and destroy helper-addon', function() { + setupTestHooks(this); + + it('helper-addon foo-bar', function() { + var args = ['helper-addon', 'foo-bar']; + + return emberNew({target: 'addon'}) + .then(() => emberGenerateDestroy(args, (file) => { + expect(file('app/helpers/foo-bar.coffee')) + .to.contain("`export { default, fooBar } from 'my-addon/helpers/foo-bar'`"); + })); + }); +}); From 3e5eab6c36dd1c2abc6e28481f90ec78561a76ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kim=20R=C3=B8en?= Date: Sun, 11 Dec 2016 15:51:40 +0100 Subject: [PATCH 11/30] Add inital test for initializer blueprint --- node-tests/blueprints/initializer-test.js | 32 +++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 node-tests/blueprints/initializer-test.js diff --git a/node-tests/blueprints/initializer-test.js b/node-tests/blueprints/initializer-test.js new file mode 100644 index 0000000..0f985a1 --- /dev/null +++ b/node-tests/blueprints/initializer-test.js @@ -0,0 +1,32 @@ +'use strict'; + +var blueprintHelpers = require('ember-cli-blueprint-test-helpers/helpers'); +var setupTestHooks = blueprintHelpers.setupTestHooks; +var emberNew = blueprintHelpers.emberNew; +var emberGenerateDestroy = blueprintHelpers.emberGenerateDestroy; + +var expect = require('ember-cli-blueprint-test-helpers/chai').expect; + +describe('Acceptance: ember generate and destroy initializer', function() { + setupTestHooks(this); + + it('initializer foo-bar', function() { + var args = ['initializer', 'foo-bar']; + + return emberNew() + .then(() => emberGenerateDestroy(args, (file) => { + expect(file('app/initializers/foo-bar.coffee')) + .to.contain('initialize = () ->') + .to.contain('FooBarInitializer =') + .to.contain("name: 'foo-bar'") + .to.contain("`export {initialize}`") + .to.contain("`export default FooBarInitializer`"); + + expect(file('tests/unit/initializers/foo-bar-test.coffee')) + .to.contain("`import Ember from 'ember'`") + .to.contain("`import { initialize } from 'my-app/initializers/foo-bar'`") + .to.contain("`import { module, test } from 'qunit'`") + .to.contain("module 'Unit | Initializer | foo bar'"); + })); + }); +}); From a55e40122c8da59598c2f86e6bf9b943b8e5e591 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kim=20R=C3=B8en?= Date: Sun, 11 Dec 2016 15:54:04 +0100 Subject: [PATCH 12/30] Add inital test for initializer-addon blueprint --- .../blueprints/initializer-addon-test.js | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 node-tests/blueprints/initializer-addon-test.js diff --git a/node-tests/blueprints/initializer-addon-test.js b/node-tests/blueprints/initializer-addon-test.js new file mode 100644 index 0000000..79036ff --- /dev/null +++ b/node-tests/blueprints/initializer-addon-test.js @@ -0,0 +1,22 @@ +'use strict'; + +var blueprintHelpers = require('ember-cli-blueprint-test-helpers/helpers'); +var setupTestHooks = blueprintHelpers.setupTestHooks; +var emberNew = blueprintHelpers.emberNew; +var emberGenerateDestroy = blueprintHelpers.emberGenerateDestroy; + +var expect = require('ember-cli-blueprint-test-helpers/chai').expect; + +describe('Acceptance: ember generate and destroy initializer-addon', function() { + setupTestHooks(this); + + it('initializer-addon foo-bar', function() { + var args = ['initializer-addon', 'foo-bar']; + + return emberNew({ target: 'addon' }) + .then(() => emberGenerateDestroy(args, (file) => { + expect(file('app/initializers/foo-bar.coffee')) + .to.contain("`export { default, initialize } from 'my-addon/initializers/foo-bar'`"); + })); + }); +}); From 7f61cb688bdd653a05f8d44bb242f63732acdcc2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kim=20R=C3=B8en?= Date: Sun, 11 Dec 2016 16:02:56 +0100 Subject: [PATCH 13/30] Add inital test for mixin blueprint --- node-tests/blueprints/mixin-test.js | 48 +++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 node-tests/blueprints/mixin-test.js diff --git a/node-tests/blueprints/mixin-test.js b/node-tests/blueprints/mixin-test.js new file mode 100644 index 0000000..b1d2af3 --- /dev/null +++ b/node-tests/blueprints/mixin-test.js @@ -0,0 +1,48 @@ +'use strict'; + +var blueprintHelpers = require('ember-cli-blueprint-test-helpers/helpers'); +var setupTestHooks = blueprintHelpers.setupTestHooks; +var emberNew = blueprintHelpers.emberNew; +var emberGenerateDestroy = blueprintHelpers.emberGenerateDestroy; + +var expect = require('ember-cli-blueprint-test-helpers/chai').expect; + +describe('Acceptance: ember generate and destroy mixin', function() { + setupTestHooks(this); + + it('mixin foo-bar', function() { + var args = ['mixin', 'foo-bar']; + + return emberNew() + .then(() => emberGenerateDestroy(args, (file) => { + expect(file('app/mixins/foo-bar.coffee')) + .to.contain("`import Ember from 'ember'`") + .to.contain('FooBarMixin = Ember.Mixin.create()') + .to.contain("`export default FooBarMixin`"); + + expect(file('tests/unit/mixins/foo-bar-test.coffee')) + .to.contain("`import Ember from 'ember'`") + // TODO: Fix this import - it should be absolute + .to.contain("`import FooBarMixin from '../../../mixins/foo-bar'`") + .to.contain("`import { module, test } from 'qunit'`") + .to.contain("module 'Unit | Mixin | foo bar'") + .to.contain('FooBarObject = Ember.Object.extend FooBarMixin') + .to.contain('subject = FooBarObject.create()'); + })); + }); + + it('mixin-test foo-bar', function() { + var args = ['mixin-test', 'foo-bar']; + + return emberNew() + .then(() => emberGenerateDestroy(args, (file) => { + expect(file('tests/unit/mixins/foo-bar-test.coffee')) + .to.contain("`import Ember from 'ember'`") + .to.contain("`import FooBarMixin from '../../../mixins/foo-bar'`") + .to.contain("`import { module, test } from 'qunit'`") + .to.contain("module 'Unit | Mixin | foo bar'") + .to.contain('FooBarObject = Ember.Object.extend FooBarMixin') + .to.contain('subject = FooBarObject.create()'); + })); + }); +}); From d5080f9d0bd46a24e17354f0a04fc356fe636f38 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kim=20R=C3=B8en?= Date: Sun, 11 Dec 2016 17:12:11 +0100 Subject: [PATCH 14/30] Add inital test for model blueprint --- node-tests/blueprints/model-test.js | 39 +++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 node-tests/blueprints/model-test.js diff --git a/node-tests/blueprints/model-test.js b/node-tests/blueprints/model-test.js new file mode 100644 index 0000000..dc5f4d0 --- /dev/null +++ b/node-tests/blueprints/model-test.js @@ -0,0 +1,39 @@ +'use strict'; + +var blueprintHelpers = require('ember-cli-blueprint-test-helpers/helpers'); +var setupTestHooks = blueprintHelpers.setupTestHooks; +var emberNew = blueprintHelpers.emberNew; +var emberGenerateDestroy = blueprintHelpers.emberGenerateDestroy; + +var expect = require('ember-cli-blueprint-test-helpers/chai').expect; + +describe('Acceptance: ember generate and destroy model', function() { + setupTestHooks(this); + + it('model foo', function() { + var args = ['model', 'foo']; + + return emberNew() + .then(() => emberGenerateDestroy(args, (file) => { + expect(file('app/models/foo.coffee')) + .to.contain("`import DS from 'ember-data'`") + .to.contain('Foo = DS.Model.extend {') + .to.contain("`export default Foo`"); + + expect(file('tests/unit/models/foo-test.coffee')) + .to.contain("`import { moduleForModel, test } from 'ember-qunit'`") + .to.contain("moduleForModel 'foo', 'Unit | Model | foo', {") + .to.contain("needs: []"); + })); + }); + + it('model-test foo', function() { + var args = ['model-test', 'foo']; + + return emberNew() + .then(() => emberGenerateDestroy(args, (file) => { + expect(file('tests/unit/models/foo-test.coffee')) + .to.contain("moduleForModel 'foo'"); + })); + }); +}); From b8a36fa149de7fc1c15680d237a91f1ede78927e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kim=20R=C3=B8en?= Date: Sun, 11 Dec 2016 17:38:12 +0100 Subject: [PATCH 15/30] Add inital test for resource blueprint Skipped for now, because the default ember project generated doesn't have a `router.coffee`. --- node-tests/blueprints/resource-test.js | 46 ++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 node-tests/blueprints/resource-test.js diff --git a/node-tests/blueprints/resource-test.js b/node-tests/blueprints/resource-test.js new file mode 100644 index 0000000..5cb0e9e --- /dev/null +++ b/node-tests/blueprints/resource-test.js @@ -0,0 +1,46 @@ +'use strict'; + +var blueprintHelpers = require('ember-cli-blueprint-test-helpers/helpers'); +var setupTestHooks = blueprintHelpers.setupTestHooks; +var emberNew = blueprintHelpers.emberNew; +var emberGenerateDestroy = blueprintHelpers.emberGenerateDestroy; + +var chai = require('ember-cli-blueprint-test-helpers/chai'); +var expect = chai.expect; +var file = chai.file; + +describe('Acceptance: ember generate and destroy resource', function() { + setupTestHooks(this); + + it.skip('resource foo', function() { + var args = ['resource', 'foo']; + + return emberNew() + .then(() => emberGenerateDestroy(args, (_file) => { + expect(_file('app/routes/foo.coffee')) + .to.contain("`import Ember from 'ember'`") + .to.contain('FooRoute = Ember.Route.extend()') + .to.contain("`export default FooRoute`"); + + expect(_file('app/templates/foo.hbs')) + .to.contain('{{outlet}}'); + + expect(_file('tests/unit/routes/foo-test.coffee')) + .to.contain("`import { moduleFor, test } from 'ember-qunit'`") + .to.contain("moduleFor 'route:foo'"); + + expect(_file('app/models/foo.coffee')) + .to.contain("`import DS from 'ember-data'`") + .to.contain('Foo = DS.Model.extend {') + .to.contain("`export default Foo`"); + + expect(_file('tests/unit/models/foo-test.coffee')) + .to.contain("moduleForModel 'foo'"); + + expect(file('app/router.coffee')) + .to.contain("@route 'foo'"); + })) + .then(() => expect(file('app/router.coffee')) + .to.not.contain("@route 'foo'")); + }); +}); From 3f536820ab958ebf0152081842148271807fb844 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kim=20R=C3=B8en?= Date: Sun, 11 Dec 2016 17:55:14 +0100 Subject: [PATCH 16/30] Add inital test for route blueprint Skipping for now, because there's no system for generating the `router.coffee` file. --- node-tests/blueprints/route-test.js | 50 +++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 node-tests/blueprints/route-test.js diff --git a/node-tests/blueprints/route-test.js b/node-tests/blueprints/route-test.js new file mode 100644 index 0000000..b4fb4ec --- /dev/null +++ b/node-tests/blueprints/route-test.js @@ -0,0 +1,50 @@ +'use strict'; + +var blueprintHelpers = require('ember-cli-blueprint-test-helpers/helpers'); +var setupTestHooks = blueprintHelpers.setupTestHooks; +var emberNew = blueprintHelpers.emberNew; +var emberGenerateDestroy = blueprintHelpers.emberGenerateDestroy; + +var chai = require('ember-cli-blueprint-test-helpers/chai'); +var expect = chai.expect; +var file = chai.file; + +describe('Acceptance: ember generate and destroy route', function() { + setupTestHooks(this); + + it.skip('route foo', function() { + var args = ['route', 'foo']; + + return emberNew() + .then(() => emberGenerateDestroy(args, (_file) => { + expect(_file('app/routes/foo.coffee')) + .to.contain("`import Ember from 'ember'`") + .to.contain('FooRoute = Ember.Route.extend()') + .to.contain("`export default FooRoute`"); + + expect(_file('app/templates/foo.hbs')) + .to.contain('{{outlet}}'); + + expect(_file('tests/unit/routes/foo-test.coffee')) + .to.contain("`import { moduleFor, test } from 'ember-qunit'`") + .to.contain("moduleFor 'route:foo', 'Unit | Route | foo', {"); + + expect(file('app/router.coffee')) + .to.contain("@route 'foo'"); + }) + .then(() => expect(file('app/router.coffee')) + .to.not.contain("@route 'foo'") + )); + }); + + it('route-test foo', function() { + var args = ['route-test', 'foo']; + + return emberNew() + .then(() => emberGenerateDestroy(args, (_file) => { + expect(_file('tests/unit/routes/foo-test.coffee')) + .to.contain("`import { moduleFor, test } from 'ember-qunit'`") + .to.contain("moduleFor 'route:foo', 'Unit | Route | foo', {"); + })); + }); +}); From ea0f86af570c501b7a0b6e19a2a64a9f1c8d33f8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kim=20R=C3=B8en?= Date: Sun, 11 Dec 2016 19:31:00 +0100 Subject: [PATCH 17/30] Add inital test for route-addon blueprint --- node-tests/blueprints/route-addon-test.js | 25 +++++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 node-tests/blueprints/route-addon-test.js diff --git a/node-tests/blueprints/route-addon-test.js b/node-tests/blueprints/route-addon-test.js new file mode 100644 index 0000000..cbad166 --- /dev/null +++ b/node-tests/blueprints/route-addon-test.js @@ -0,0 +1,25 @@ +'use strict'; + +var blueprintHelpers = require('ember-cli-blueprint-test-helpers/helpers'); +var setupTestHooks = blueprintHelpers.setupTestHooks; +var emberNew = blueprintHelpers.emberNew; +var emberGenerateDestroy = blueprintHelpers.emberGenerateDestroy; + +var expect = require('ember-cli-blueprint-test-helpers/chai').expect; + +describe('Acceptance: ember generate and destroy route-addon', function() { + setupTestHooks(this); + + it('route-addon foo', function() { + var args = ['route-addon', 'foo']; + + return emberNew({ target: 'addon' }) + .then(() => emberGenerateDestroy(args, (file) => { + expect(file('app/routes/foo.coffee')) + .to.contain("`export { default } from 'my-addon/routes/foo'`"); + + expect(file('app/templates/foo.coffee')) + .to.contain("`export { default } from 'my-addon/templates/foo'`"); + })); + }); +}); From 745db6ce7b5bd15ab49629c8d1836ac95724bf69 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kim=20R=C3=B8en?= Date: Sun, 11 Dec 2016 19:40:18 +0100 Subject: [PATCH 18/30] Add inital test for serializer blueprint --- node-tests/blueprints/serializer-test.js | 41 ++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 node-tests/blueprints/serializer-test.js diff --git a/node-tests/blueprints/serializer-test.js b/node-tests/blueprints/serializer-test.js new file mode 100644 index 0000000..20ef261 --- /dev/null +++ b/node-tests/blueprints/serializer-test.js @@ -0,0 +1,41 @@ +'use strict'; + +var blueprintHelpers = require('ember-cli-blueprint-test-helpers/helpers'); +var setupTestHooks = blueprintHelpers.setupTestHooks; +var emberNew = blueprintHelpers.emberNew; +var emberGenerateDestroy = blueprintHelpers.emberGenerateDestroy; + +var expect = require('ember-cli-blueprint-test-helpers/chai').expect; + +describe('Acceptance: ember generate and destroy serializer', function() { + setupTestHooks(this); + + it('serializer foo', function() { + var args = ['serializer', 'foo']; + + return emberNew() + .then(() => emberGenerateDestroy(args, (file) => { + expect(file('app/serializers/foo.coffee')) + .to.contain("`import DS from 'ember-data'`") + .to.contain('FooSerializer = DS.RESTSerializer.extend()') + .to.contain("`export default FooSerializer`"); + + expect(file('tests/unit/serializers/foo-test.coffee')) + .to.contain("`import { moduleForModel, test } from 'ember-qunit'`") + .to.contain("moduleForModel 'foo', 'Unit | Serializer | foo',") + .to.contain("needs: ['serializer:foo']"); + })); + }); + + it('serializer-test foo', function() { + var args = ['serializer-test', 'foo']; + + return emberNew() + .then(() => emberGenerateDestroy(args, (file) => { + expect(file('tests/unit/serializers/foo-test.coffee')) + .to.contain("`import { moduleForModel, test } from 'ember-qunit'`") + .to.contain("moduleForModel 'foo', 'Unit | Serializer | foo',") + .to.contain("needs: ['serializer:foo']"); + })); + }); +}); From b3aded016e178167628f0827a568a56bff06fb3d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kim=20R=C3=B8en?= Date: Sun, 11 Dec 2016 19:46:52 +0100 Subject: [PATCH 19/30] Add inital test for service blueprint --- node-tests/blueprints/service-test.js | 39 +++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 node-tests/blueprints/service-test.js diff --git a/node-tests/blueprints/service-test.js b/node-tests/blueprints/service-test.js new file mode 100644 index 0000000..4fb4b8b --- /dev/null +++ b/node-tests/blueprints/service-test.js @@ -0,0 +1,39 @@ +'use strict'; + +var blueprintHelpers = require('ember-cli-blueprint-test-helpers/helpers'); +var setupTestHooks = blueprintHelpers.setupTestHooks; +var emberNew = blueprintHelpers.emberNew; +var emberGenerateDestroy = blueprintHelpers.emberGenerateDestroy; + +var expect = require('ember-cli-blueprint-test-helpers/chai').expect; + +describe('Acceptance: ember generate and destroy service', function() { + setupTestHooks(this); + + it('service foo', function() { + var args = ['service', 'foo']; + + return emberNew() + .then(() => emberGenerateDestroy(args, (file) => { + expect(file('app/services/foo.coffee')) + .to.contain("`import Ember from 'ember'`") + .to.contain('FooService = Ember.Service.extend()') + .to.contain("`export default FooService`"); + + expect(file('tests/unit/services/foo-test.coffee')) + .to.contain("`import { moduleFor, test } from 'ember-qunit'`") + .to.contain("moduleFor 'service:foo', 'Unit | Service | foo', {"); + })); + }); + + it('service-test foo', function() { + var args = ['service-test', 'foo']; + + return emberNew() + .then(() => emberGenerateDestroy(args, (file) => { + expect(file('tests/unit/services/foo-test.coffee')) + .to.contain("`import { moduleFor, test } from 'ember-qunit'`") + .to.contain("moduleFor 'service:foo', 'Unit | Service | foo', {"); + })); + }); +}); From 572db332633624ef606df2b9b40ef1760d846bad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kim=20R=C3=B8en?= Date: Sun, 11 Dec 2016 19:52:54 +0100 Subject: [PATCH 20/30] Add inital test for template blueprint This one is so basic that we might just remove it - we just want to make sure that templates are generated even when the coffee blueprints are being used, and that happens just fine through the other blueprint tests. --- node-tests/blueprints/template-test.js | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 node-tests/blueprints/template-test.js diff --git a/node-tests/blueprints/template-test.js b/node-tests/blueprints/template-test.js new file mode 100644 index 0000000..ea0a739 --- /dev/null +++ b/node-tests/blueprints/template-test.js @@ -0,0 +1,21 @@ +'use strict'; + +var blueprintHelpers = require('ember-cli-blueprint-test-helpers/helpers'); +var setupTestHooks = blueprintHelpers.setupTestHooks; +var emberNew = blueprintHelpers.emberNew; +var emberGenerateDestroy = blueprintHelpers.emberGenerateDestroy; + +var expect = require('ember-cli-blueprint-test-helpers/chai').expect; + +describe('Acceptance: ember generate and destroy template', function() { + setupTestHooks(this); + + it('template foo', function() { + var args = ['template', 'foo']; + + return emberNew() + .then(() => emberGenerateDestroy(args, (file) => { + expect(file('app/templates/foo.hbs')).to.exist; + })); + }); +}); From 4bc05a7d5513a297c38357ecfdf7d0aee1029b7d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kim=20R=C3=B8en?= Date: Sun, 11 Dec 2016 19:56:43 +0100 Subject: [PATCH 21/30] Add inital test for test-helper blueprint --- node-tests/blueprints/test-helper-test.js | 24 +++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 node-tests/blueprints/test-helper-test.js diff --git a/node-tests/blueprints/test-helper-test.js b/node-tests/blueprints/test-helper-test.js new file mode 100644 index 0000000..36e200d --- /dev/null +++ b/node-tests/blueprints/test-helper-test.js @@ -0,0 +1,24 @@ +'use strict'; + +var blueprintHelpers = require('ember-cli-blueprint-test-helpers/helpers'); +var setupTestHooks = blueprintHelpers.setupTestHooks; +var emberNew = blueprintHelpers.emberNew; +var emberGenerateDestroy = blueprintHelpers.emberGenerateDestroy; + +var expect = require('ember-cli-blueprint-test-helpers/chai').expect; + +describe('Acceptance: ember generate and destroy test-helper', function() { + setupTestHooks(this); + + it('test-helper foo', function() { + var args = ['test-helper', 'foo']; + + return emberNew() + .then(() => emberGenerateDestroy(args, (file) => { + expect(file('tests/helpers/foo.coffee')) + .to.contain("`import Ember from 'ember'`") + .to.contain('foo = (app) ->') + .to.contain("`export default Ember.Test.registerAsyncHelper('foo', foo)`"); + })); + }); +}); From adea23e25471cb93c0a00658051e9683558c94ad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kim=20R=C3=B8en?= Date: Sun, 11 Dec 2016 20:03:43 +0100 Subject: [PATCH 22/30] Add inital test for transform blueprint --- node-tests/blueprints/transform-test.js | 39 +++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 node-tests/blueprints/transform-test.js diff --git a/node-tests/blueprints/transform-test.js b/node-tests/blueprints/transform-test.js new file mode 100644 index 0000000..f5aa205 --- /dev/null +++ b/node-tests/blueprints/transform-test.js @@ -0,0 +1,39 @@ +'use strict'; + +var blueprintHelpers = require('ember-cli-blueprint-test-helpers/helpers'); +var setupTestHooks = blueprintHelpers.setupTestHooks; +var emberNew = blueprintHelpers.emberNew; +var emberGenerateDestroy = blueprintHelpers.emberGenerateDestroy; + +var expect = require('ember-cli-blueprint-test-helpers/chai').expect; + +describe('Acceptance: ember generate and destroy transform', function() { + setupTestHooks(this); + + it('transform foo', function() { + var args = ['transform', 'foo']; + + return emberNew() + .then(() => emberGenerateDestroy(args, (file) => { + expect(file('app/transforms/foo.coffee')) + .to.contain("`import DS from 'ember-data'`") + .to.contain('FooTransform = DS.Transform.extend') + .to.contain("`export default FooTransform`"); + + expect(file('tests/unit/transforms/foo-test.coffee')) + .to.contain("`import { moduleFor, test } from 'ember-qunit'`") + .to.contain("moduleFor 'transform:foo', 'Unit | Transform | foo', {"); + })); + }); + + it('transform-test foo', function() { + var args = ['transform-test', 'foo']; + + return emberNew() + .then(() => emberGenerateDestroy(args, (file) => { + expect(file('tests/unit/transforms/foo-test.coffee')) + .to.contain("`import { moduleFor, test } from 'ember-qunit'`") + .to.contain("moduleFor 'transform:foo', 'Unit | Transform | foo', {"); + })); + }); +}); From 010eaaced10247a026f0871e66257eab778eb896 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kim=20R=C3=B8en?= Date: Sun, 11 Dec 2016 20:14:44 +0100 Subject: [PATCH 23/30] Add inital test for util blueprint --- node-tests/blueprints/util-test.js | 43 ++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) create mode 100644 node-tests/blueprints/util-test.js diff --git a/node-tests/blueprints/util-test.js b/node-tests/blueprints/util-test.js new file mode 100644 index 0000000..1ddcd74 --- /dev/null +++ b/node-tests/blueprints/util-test.js @@ -0,0 +1,43 @@ +'use strict'; + +var blueprintHelpers = require('ember-cli-blueprint-test-helpers/helpers'); +var setupTestHooks = blueprintHelpers.setupTestHooks; +var emberNew = blueprintHelpers.emberNew; +var emberGenerateDestroy = blueprintHelpers.emberGenerateDestroy; + +var expect = require('ember-cli-blueprint-test-helpers/chai').expect; + +describe('Acceptance: ember generate and destroy util', function() { + setupTestHooks(this); + + it('util foo-bar', function() { + var args = ['util', 'foo-bar']; + + return emberNew() + .then(() => emberGenerateDestroy(args, (file) => { + expect(file('app/utils/foo-bar.coffee')) + .to.contain('fooBar = () ->') + .to.contain("`export default fooBar`"); + + expect(file('tests/unit/utils/foo-bar-test.coffee')) + // TODO: This import should use absolute imports + .to.contain("`import fooBar from '../../../utils/foo-bar'`") + .to.contain("`import { module, test } from 'qunit'`") + .to.contain("module 'Unit | Utility | foo bar'") + .to.contain('result = fooBar()'); + })); + }); + + it('util-test foo-bar', function() { + var args = ['util-test', 'foo-bar']; + + return emberNew() + .then(() => emberGenerateDestroy(args, (file) => { + expect(file('tests/unit/utils/foo-bar-test.coffee')) + .to.contain("`import fooBar from '../../../utils/foo-bar'`") + .to.contain("`import { module, test } from 'qunit'`") + .to.contain("module 'Unit | Utility | foo bar'") + .to.contain('result = fooBar()'); + })); + }); +}); From 105bc4af61758152b13759ed4a31629f9a45ad08 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kim=20R=C3=B8en?= Date: Sun, 11 Dec 2016 20:39:23 +0100 Subject: [PATCH 24/30] Add inital test for view blueprint The view-test blueprint tests are not passing for these and I'm not sure why, so they are skipped for now. --- node-tests/blueprints/view-test.js | 39 ++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 node-tests/blueprints/view-test.js diff --git a/node-tests/blueprints/view-test.js b/node-tests/blueprints/view-test.js new file mode 100644 index 0000000..102e72c --- /dev/null +++ b/node-tests/blueprints/view-test.js @@ -0,0 +1,39 @@ +'use strict'; + +var blueprintHelpers = require('ember-cli-blueprint-test-helpers/helpers'); +var setupTestHooks = blueprintHelpers.setupTestHooks; +var emberNew = blueprintHelpers.emberNew; +var emberGenerateDestroy = blueprintHelpers.emberGenerateDestroy; + +var expect = require('ember-cli-blueprint-test-helpers/chai').expect; + +describe.skip('Acceptance: ember generate and destroy view', function() { + setupTestHooks(this); + + it('view foo', function() { + var args = ['view', 'foo']; + + return emberNew() + .then(() => emberGenerateDestroy(args, (file) => { + expect(file('app/views/foo.coffee')) + .to.contain("`import Ember from 'ember'`") + .to.contain('FooView = Ember.View.extend()') + .to.contain("`export default FooView`"); + + expect(file('tests/unit/views/foo-test.coffee')) + .to.contain("`import { moduleFor, test } from 'ember-qunit'`") + .to.contain("moduleFor 'view:foo', 'Unit | View | foo'"); + })); + }); + + it('view-test foo', function() { + var args = ['view-test', 'foo']; + + return emberNew() + .then(() => emberGenerateDestroy(args, (file) => { + expect(file('tests/unit/views/foo-test.coffee')) + .to.contain("`import { moduleFor, test } from 'ember-qunit'`") + .to.contain("moduleFor 'view:foo', 'Unit | View | foo'"); + })); + }); +}); From d3972934e5aa08712855f023e0c51559266aa1e9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kim=20R=C3=B8en?= Date: Tue, 31 Jan 2017 21:04:57 +0100 Subject: [PATCH 25/30] Fix view-test blueprint The upstream implementation doesn't use the newer separation of qunit and mocha test file structures, so the imported blueprint implementation didn't find the files where it expected to. I renamed the file to where the ember-legacy-blueprints view-test blueprint expected to find it. --- .../{qunit-files => files}/tests/unit/__path__/__test__.coffee | 0 node-tests/blueprints/view-test.js | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) rename blueprints/view-test/{qunit-files => files}/tests/unit/__path__/__test__.coffee (100%) diff --git a/blueprints/view-test/qunit-files/tests/unit/__path__/__test__.coffee b/blueprints/view-test/files/tests/unit/__path__/__test__.coffee similarity index 100% rename from blueprints/view-test/qunit-files/tests/unit/__path__/__test__.coffee rename to blueprints/view-test/files/tests/unit/__path__/__test__.coffee diff --git a/node-tests/blueprints/view-test.js b/node-tests/blueprints/view-test.js index 102e72c..85d56a1 100644 --- a/node-tests/blueprints/view-test.js +++ b/node-tests/blueprints/view-test.js @@ -7,7 +7,7 @@ var emberGenerateDestroy = blueprintHelpers.emberGenerateDestroy; var expect = require('ember-cli-blueprint-test-helpers/chai').expect; -describe.skip('Acceptance: ember generate and destroy view', function() { +describe('Acceptance: ember generate and destroy view', function() { setupTestHooks(this); it('view foo', function() { From a80fa1274a81f0d4266ea32b7387048e09654183 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kim=20R=C3=B8en?= Date: Tue, 31 Jan 2017 21:23:36 +0100 Subject: [PATCH 26/30] Update travis config - Install phantomjs differently - Cache different caches --- .travis.yml | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/.travis.yml b/.travis.yml index caf4b7c..ab9a32e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,13 +1,14 @@ --- language: node_js node_js: - - "0.12" + - "4" sudo: false cache: directories: - - node_modules + - $HOME/.npm + - $HOME/.cache # includes bowers cache env: - EMBER_TRY_SCENARIO=default @@ -22,12 +23,13 @@ matrix: - env: EMBER_TRY_SCENARIO=ember-canary before_install: - - export PATH=/usr/local/phantomjs-2.0.0/bin:$PATH - - "npm config set spin false" - - "npm install -g npm@^2" + - npm config set spin false + - npm install -g bower + - bower --version + - npm install phantomjs-prebuilt + - node_modules/phantomjs-prebuilt/bin/phantomjs --version install: - - npm install -g bower - npm install - bower install From faa0fff10cf0d84477139ebfcdcb4b1b57105aae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kim=20R=C3=B8en?= Date: Tue, 31 Jan 2017 21:51:12 +0100 Subject: [PATCH 27/30] Move ember-try running to a script and add node tests --- .npmignore | 3 ++- .travis.yml | 4 ++-- scripts/run-tests.sh | 10 ++++++++++ 3 files changed, 14 insertions(+), 3 deletions(-) create mode 100755 scripts/run-tests.sh diff --git a/.npmignore b/.npmignore index 2a7c5fb..54a19f4 100644 --- a/.npmignore +++ b/.npmignore @@ -1,6 +1,8 @@ /bower_components /config/ember-try.js /dist +/node-tests +/scripts /tests /tmp **/.gitkeep @@ -14,4 +16,3 @@ bower.json ember-cli-build.js testem.js -node-tests/ \ No newline at end of file diff --git a/.travis.yml b/.travis.yml index ab9a32e..26d78de 100644 --- a/.travis.yml +++ b/.travis.yml @@ -16,6 +16,7 @@ env: - EMBER_TRY_SCENARIO=ember-release - EMBER_TRY_SCENARIO=ember-beta - EMBER_TRY_SCENARIO=ember-canary + - NODE_TESTS matrix: fast_finish: true @@ -33,5 +34,4 @@ install: - npm install - bower install -script: - - ember try $EMBER_TRY_SCENARIO test +script: ./scripts/run-tests.sh diff --git a/scripts/run-tests.sh b/scripts/run-tests.sh new file mode 100755 index 0000000..1a594fd --- /dev/null +++ b/scripts/run-tests.sh @@ -0,0 +1,10 @@ +#!/bin/bash +set -ev + +if [ "$EMBER_TRY_SCENARIO" ]; then + ember try $EMBER_TRY_SCENARIO test +fi + +if [ "$NODE_TESTS" ]; then + npm run nodetests +fi From fefdaba9e7d9541b5e145ff4c95c31a560439fe2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kim=20R=C3=B8en?= Date: Tue, 31 Jan 2017 22:07:09 +0100 Subject: [PATCH 28/30] Trigger running node tests differently I'm setting $NODE_TESTS to a specific value and checking for that instead of digging in to how to check for existence so that I can move on. --- .travis.yml | 2 +- scripts/run-tests.sh | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.travis.yml b/.travis.yml index 26d78de..4bd4e42 100644 --- a/.travis.yml +++ b/.travis.yml @@ -16,7 +16,7 @@ env: - EMBER_TRY_SCENARIO=ember-release - EMBER_TRY_SCENARIO=ember-beta - EMBER_TRY_SCENARIO=ember-canary - - NODE_TESTS + - NODE_TESTS=true matrix: fast_finish: true diff --git a/scripts/run-tests.sh b/scripts/run-tests.sh index 1a594fd..a8136e1 100755 --- a/scripts/run-tests.sh +++ b/scripts/run-tests.sh @@ -1,10 +1,10 @@ #!/bin/bash -set -ev +set -e if [ "$EMBER_TRY_SCENARIO" ]; then ember try $EMBER_TRY_SCENARIO test fi -if [ "$NODE_TESTS" ]; then - npm run nodetests +if [ "$NODE_TESTS" = "true" ]; then + npm run nodetest fi From 24f8b6b9ea4c93cd3e74e4fc55560aac42f2d013 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kim=20R=C3=B8en?= Date: Tue, 31 Jan 2017 22:36:25 +0100 Subject: [PATCH 29/30] Move before install and install steps to scripts This is done to skip irrelevant installations based on test type. --- .travis.yml | 13 ++----------- scripts/before-install.sh | 11 +++++++++++ scripts/install.sh | 8 ++++++++ 3 files changed, 21 insertions(+), 11 deletions(-) create mode 100755 scripts/before-install.sh create mode 100755 scripts/install.sh diff --git a/.travis.yml b/.travis.yml index 4bd4e42..a9ba3ff 100644 --- a/.travis.yml +++ b/.travis.yml @@ -23,15 +23,6 @@ matrix: allow_failures: - env: EMBER_TRY_SCENARIO=ember-canary -before_install: - - npm config set spin false - - npm install -g bower - - bower --version - - npm install phantomjs-prebuilt - - node_modules/phantomjs-prebuilt/bin/phantomjs --version - -install: - - npm install - - bower install - +before_install: ./scripts/before-install.sh +install: ./scripts/install.sh script: ./scripts/run-tests.sh diff --git a/scripts/before-install.sh b/scripts/before-install.sh new file mode 100755 index 0000000..4b7e523 --- /dev/null +++ b/scripts/before-install.sh @@ -0,0 +1,11 @@ +#!/bin/bash +set -e + +npm config set spin false + +if [ "$EMBER_TRY_SCENARIO" ]; then + npm install -g bower + bower --version + npm install phantomjs-prebuilt + node_modules/phantomjs-prebuilt/bin/phantomjs --version +fi diff --git a/scripts/install.sh b/scripts/install.sh new file mode 100755 index 0000000..ce40936 --- /dev/null +++ b/scripts/install.sh @@ -0,0 +1,8 @@ +#!/bin/bash +set -e + +npm install + +if [ "$EMBER_TRY_SCENARIO" ]; then + bower install +fi From e3f66035c569897f01946f492d076b1ff7beaacf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kim=20R=C3=B8en?= Date: Wed, 1 Feb 2017 22:07:39 +0100 Subject: [PATCH 30/30] Add bare minimum instructions for developing and running tests Heavily borrowed from the `ember-cli-legacy-blueprints` addon. --- README.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/README.md b/README.md index b110c4d..98ce2fc 100644 --- a/README.md +++ b/README.md @@ -135,3 +135,18 @@ files are linted. To avoid linting specific files or folders, you can put a file named `.coffeelintignore` in the root of your project containing ignore-rules, one per line. This is just like a `.gitignore`-file, and it will follow the same rules. + +### Developing +- `git clone` this repository +- `npm install` +- `bower install` +- `npm link` + +Because of the nature of this project, it needs to be consumed by an ember-cli project to be properly developed. + +- Add `"ember-cli-coffeescript": "*"` to your consuming project's `package.json` +- From your project root run `npm link ember-cli-coffeescript` + +### Running Tests +- `ember test` +- `npm run nodetest`