better run e2e script
parent
751e936ff1
commit
120dd97ed4
|
@ -18,11 +18,12 @@
|
|||
"scripts": {
|
||||
"scss-lint": "gulp scss-lint --fail",
|
||||
"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": {
|
||||
"angular-mocks": "^1.5.0-beta.0",
|
||||
"babel": "^5.6.5",
|
||||
"bluebird": "^3.0.2",
|
||||
"chai": "^3.3.0",
|
||||
"chai-as-promised": "^5.1.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