Skip to content

Commit cee4d4c

Browse files
committed
simpler test setup, runner test path fix
1 parent 21cd7af commit cee4d4c

File tree

5 files changed

+51
-53
lines changed

5 files changed

+51
-53
lines changed

src/runner.js

-6
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,7 @@
11
"use strict";
22
var utils_1 = require('./utils');
33
var createRunner_1 = require('./createRunner');
4-
var path = require('path');
54
function runner(files, config, handleResult, handleLog) {
6-
files = files.map(function (subArray) {
7-
return subArray.map(function (test) {
8-
return path.join(config.tutorialDir, test);
9-
});
10-
});
115
var tests = utils_1.concatAll(files);
126
var runner = createRunner_1.createRunner(config, tests);
137
var result = {

test/result-fail.spec.js

+7-13
Original file line numberDiff line numberDiff line change
@@ -4,26 +4,20 @@ var chaiAsPromised = require("chai-as-promised");
44
chai.use(chaiAsPromised);
55
var expect = chai.expect;
66

7-
var runner = require('../src/runner').runner;
87
var rootDir = __dirname.split('/');
98
var config = {
109
dir: rootDir.slice(0, rootDir.length - 1).join('/'),
11-
tutorialDir: __dirname + '/tests'
12-
};
13-
var handleLog = function(log) {
14-
return log;
15-
};
16-
var handleResult = function(result) {
17-
return result;
10+
tutorialDir: path.join(__dirname, 'tests')
1811
};
12+
var getRunner = require('./utils').getRunner;
1913

2014
describe('result-failure', function() {
2115

2216
it('returns taskPosition 0 if first test fails', function() {
2317
var files = [
2418
['fail-01.js']
2519
];
26-
var run = runner(files, config, handleResult, handleLog);
20+
var run = getRunner(files);
2721
var expected = {
2822
pass: false,
2923
taskPosition: 0,
@@ -38,7 +32,7 @@ it('returns taskPosition 1 if second test fails', function() {
3832
var files = [
3933
['pass-01.js'], ['fail-01.js']
4034
];
41-
var run = runner(files, config, handleResult, handleLog);
35+
var run = getRunner(files);
4236
var expected = {
4337
pass: false,
4438
taskPosition: 1,
@@ -53,7 +47,7 @@ it('returns taskPosition 3 if fourth test fails', function() {
5347
var files = [
5448
['pass-01.js'], ['pass-02.js'], ['pass-03.js'], ['fail-01.js']
5549
];
56-
var run = runner(files, config, handleResult, handleLog);
50+
var run = getRunner(files);
5751
var expected = {
5852
pass: false,
5953
taskPosition: 3,
@@ -68,7 +62,7 @@ it('returns taskPosition 0 if any of the first tests fail', function () {
6862
var files = [
6963
['pass-01.js', 'pass-02.js', 'fail-01.js']
7064
];
71-
var run = runner(files, config, handleResult, handleLog);
65+
var run = getRunner(files);
7266
var expected = {
7367
pass: false,
7468
taskPosition: 0,
@@ -83,7 +77,7 @@ it('returns the taskPosition at the correct point with arrays of tests', functio
8377
var files = [
8478
['pass-01.js', 'pass-02.js'], ['pass-03.js'], ['pass-04.js', 'fail-01.js']
8579
];
86-
var run = runner(files, config, handleResult, handleLog);
80+
var run = getRunner(files);
8781
var expected = {
8882
pass: false,
8983
taskPosition: 2,

test/result-pass.spec.js

+4-15
Original file line numberDiff line numberDiff line change
@@ -3,26 +3,15 @@ var chaiAsPromised = require("chai-as-promised");
33
chai.use(chaiAsPromised);
44
var expect = chai.expect;
55

6-
var runner = require('../src/runner').runner;
7-
var rootDir = __dirname.split('/');
8-
var config = {
9-
dir: rootDir.slice(0, rootDir.length - 1).join('/'),
10-
tutorialDir: __dirname + '/tests'
11-
};
12-
var handleLog = function(log) {
13-
return log;
14-
};
15-
var handleResult = function(result) {
16-
return result;
17-
};
6+
var getRunner = require('./utils').getRunner;
187

198
describe('result-pass', function() {
209

2110
it('should take one passing test and return taskPosition 1', function() {
2211
var files = [
2312
['./pass-01.js']
2413
];
25-
var run = runner(files, config, handleResult, handleLog);
14+
var run = getRunner(files);
2615
var expected = {
2716
pass: true,
2817
taskPosition: 1,
@@ -37,7 +26,7 @@ describe('result-pass', function() {
3726
var files = [
3827
['./pass-01.js'], ['./pass-02.js'], ['./pass-03.js']
3928
];
40-
var run = runner(files, config, handleResult, handleLog);
29+
var run = getRunner(files);
4130
var expected = {
4231
pass: true,
4332
taskPosition: 3,
@@ -52,7 +41,7 @@ describe('result-pass', function() {
5241
var files = [
5342
['./pass-01.js', './pass-02.js'], ['./pass-03.js', './pass-04.js']
5443
];
55-
var run = runner(files, config, handleResult, handleLog);
44+
var run = getRunner(files);
5645
var expected = {
5746
pass: true,
5847
taskPosition: 2,

test/runner.spec.js

+13-19
Original file line numberDiff line numberDiff line change
@@ -1,39 +1,33 @@
11
var chai = require('chai');
22
var chaiAsPromised = require("chai-as-promised");
3+
var spies = require('chai-spies');
34

5+
chai.use(spies);
46
chai.use(chaiAsPromised);
57
var expect = chai.expect;
68

7-
var runner = require('../src/runner').runner;
8-
var rootDir = __dirname.split('/');
9-
var config = {
10-
dir: rootDir.slice(0, rootDir.length - 1).join('/'),
11-
tutorialDir: __dirname + '/tests'
12-
};
13-
var handleLog = function(log) {
14-
return log;
15-
};
16-
var handleResult = function(result) {
17-
return result;
18-
};
19-
20-
xdescribe('runner', function() {
9+
10+
var getRunner = require('./utils').getRunner;
11+
12+
13+
describe('runner', function() {
2114

2215
it('should run to completion', function() {
2316
var files = [
2417
['pass-01.js']
2518
];
26-
var run = runner(files, config, handleResult, handleLog);
27-
expect(run).to.eventually.be.fulfilled;
19+
var run = getRunner(files);
20+
return expect(run).to.eventually.be.fulfilled;
2821
});
2922

3023

31-
it('should load environmental variables', function () {
24+
xit('should load environmental variables', function () {
25+
var spy = chai.spy.on(handleLog);
3226
var files = [
3327
['env-vars.js']
3428
];
35-
var run = runner(files, config, handleResult, handleLog);
36-
expect(run).to.eventually.equal(Promise.resolve('hi'));
29+
var run = getRunner(files);
30+
return expect(spy).to.have.been.called();
3731
});
3832

3933
});

test/utils.js

+27
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
var path = require('path');
2+
3+
function addPaths(files) {
4+
return files.map(function(subArray) {
5+
return subArray.map(function(test) {
6+
return path.join(config.tutorialDir, test);
7+
});
8+
});
9+
}
10+
11+
var runner = require('../src/runner').runner;
12+
var rootDir = __dirname.split('/');
13+
var config = {
14+
dir: rootDir.slice(0, rootDir.length - 1).join('/'),
15+
tutorialDir: __dirname + '/tests'
16+
};
17+
function handleLog(log) {
18+
return log;
19+
}
20+
function handleResult(result) {
21+
return result;
22+
}
23+
24+
exports.getRunner = function getRunner(files) {
25+
files = addPaths(files);
26+
return runner(files, config, handleResult, handleLog);
27+
}

0 commit comments

Comments
 (0)