mirror of
https://github.com/strapi/strapi.git
synced 2025-07-12 11:31:38 +00:00
64 lines
1.4 KiB
JavaScript
64 lines
1.4 KiB
JavaScript
'use strict';
|
|
|
|
const path = require('path');
|
|
const _ = require('lodash');
|
|
const dotenv = require('dotenv');
|
|
const strapi = require('../../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 = 'error',
|
|
bypassAuth = true,
|
|
} = {}) => {
|
|
// read .env file as it could have been updated
|
|
dotenv.config({ path: process.env.ENV_PATH });
|
|
const options = {
|
|
appDir: TEST_APP_URL,
|
|
distDir: TEST_APP_URL,
|
|
};
|
|
const instance = strapi(options);
|
|
|
|
if (bypassAuth) {
|
|
instance.container.get('auth').register('content-api', {
|
|
name: 'test-auth',
|
|
authenticate() {
|
|
return { authenticated: true };
|
|
},
|
|
verify() {},
|
|
});
|
|
}
|
|
await instance.load();
|
|
|
|
instance.log.level = logLevel;
|
|
|
|
await instance.server.listen();
|
|
|
|
const utils = createUtils(instance);
|
|
|
|
if (ensureSuperAdmin) {
|
|
await utils.createUserIfNotExists(superAdminCredentials);
|
|
}
|
|
|
|
return instance;
|
|
};
|
|
|
|
module.exports = {
|
|
createStrapiInstance,
|
|
superAdmin: {
|
|
loginInfo: superAdminLoginInfo,
|
|
credentials: superAdminCredentials,
|
|
},
|
|
};
|