8000 added coverage task for ng test --watch=true; added tests for compone… · devCrossNet/universal-cli@a7b3ebe · GitHub
[go: up one dir, main page]

Skip to content

Commit a7b3ebe

Browse files
author
johannes.werner
committed
added coverage task for ng test --watch=true; added tests for component, service, pipe
1 parent e2cf6d7 commit a7b3ebe

File tree

2 files changed

+24
-4
lines changed

2 files changed

+24
-4
lines changed

addon/ng2/tasks/test.js

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
var Promise = require('ember-cli/lib/ext/promise');
55
var Task = require('ember-cli/lib/models/task');
66
var path = require('path');
7+
var CoverageTask = require('./coverage');
78

89
// require dependencies within the target project
910
function requireDependency(root, moduleName) {
@@ -16,6 +17,12 @@ module.exports = Task.extend({
1617

1718
run: function (options) {
1819
var projectRoot = this.project.root;
20+
var coverageTask = new CoverageTask({
21+
ui: this.ui,
22+
analytics: this.analytics,
23+
project: this.project
24+
});
25+
1926
return new Promise((resolve) => {
2027
var karma = requireDependency(projectRoot, 'karma');
2128
var karmaConfig = path.join(projectRoot, this.project.ngConfig.test.karma.config);
@@ -27,6 +34,12 @@ module.exports = Task.extend({
2734
options.configFile = karmaConfig;
2835
var karmaServer = new karma.Server(options, resolve);
2936

37+
karmaServer.on('run_complete', function () {
38+
setTimeout(function () {
39+
coverageTask.run();
40+
}, 500);
41+
});
42+
3043
karmaServer.start();
3144
});
3245
}

tests/e2e/e2e_workflow.spec.js

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -113,10 +113,7 @@ describe('Basic end-to-end Workflow', function () {
113113
const exitCode = typeof result === 'object' ? result.exitCode : result;
114114

115115
expect(exitCode).to.be.equal(0);
116-
117-
/**
118-
* coverage tests
119-
*/
116+
120117
expect(existsSync(coverageDir)).to.be.equal(true);
121118
expect(existsSync(path.join(coverageDir, 'coverage-final.json'))).to.be.equal(true);
122119
expect(existsSync(path.join(coverageDir, 'html'))).to.be.equal(true);
@@ -203,8 +200,12 @@ describe('Basic end-to-end Workflow', function () {
203200
this.timeout(420000);
204201

205202
return ng(testArgs).then(function (result) {
203+
var coverageDir = path.join(process.cwd(), 'coverage');
206204
const exitCode = typeof result === 'object' ? result.exitCode : result;
207205
expect(exitCode).to.be.equal(0);
206+
207+
expect(existsSync(path.join(coverageDir, 'html', 'app', 'test-component'))).to.be.equal(true);
208+
expect(existsSync(path.join(coverageDir, 'html', 'app', 'test-component', 'test-component.component.ts.html'))).to.be.equal(true);
208209
});
209210
});
210211

@@ -221,8 +222,11 @@ describe('Basic end-to-end Workflow', function () {
221222
this.timeout(420000);
222223

223224
return ng(testArgs).then(function (result) {
225+
var coverageDir = path.join(process.cwd(), 'coverage');
224226
const exitCode = typeof result === 'object' ? result.exitCode : result;
225227
expect(exitCode).to.be.equal(0);
228+
229+
expect(existsSync(path.join(coverageDir, 'html', 'app', 'test-service.service.ts.html'))).to.be.equal(true);
226230
});
227231
});
228232

@@ -239,8 +243,11 @@ describe('Basic end-to-end Workflow', function () {
239243
this.timeout(420000);
240244

241245
return ng(testArgs).then(function (result) {
246+
var coverageDir = path.join(process.cwd(), 'coverage');
242247
const exitC 5C8A ode = typeof result === 'object' ? result.exitCode : result;
243248
expect(exitCode).to.be.equal(0);
249+
250+
expect(existsSync(path.join(coverageDir, 'html', 'app', 'test-pipe.pipe.ts.html'))).to.be.equal(true);
244251
});
245252
});
246253

0 commit comments

Comments
 (0)
0