2016-01-14 19:22:26 +00:00
|
|
|
/**
|
2016-02-11 17:08:11 +00:00
|
|
|
CLI test routines for HackMyResume. Test the HackMyResume command-line interface
|
|
|
|
by spawning HMR directly and observing the return code and std output.
|
2016-01-14 19:22:26 +00:00
|
|
|
@module test-cli.js
|
2016-02-11 17:08:11 +00:00
|
|
|
@license MIT. See LICENSE.md for details.
|
2016-01-14 19:22:26 +00:00
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var chai = require('chai')
|
|
|
|
, should = chai.should()
|
2016-01-29 20:23:57 +00:00
|
|
|
, expect = chai.expect
|
2016-01-14 19:22:26 +00:00
|
|
|
, FS = require('fs')
|
|
|
|
, PATH = require('path')
|
2016-02-02 21:18:38 +00:00
|
|
|
, EXEC = require('child_process').exec
|
2016-01-14 19:22:26 +00:00
|
|
|
|
|
|
|
|
2016-02-11 17:08:11 +00:00
|
|
|
|
2016-01-16 21:29:00 +00:00
|
|
|
describe('Testing CLI interface', function () {
|
2016-01-14 19:22:26 +00:00
|
|
|
|
2018-01-30 18:04:08 +00:00
|
|
|
this.timeout(50000);
|
2016-01-29 20:23:57 +00:00
|
|
|
|
2016-01-14 19:22:26 +00:00
|
|
|
function run( args, expErr ) {
|
|
|
|
var title = args;
|
2016-02-02 21:18:38 +00:00
|
|
|
it( 'Testing: "' + title + '"\n\n', function( done ) {
|
2016-02-02 02:14:36 +00:00
|
|
|
try {
|
2016-02-02 21:18:38 +00:00
|
|
|
EXEC('hackmyresume ' + args, null, function(err,stdo,stde) {
|
|
|
|
var errCode = (err && err.code) || 0;
|
|
|
|
errCode.should.equal( parseInt(expErr, 10) );
|
|
|
|
done();
|
|
|
|
});
|
2016-02-02 02:14:36 +00:00
|
|
|
}
|
|
|
|
catch(ex) {
|
2016-02-02 21:18:38 +00:00
|
|
|
ex.status.should.equal( parseInt(expErr, 10) );
|
|
|
|
done();
|
2016-02-02 02:14:36 +00:00
|
|
|
}
|
2016-01-14 19:22:26 +00:00
|
|
|
});
|
|
|
|
}
|
|
|
|
|
2016-02-11 17:08:11 +00:00
|
|
|
var testFile = PATH.join( __dirname, './test-hmr.txt');
|
|
|
|
var lines = FS.readFileSync( testFile, 'utf8').split('\n');
|
2016-01-14 19:22:26 +00:00
|
|
|
lines.forEach(function(l){
|
|
|
|
if( l && l.trim() ) {
|
|
|
|
if(l[0] !== '#') {
|
|
|
|
var lineInfo = l.split('|');
|
|
|
|
var errCode = lineInfo[0];
|
|
|
|
run( lineInfo.length > 1 ? lineInfo[1] : '', errCode );
|
|
|
|
}
|
|
|
|
}
|
|
|
|
});
|
|
|
|
|
|
|
|
});
|