1
0
mirror of https://github.com/JuanCanham/HackMyResume.git synced 2024-11-22 08:20:11 +00:00

Add Johnny Trouble to tests.

This commit is contained in:
hacksalot 2015-12-30 21:07:28 -05:00
parent 3cf24cfb40
commit df27924ac2
3 changed files with 65 additions and 74 deletions

View File

@ -47,7 +47,7 @@
"dependencies": { "dependencies": {
"colors": "^1.1.2", "colors": "^1.1.2",
"copy": "^0.1.3", "copy": "^0.1.3",
"fresh-themes": "~0.9.2-beta", "fresh-themes": "~0.9.3-beta",
"fresca": "~0.2.2", "fresca": "~0.2.2",
"fs-extra": "^0.24.0", "fs-extra": "^0.24.0",
"handlebars": "^4.0.5", "handlebars": "^4.0.5",
@ -79,6 +79,7 @@
"grunt-contrib-yuidoc": "^0.10.0", "grunt-contrib-yuidoc": "^0.10.0",
"grunt-simple-mocha": "*", "grunt-simple-mocha": "*",
"jane-q-fullstacker": "fluentdesk/jane-q-fullstacker", "jane-q-fullstacker": "fluentdesk/jane-q-fullstacker",
"johnny-trouble-resume": "fluentdesk/johnny-trouble-resume",
"jsonresume-theme-boilerplate": "^0.1.2", "jsonresume-theme-boilerplate": "^0.1.2",
"jsonresume-theme-classy": "^1.0.9", "jsonresume-theme-classy": "^1.0.9",
"jsonresume-theme-modern": "0.0.18", "jsonresume-theme-modern": "0.0.18",

View File

@ -9,59 +9,54 @@ var chai = require('chai')
chai.config.includeStack = false; chai.config.includeStack = false;
describe('jane-doe.json (FRESH)', function () { function testResume(opts) {
var _sheet; describe( opts.title + ' (FRESH)', function () {
it('should open without throwing an exception', function () { var _sheet;
function tryOpen() {
_sheet = new FRESHResume().open(
'node_modules/jane-q-fullstacker/resume/jane-resume.json' );
}
tryOpen.should.not.Throw();
});
it('should have one or more of each section', function() { it('should open without throwing an exception', function () {
expect( function tryOpen() {
//(_sheet.basics) && _sheet = new FRESHResume().open( opts.path );
_sheet.name && _sheet.info && _sheet.location && _sheet.contact && }
(_sheet.employment.history && _sheet.employment.history.length > 0) && tryOpen.should.not.Throw();
(_sheet.skills && _sheet.skills.list.length > 0) && });
(_sheet.education.history && _sheet.education.history.length > 0) &&
(_sheet.service.history && _sheet.service.history.length > 0) &&
(_sheet.writing && _sheet.writing.length > 0) &&
(_sheet.recognition && _sheet.recognition.length > 0) &&
(_sheet.samples && _sheet.samples.length > 0) &&
(_sheet.references && _sheet.references.length > 0) &&
(_sheet.interests && _sheet.interests.length > 0)
).to.equal( true );
});
it('should have a work duration of 7 years', function() { it('should have one or more of each section', function() {
_sheet.computed.numYears.should.equal( 7 ); var newObj = _.pick( _sheet, opts.sections );
}); expect( Object.keys(newObj).length ).to.equal( opts.sections.length );
});
it('should save without throwing an exception', function(){ it('should have a work duration of ' + opts.duration + ' years', function() {
function trySave() { _sheet.computed.numYears.should.equal( opts.duration );
_sheet.save( 'test/sandbox/jane-q-fullstacker.json' ); });
}
trySave.should.not.Throw();
});
it('should not be modified after saving', function() { it('should save without throwing an exception', function(){
var savedSheet = new FRESHResume().open('test/sandbox/jane-q-fullstacker.json'); function trySave() {
_sheet.stringify().should.equal( savedSheet.stringify() ); _sheet.save( 'test/sandbox/' + opts.title + '.json' );
}); }
trySave.should.not.Throw();
});
it('should validate against the FRESH resume schema', function() { it('should not be modified after saving', function() {
var result = _sheet.isValid(); var savedSheet = new FRESHResume().open('test/sandbox/' + opts.title + '.json');
// var schemaJson = require('fresca'); _sheet.stringify().should.equal( savedSheet.stringify() );
// var validate = validator( schemaJson, { verbose: true } ); });
// var result = validate( JSON.parse( _sheet.imp.raw ) );
result || console.log("\n\nOops, resume didn't validate. " + it('should validate against the FRESH resume schema', function() {
"Validation errors:\n\n", _sheet.imp.validationErrors, "\n\n"); var result = _sheet.isValid();
result.should.equal( true ); // var schemaJson = require('fresca');
}); // var validate = validator( schemaJson, { verbose: true } );
// var result = validate( JSON.parse( _sheet.imp.raw ) );
result || console.log("\n\nOops, resume didn't validate. " +
"Validation errors:\n\n", _sheet.imp.validationErrors, "\n\n");
result.should.equal( true );
});
}); });
}
var sects = [ 'info', 'employment', 'service', 'skills', 'education', 'writing', 'recognition', 'references' ];
testResume({ title: 'jane-q-fullstacker', path: 'node_modules/jane-q-fullstacker/resume/jane-resume.json', duration: 7, sections: sects });
testResume({ title: 'johnny-trouble-resume', path: 'node_modules/johnny-trouble-resume/src/johnny-trouble.fresh.json', duration: 3, sections: sects });

View File

@ -12,7 +12,9 @@ var SPAWNWATCHER = require('../src/core/spawn-watch')
chai.config.includeStack = false; chai.config.includeStack = false;
describe('Testing themes', function () { function genThemes( title, src, fmt ) {
describe('Testing themes against ' + title.toUpperCase() + ' resume ' + '(' + fmt + ')' , function () {
var _sheet; var _sheet;
@ -29,11 +31,11 @@ describe('Testing themes', function () {
function genTheme( fmt, src, themeName, themeLoc, testTitle ) { function genTheme( fmt, src, themeName, themeLoc, testTitle ) {
themeLoc = themeLoc || themeName; themeLoc = themeLoc || themeName;
testTitle = themeName.toUpperCase() + ' theme should generate without throwing an exception'; testTitle = themeName.toUpperCase() + ' theme (' + fmt + ') should generate without throwing an exception';
it( testTitle, function () { it( testTitle, function () {
function tryOpen() { function tryOpen() {
//var src = ['node_modules/jane-q-fullstacker/resume/jane-resume.json']; //var src = ['node_modules/jane-q-fullstacker/resume/jane-resume.json'];
var dst = ['test/sandbox/' + fmt + '/' + themeName + '/resume.all']; var dst = ['test/sandbox/' + fmt + '/' + title + '/' + themeName + '/resume.all'];
var opts = { var opts = {
theme: themeLoc, theme: themeLoc,
format: fmt, format: fmt,
@ -46,28 +48,21 @@ describe('Testing themes', function () {
}); });
} }
var src = ['node_modules/jane-q-fullstacker/resume/jane-resume.json']; genTheme(fmt, src, 'hello-world');
genTheme('FRESH', src, 'hello-world'); genTheme(fmt, src, 'compact');
genTheme('FRESH', src, 'compact'); genTheme(fmt, src, 'modern');
genTheme('FRESH', src, 'modern'); genTheme(fmt, src, 'minimist');
genTheme('FRESH', src, 'minimist'); genTheme(fmt, src, 'awesome');
genTheme('FRESH', src, 'awesome'); genTheme(fmt, src, 'positive');
genTheme('FRESH', src, 'positive'); genTheme(fmt, src, 'jsonresume-theme-boilerplate', 'node_modules/jsonresume-theme-boilerplate' );
genTheme('FRESH', src, 'jsonresume-theme-boilerplate', 'node_modules/jsonresume-theme-boilerplate' ); genTheme(fmt, src, 'jsonresume-theme-sceptile', 'node_modules/jsonresume-theme-sceptile' );
genTheme('FRESH', src, 'jsonresume-theme-sceptile', 'node_modules/jsonresume-theme-sceptile' ); genTheme(fmt, src, 'jsonresume-theme-modern', 'node_modules/jsonresume-theme-modern' );
genTheme('FRESH', src, 'jsonresume-theme-modern', 'node_modules/jsonresume-theme-modern' ); genTheme(fmt, src, 'jsonresume-theme-classy', 'node_modules/jsonresume-theme-classy' );
genTheme('FRESH', src, 'jsonresume-theme-classy', 'node_modules/jsonresume-theme-classy' );
src = ['test/resumes/jrs-0.0.0/richard-hendriks.json']; });
genTheme('JRS', src, 'hello-world');
genTheme('JRS', src, 'compact');
genTheme('JRS', src, 'modern');
genTheme('JRS', src, 'minimist');
genTheme('JRS', src, 'awesome');
genTheme('JRS', src, 'positive');
genTheme('JRS', src, 'jsonresume-theme-boilerplate', 'node_modules/jsonresume-theme-boilerplate' );
genTheme('JRS', src, 'jsonresume-theme-sceptile', 'node_modules/jsonresume-theme-sceptile' );
genTheme('JRS', src, 'jsonresume-theme-modern', 'node_modules/jsonresume-theme-modern' );
genTheme('JRS', src, 'jsonresume-theme-classy', 'node_modules/jsonresume-theme-classy' );
}); }
genThemes( 'jane-q-fullstacker', ['node_modules/jane-q-fullstacker/resume/jane-resume.json'], 'FRESH' );
genThemes( 'johnny-trouble', ['node_modules/johnny-trouble-resume/src/johnny-trouble.fresh.json'], 'FRESH' );
genThemes( 'richard-hendriks', ['test/resumes/jrs-0.0.0/richard-hendriks.json'], 'JRS' );