mirror of
				https://github.com/strapi/strapi.git
				synced 2025-10-29 17:04:13 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			55 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			55 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| 'use strict';
 | |
| 
 | |
| const path = require('path');
 | |
| const _ = require('lodash');
 | |
| const strapi = require('../../packages/core/strapi/lib');
 | |
| const { createUtils } = require('./utils');
 | |
| 
 | |
| const superAdminCredentials = {
 | |
|   email: 'admin@strapi.io',
 | |
|   firstname: 'admin',
 | |
|   lastname: 'admin',
 | |
|   password: 'Password123',
 | |
| };
 | |
| 
 | |
| const superAdminLoginInfo = _.pick(superAdminCredentials, ['email', 'password']);
 | |
| 
 | |
| const TEST_APP_URL = path.resolve(__dirname, '../../testApp');
 | |
| 
 | |
| const createStrapiInstance = async ({ ensureSuperAdmin = true, logLevel = 'fatal' } = {}) => {
 | |
|   const options = { dir: TEST_APP_URL };
 | |
|   const instance = strapi(options);
 | |
| 
 | |
|   instance.container.get('auth').register('content-api', {
 | |
|     name: 'test-auth',
 | |
|     authenticate() {
 | |
|       return { authenticated: true };
 | |
|     },
 | |
|     verify() {
 | |
|       return;
 | |
|     },
 | |
|   });
 | |
| 
 | |
|   await instance.load();
 | |
| 
 | |
|   instance.log.level = logLevel;
 | |
| 
 | |
|   instance.server.mount();
 | |
| 
 | |
|   const utils = createUtils(instance);
 | |
| 
 | |
|   if (ensureSuperAdmin) {
 | |
|     await utils.createUserIfNotExists(superAdminCredentials);
 | |
|   }
 | |
| 
 | |
|   return instance;
 | |
| };
 | |
| 
 | |
| module.exports = {
 | |
|   createStrapiInstance,
 | |
|   superAdmin: {
 | |
|     loginInfo: superAdminLoginInfo,
 | |
|     credentials: superAdminCredentials,
 | |
|   },
 | |
| };
 | 
