ADD test for export and preview
This commit is contained in:
parent
5b0ac5559e
commit
298b87fe3d
@ -14,9 +14,13 @@
|
|||||||
"dev": "node build/dev-server.js",
|
"dev": "node build/dev-server.js",
|
||||||
"predev": "check-node-version --node \">= 8.0.0\"",
|
"predev": "check-node-version --node \">= 8.0.0\"",
|
||||||
"start": "node build/dev-server.js",
|
"start": "node build/dev-server.js",
|
||||||
"pdf": "node scripts/app.js",
|
"pdf": "node scripts/export.js",
|
||||||
"preview": "node scripts/preview.js",
|
"preview": "node scripts/preview.js",
|
||||||
"test": "concurrently \"npm run dev\" \"testcafe chromium test/\" --success first --kill-others --raw",
|
"test:deleteFiles": "node test/scripts/deleteFiles.js",
|
||||||
|
"test:e2e": "concurrently \"npm run dev\" \"testcafe chromium test/\" --success first --kill-others --raw",
|
||||||
|
"test:export": "SCRIPT=export npm run test:deleteFiles && npm run export && mocha test/scripts/export.js",
|
||||||
|
"test:preview": "SCRIPT=preview npm run test:deleteFiles && npm run preview && mocha test/scripts/preview.js",
|
||||||
|
"test": "npm run test:export && npm run test:preview && npm run test:e2e",
|
||||||
"export": "concurrently \"npm run dev\" \"npm run pdf\" --success first --kill-others --raw",
|
"export": "concurrently \"npm run dev\" \"npm run pdf\" --success first --kill-others --raw",
|
||||||
"lint": "eslint --ext .js,.vue src test/unit/specs test/e2e/specs"
|
"lint": "eslint --ext .js,.vue src test/unit/specs test/e2e/specs"
|
||||||
},
|
},
|
||||||
@ -71,6 +75,7 @@
|
|||||||
"less-loader": "4.0.5",
|
"less-loader": "4.0.5",
|
||||||
"local-web-server": "^2.2.4",
|
"local-web-server": "^2.2.4",
|
||||||
"lolex": "^2.1.3",
|
"lolex": "^2.1.3",
|
||||||
|
"mocha": "^4.0.1",
|
||||||
"mv": "2.1.1",
|
"mv": "2.1.1",
|
||||||
"opn": "5.1.0",
|
"opn": "5.1.0",
|
||||||
"optimize-css-assets-webpack-plugin": "^3.2.0",
|
"optimize-css-assets-webpack-plugin": "^3.2.0",
|
||||||
|
|||||||
0
test/resumes-overview.js → test/e2e/resumes-overview.js
Normal file → Executable file
0
test/resumes-overview.js → test/e2e/resumes-overview.js
Normal file → Executable file
0
test/resumes.js → test/e2e/resumes.js
Normal file → Executable file
0
test/resumes.js → test/e2e/resumes.js
Normal file → Executable file
22
test/scripts/allResumes.js
Executable file
22
test/scripts/allResumes.js
Executable file
@ -0,0 +1,22 @@
|
|||||||
|
const path = require('path');
|
||||||
|
const fs = require('fs');
|
||||||
|
|
||||||
|
const getResumesFromDirectories = () => {
|
||||||
|
const directories = getDirectories();
|
||||||
|
return directories
|
||||||
|
.map(dir => {
|
||||||
|
let fileName = dir.replace('.vue', '');
|
||||||
|
return {
|
||||||
|
path: fileName,
|
||||||
|
name: fileName
|
||||||
|
};
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
const getDirectories = () => {
|
||||||
|
const srcpath = path.join(__dirname, '../../src/resumes');
|
||||||
|
return fs.readdirSync(srcpath)
|
||||||
|
.filter(file => file !== 'resumes.js' && file !== 'template.vue' && file !== 'options.js');
|
||||||
|
};
|
||||||
|
|
||||||
|
module.exports = getResumesFromDirectories;
|
||||||
25
test/scripts/deleteFiles.js
Executable file
25
test/scripts/deleteFiles.js
Executable file
@ -0,0 +1,25 @@
|
|||||||
|
const fs = require('fs');
|
||||||
|
const path = require('path');
|
||||||
|
|
||||||
|
let directory = '';
|
||||||
|
switch (process.env.SCRIPT) {
|
||||||
|
case 'export':
|
||||||
|
directory = path.join(__dirname, '../../pdf');
|
||||||
|
break;
|
||||||
|
case 'preview':
|
||||||
|
directory = path.join(__dirname, '../../src/assets/preview');
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
console.log('Environment variable "ENV" is not defined.');
|
||||||
|
process.exit();
|
||||||
|
}
|
||||||
|
|
||||||
|
fs.readdir(directory, (err, files) => {
|
||||||
|
if (err) throw err;
|
||||||
|
for (const file of files) {
|
||||||
|
fs.unlink(path.join(directory, file), err => {
|
||||||
|
if (err) throw err;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
console.log('Deleted files.');
|
||||||
|
});
|
||||||
17
test/scripts/export.js
Executable file
17
test/scripts/export.js
Executable file
@ -0,0 +1,17 @@
|
|||||||
|
const mocha = require('mocha');
|
||||||
|
const assert = require('assert');
|
||||||
|
const path = require('path');
|
||||||
|
const fs = require('fs');
|
||||||
|
const describe = mocha.describe;
|
||||||
|
const it = mocha.it;
|
||||||
|
const allResumes = require('./allResumes');
|
||||||
|
|
||||||
|
describe('npm run export', () => {
|
||||||
|
it('should have generated the pdf files', () => {
|
||||||
|
const resumes = allResumes();
|
||||||
|
resumes.forEach(resume => {
|
||||||
|
const p = path.join(__dirname, '../../pdf/' + resume.path + '.pdf');
|
||||||
|
assert.ok(fs.existsSync(p));
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
17
test/scripts/preview.js
Executable file
17
test/scripts/preview.js
Executable file
@ -0,0 +1,17 @@
|
|||||||
|
const mocha = require('mocha');
|
||||||
|
const assert = require('assert');
|
||||||
|
const path = require('path');
|
||||||
|
const fs = require('fs');
|
||||||
|
const describe = mocha.describe;
|
||||||
|
const it = mocha.it;
|
||||||
|
const allResumes = require('./allResumes');
|
||||||
|
|
||||||
|
describe('npm run preview', () => {
|
||||||
|
it('should have generated the png files', () => {
|
||||||
|
const resumes = allResumes();
|
||||||
|
resumes.forEach(resume => {
|
||||||
|
const p = path.join(__dirname, '../../src/assets/preview/resume-' + resume.path + '.png');
|
||||||
|
assert.ok(fs.existsSync(p));
|
||||||
|
});
|
||||||
|
});
|
||||||
|
});
|
||||||
Loading…
x
Reference in New Issue
Block a user