49 lines
1.5 KiB
JavaScript
49 lines
1.5 KiB
JavaScript
const util = require('util');
|
|
const exec = util.promisify(require('child_process').exec);
|
|
|
|
const { setupStrapi, cleanupStrapi } = require('./helpers');
|
|
|
|
jest.setTimeout(20000);
|
|
|
|
afterEach(async () => {
|
|
// Disable importOnBootstrap
|
|
await exec('sed -i "s/importOnBootstrap: true/importOnBootstrap: false/g" config/plugins.ts');
|
|
|
|
await cleanupStrapi();
|
|
await exec('rm -rf config/sync');
|
|
});
|
|
|
|
describe('Test the importOnBootstrap feature', () => {
|
|
test('Without a database', async () => {
|
|
// Do the initial export and remove the database.
|
|
await exec('yarn cs export -y');
|
|
await exec('rm -rf .tmp');
|
|
|
|
// Manually change the plugins.ts to enable importOnBoostrap.
|
|
await exec('sed -i "s/importOnBootstrap: false/importOnBootstrap: true/g" config/plugins.ts');
|
|
|
|
// Start up Strapi to initiate the importOnBootstrap function.
|
|
await setupStrapi();
|
|
|
|
expect(strapi).toBeDefined();
|
|
});
|
|
|
|
test('With a database', async () => {
|
|
// Delete any existing database and do an export.
|
|
await exec('rm -rf .tmp');
|
|
await exec('yarn cs export -y');
|
|
|
|
// Manually change the plugins.ts to enable importOnBoostrap.
|
|
await exec('sed -i "s/importOnBootstrap: false/importOnBootstrap: true/g" config/plugins.ts');
|
|
|
|
// Remove a config file to make sure the importOnBoostrap
|
|
// function actually attempts to import.
|
|
await exec('rm -rf config/sync/admin-role.strapi-editor.json');
|
|
|
|
// Start up Strapi to initiate the importOnBootstrap function.
|
|
await setupStrapi();
|
|
|
|
expect(strapi).toBeDefined();
|
|
});
|
|
});
|