UNPKG

react-native-integrate

Version:

Automate integration of additional code into React Native projects

72 lines (71 loc) 2.65 kB
"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'); }); });