| 
									
										
										
										
											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; |