move tests to gulp tasks

This commit is contained in:
Matteo Pagliazzi
2016-01-29 19:09:19 +01:00
parent 98a110c5c8
commit 0084a0d057
2 changed files with 52 additions and 14 deletions

View File

@@ -94,13 +94,13 @@
"npm": "^3.3.10" "npm": "^3.3.10"
}, },
"scripts": { "scripts": {
"test": "gulp lint && npm run test:api-v3:unit && npm run test:api-v3:integration", "test": "gulp test:api-v3",
"test:api-v2:unit": "mocha test/server_side", "test:api-v2:unit": "mocha test/server_side",
"test:api-v2:integration": "mocha test/api/v2 --recursive", "test:api-v2:integration": "mocha test/api/v2 --recursive",
"test:api-v3": "npm run test:api-v3:unit && npm run test:api-v3:integration", "test:api-v3": "gulp test:api-v3",
"test:api-v3:unit": "mocha test/api/v3/unit --recursive", "test:api-v3:unit": "gulp test:api-v3:unit",
"test:api-v3:integration": "mocha test/api/v3/integration --recursive", "test:api-v3:integration": "gulp test:api-v3:integration",
"test:api-v3:integration:separate-server": "LOAD_SERVER=0 mocha test/api/v3/integration --recursive", "test:api-v3:integration:separate-server": "gulp test:api-v3:integration:separate-server",
"test:api-legacy": "istanbul cover -i \"website/src/**\" --dir coverage/api ./node_modules/mocha/bin/_mocha test/api-legacy", "test:api-legacy": "istanbul cover -i \"website/src/**\" --dir coverage/api ./node_modules/mocha/bin/_mocha test/api-legacy",
"test:common": "mocha test/common", "test:common": "mocha test/common",
"test:content": "mocha test/content", "test:content": "mocha test/content",

View File

@@ -44,9 +44,9 @@ let testBin = (string, additionalEnvVariables = '') => {
additionalEnvVariables = additionalEnvVariables.split(' ').join('&&set '); additionalEnvVariables = additionalEnvVariables.split(' ').join('&&set ');
additionalEnvVariables = 'set ' + additionalEnvVariables + '&&'; additionalEnvVariables = 'set ' + additionalEnvVariables + '&&';
} }
return `set NODE_ENV=testing&&${additionalEnvVariables}${string}`; return `set NODE_ENV=test&&${additionalEnvVariables}${string}`;
} else { } else {
return `NODE_ENV=testing ${additionalEnvVariables} ${string}`; return `NODE_ENV=test ${additionalEnvVariables} ${string}`;
} }
}; };
@@ -344,13 +344,51 @@ gulp.task('test:api-v2:safe', ['test:prepare:server'], (done) => {
}); });
}); });
gulp.task('test:api-v3:unit', (done) => {
let runner = exec(
testBin('mocha test/api/v3/unit --recursive'),
(err, stdout, stderr) => done(err)
)
pipe(runner);
});
gulp.task('test:api-v3:integration', (done) => {
let runner = exec(
testBin('mocha test/api/v3/integration --recursive'),
(err, stdout, stderr) => done(err)
)
pipe(runner);
});
gulp.task('test:api-v3:integration:separate-server', (done) => {
let runner = exec(
testBin('mocha test/api/v3/integration --recursive', 'LOAD_SERVER=0'),
(err, stdout, stderr) => done(err)
)
pipe(runner);
});
gulp.task('test:api-v3', (done) => {
runSequence(
'lint',
'test:api-v3:unit',
'test:api-v3:integration',
done
);
});
// Old tests tasks
/*
gulp.task('test:api-v3', ['test:api-v3:unit', 'test:api-v3:integration']); gulp.task('test:api-v3', ['test:api-v3:unit', 'test:api-v3:integration']);
gulp.task('test:api-v3:watch', ['test:api-v3:unit:watch', 'test:api-v3:integration:watch']); gulp.task('test:api-v3:watch', ['test:api-v3:unit:watch', 'test:api-v3:integration:watch']);
gulp.task('test:api-v3:unit', (done) => { gulp.task('test:api-v3:unit', (done) => {*/
runMochaTests('./test/api/v3/unit/**/*.js', null, done) // runMochaTests('./test/api/v3/unit/**/*.js', null, done)
}); /*});
gulp.task('test:api-v3:unit:watch', () => { gulp.task('test:api-v3:unit:watch', () => {
gulp.watch(['website/src/**', 'test/api/v3/unit/**'], ['test:api-v3:unit']); gulp.watch(['website/src/**', 'test/api/v3/unit/**'], ['test:api-v3:unit']);
@@ -358,9 +396,9 @@ gulp.task('test:api-v3:unit:watch', () => {
gulp.task('test:api-v3:integration', ['test:prepare:server'], (done) => { gulp.task('test:api-v3:integration', ['test:prepare:server'], (done) => {
process.env.API_VERSION = 'v3'; process.env.API_VERSION = 'v3';
awaitPort(TEST_SERVER_PORT).then(() => { awaitPort(TEST_SERVER_PORT).then(() => {*/
runMochaTests('./test/api/v3/integration/**/*.js', server, done) // runMochaTests('./test/api/v3/integration/**/*.js', server, done)
}); /* });
}); });
gulp.task('test:api-v3:integration:watch', ['test:prepare:server'], () => { gulp.task('test:api-v3:integration:watch', ['test:prepare:server'], () => {
@@ -432,4 +470,4 @@ gulp.task('test', ['test:all'], () => {
console.log('\n\x1b[36mThanks for helping keep Habitica clean!\x1b[0m'); console.log('\n\x1b[36mThanks for helping keep Habitica clean!\x1b[0m');
process.exit(); process.exit();
} }
}); });*/