react-native-integrate
Version:
Automate integration of additional code into React Native projects
72 lines (71 loc) • 2.65 kB
JavaScript
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
require('../../mocks/mockAll');
const path_1 = __importDefault(require("path"));
const scriptTask_1 = require("../../../tasks/scriptTask");
const taskManager_1 = require("../../../utils/taskManager");
const variables_1 = require("../../../variables");
const mockFs_1 = require("../../mocks/mockFs");
describe('scriptTask', () => {
it('should work', async () => {
const task = {
task: 'script',
actions: [
{
script: `
const fs = require('fs');
set('script', 'working')
`,
},
],
};
await (0, scriptTask_1.scriptTask)({
configPath: 'path/to/config',
task: task,
packageName: 'test-package',
taskManager: taskManager_1.taskManager,
});
expect(variables_1.variables.get('script')).toEqual('working');
});
it('should require plugin', async () => {
mockFs_1.mockFs.writeFileSync(path_1.default.join(__dirname, '../../mocks/mockTestPlugin.js'), 'dummy');
const task = {
task: 'script',
actions: [
{
module: '../../src/__tests__/mocks/mockTestPlugin.js',
},
],
};
await (0, scriptTask_1.scriptTask)({
configPath: 'path/to/config',
task: task,
packageName: 'test-package',
taskManager: taskManager_1.taskManager,
});
expect(variables_1.variables.get('script')).toEqual('working');
});
it('should download non existing plugin', async () => {
mockFs_1.mockFs.writeFileSync(path_1.default.join(__dirname, '../../mocks/mockTestPlugin.js'), 'dummy');
const task = {
task: 'script',
actions: [
{
module: '../../src/__tests__/mocks/mockTestPlugin.js',
},
],
};
mockFs_1.mockFs.existsSync.mockImplementationOnce(() => false);
await (0, scriptTask_1.scriptTask)({
configPath: 'path/to/config',
task: task,
packageName: 'test-package',
taskManager: taskManager_1.taskManager,
});
expect(fetch).toHaveBeenCalledWith(expect.stringContaining('mockTestPlugin.js'));
expect(variables_1.variables.get('script')).toEqual('working');
});
});