2019-03-06 19:19:33 +01:00
|
|
|
const { cleanTestApp, generateTestApp } = require('./helpers/testAppGenerator');
|
2019-05-06 19:48:49 +02:00
|
|
|
const yargs = require('yargs');
|
2019-03-06 19:19:33 +01:00
|
|
|
|
|
|
|
const appName = 'testApp';
|
|
|
|
|
|
|
|
const databases = {
|
2019-03-11 10:42:43 +01:00
|
|
|
mongo: `--dbclient=mongo --dbhost=127.0.0.1 --dbport=27017 --dbname=strapi-test-${new Date().getTime()} --dbusername=root --dbpassword=strapi`,
|
2019-03-06 19:19:33 +01:00
|
|
|
postgres:
|
|
|
|
'--dbclient=postgres --dbhost=127.0.0.1 --dbport=5432 --dbname=strapi_test --dbusername=strapi --dbpassword=strapi',
|
|
|
|
mysql:
|
|
|
|
'--dbclient=mysql --dbhost=127.0.0.1 --dbport=3306 --dbname=strapi-test --dbusername=root --dbpassword=root',
|
|
|
|
sqlite: '--dbclient=sqlite --dbfile=./tmp/data.db',
|
|
|
|
};
|
|
|
|
|
2019-05-06 19:48:49 +02:00
|
|
|
const main = async database => {
|
2019-03-06 19:19:33 +01:00
|
|
|
try {
|
|
|
|
await cleanTestApp(appName);
|
|
|
|
await generateTestApp({ appName, database });
|
|
|
|
} catch (error) {
|
|
|
|
console.error(error);
|
|
|
|
process.exit(1);
|
|
|
|
}
|
|
|
|
};
|
|
|
|
|
2019-05-06 19:48:49 +02:00
|
|
|
yargs
|
|
|
|
.command(
|
|
|
|
'$0 [databaseName]',
|
|
|
|
'Create test app',
|
|
|
|
yargs => {
|
|
|
|
yargs.positional('databaseName', {
|
|
|
|
choices: Object.keys(databases),
|
|
|
|
});
|
|
|
|
},
|
2019-05-07 16:40:10 +02:00
|
|
|
({ databaseName }) => {
|
|
|
|
if (databaseName) {
|
|
|
|
return main(databases[databaseName]);
|
|
|
|
}
|
|
|
|
|
|
|
|
return main(process.argv.slice(2).join(' '));
|
|
|
|
}
|
2019-05-06 19:48:49 +02:00
|
|
|
)
|
|
|
|
.help().argv;
|