better run e2e script
parent
751e936ff1
commit
120dd97ed4
|
@ -18,11 +18,12 @@
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"scss-lint": "gulp scss-lint --fail",
|
"scss-lint": "gulp scss-lint --fail",
|
||||||
"test": "./node_modules/karma/bin/karma start",
|
"test": "./node_modules/karma/bin/karma start",
|
||||||
"e2e": "./run-e2e.sh"
|
"e2e": "node ./node_modules/babel/bin/babel-node.js --stage=1 ./run-e2e.js"
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"angular-mocks": "^1.5.0-beta.0",
|
"angular-mocks": "^1.5.0-beta.0",
|
||||||
"babel": "^5.6.5",
|
"babel": "^5.6.5",
|
||||||
|
"bluebird": "^3.0.2",
|
||||||
"chai": "^3.3.0",
|
"chai": "^3.3.0",
|
||||||
"chai-as-promised": "^5.1.0",
|
"chai-as-promised": "^5.1.0",
|
||||||
"chai-jquery": "^2.0.0",
|
"chai-jquery": "^2.0.0",
|
||||||
|
|
|
@ -0,0 +1,86 @@
|
||||||
|
var argv = require('minimist')(process.argv.slice(2));
|
||||||
|
var child_process = require('child_process');
|
||||||
|
var inquirer = require("inquirer");
|
||||||
|
var Promise = require('bluebird');
|
||||||
|
|
||||||
|
var suites = [
|
||||||
|
'auth',
|
||||||
|
'public',
|
||||||
|
'wiki',
|
||||||
|
'admin',
|
||||||
|
'issues',
|
||||||
|
'tasks',
|
||||||
|
'userProfile',
|
||||||
|
'userStories',
|
||||||
|
'backlog',
|
||||||
|
'home',
|
||||||
|
'kanban',
|
||||||
|
'projectHome',
|
||||||
|
'search',
|
||||||
|
'team'
|
||||||
|
];
|
||||||
|
|
||||||
|
var lunchSuites = [];
|
||||||
|
|
||||||
|
if (argv.s) {
|
||||||
|
suites = argv.s.split(',');
|
||||||
|
}
|
||||||
|
|
||||||
|
function backup() {
|
||||||
|
child_process.spawnSync('pg_dump', ['-c', '-d', 'taiga', '-f', 'tmp/taiga.sql'], {stdio: "inherit"});
|
||||||
|
}
|
||||||
|
|
||||||
|
function launchProtractor(suit) {
|
||||||
|
child_process.spawnSync('protractor', ['conf.e2e.js', '--suite=' + suit], {stdio: "inherit"});
|
||||||
|
}
|
||||||
|
|
||||||
|
function restoreBackup() {
|
||||||
|
child_process.spawnSync('psql', ['-d', 'taiga', '-f', 'tmp/taiga.sql']);
|
||||||
|
}
|
||||||
|
|
||||||
|
function ask() {
|
||||||
|
return new Promise(function(resolve) {
|
||||||
|
if (argv.a && suites.length) {
|
||||||
|
inquirer.prompt([{
|
||||||
|
type: 'list',
|
||||||
|
name: 'next',
|
||||||
|
message: 'Launch ' + suites[0] + '?',
|
||||||
|
default: 'Yes',
|
||||||
|
choices: [
|
||||||
|
'Yes',
|
||||||
|
'No'
|
||||||
|
]
|
||||||
|
}], function( answers ) {
|
||||||
|
if(answers.next === 'Yes') {
|
||||||
|
resolve(true);
|
||||||
|
} else {
|
||||||
|
resolve(false);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
} else if(suites.length) {
|
||||||
|
resolve(true);
|
||||||
|
} else {
|
||||||
|
resolve(false);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
async function launch () {
|
||||||
|
backup();
|
||||||
|
|
||||||
|
var next = true;
|
||||||
|
|
||||||
|
while (next) {
|
||||||
|
var suite = suites.shift();
|
||||||
|
|
||||||
|
console.log('running: ' + suite);
|
||||||
|
|
||||||
|
launchProtractor(suite);
|
||||||
|
|
||||||
|
restoreBackup();
|
||||||
|
|
||||||
|
next = await ask();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
launch();
|
27
run-e2e.sh
27
run-e2e.sh
|
@ -1,27 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
|
|
||||||
suites=(
|
|
||||||
'auth'
|
|
||||||
'public'
|
|
||||||
'wiki'
|
|
||||||
'admin'
|
|
||||||
'issues'
|
|
||||||
'tasks'
|
|
||||||
'userProfile'
|
|
||||||
'userStories'
|
|
||||||
'backlog'
|
|
||||||
'home'
|
|
||||||
'kanban'
|
|
||||||
'projectHome'
|
|
||||||
'search'
|
|
||||||
'team'
|
|
||||||
)
|
|
||||||
|
|
||||||
pg_dump -c taiga > tmp/taiga.sql
|
|
||||||
|
|
||||||
for i in ${suites[@]}
|
|
||||||
do
|
|
||||||
protractor conf.e2e.js --suite=$i
|
|
||||||
|
|
||||||
psql taiga < tmp/taiga.sql > /dev/null
|
|
||||||
done
|
|
Loading…
Reference in New Issue