woocommerce/tests/e2e/env/utils/test-config.js

54 lines
1.6 KiB
JavaScript
Raw Normal View History

2020-07-24 13:12:07 +00:00
const path = require( 'path' );
const fs = require( 'fs' );
2020-10-21 17:25:13 +00:00
const getAppRoot = require( './app-root' );
// Copy local test configuration file if it exists.
const appPath = getAppRoot();
const localTestConfigFile = path.resolve( appPath, 'tests/e2e/config/default.json' );
const defaultConfigFile = path.resolve( __dirname, '../config/default/default.json' );
const testConfigFile = path.resolve( __dirname, '../config/default.json' );
if ( fs.existsSync( localTestConfigFile ) ) {
fs.copyFileSync(
localTestConfigFile,
testConfigFile
);
} else {
fs.copyFileSync(
defaultConfigFile,
testConfigFile
);
}
2020-07-24 13:12:07 +00:00
const getTestConfig = () => {
const rawTestConfig = fs.readFileSync( testConfigFile );
let testConfig = JSON.parse( rawTestConfig );
let testPort = testConfig.url.match( /[0-9]+/ );
testConfig.baseUrl = testConfig.url.substr( 0, testConfig.url.length - 1 );
2020-08-21 16:25:30 +00:00
if ( Array.isArray( testPort ) ) {
testConfig.port = testPort[0] ? testPort[0] : '8084';
} else {
testConfig.port = '';
}
2020-07-24 13:12:07 +00:00
return testConfig;
};
/**
* Get user account settings for Docker configuration.
*/
const getAdminConfig = () => {
const testConfig = getTestConfig();
const adminConfig = {
'WORDPRESS_LOGIN': testConfig.users.admin.username ? testConfig.users.admin.username : 'admin',
'WORDPRESS_PASSWORD': testConfig.users.admin.password ? testConfig.users.admin.password : 'password',
'WORDPRESS_EMAIL': testConfig.users.admin.email ? testConfig.users.admin.email : 'admin@woocommercecoree2etestsuite.com',
};
return adminConfig;
};
module.exports = {
getTestConfig,
getAdminConfig,
};