UNPKG

react-native-integrate

Version:

Automate integration of additional code into React Native projects

44 lines (43 loc) 2.17 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 constants_1 = require("../../../../../constants"); const getProjectPath_1 = require("../../../../../utils/getProjectPath"); const importIntegrateLockJson_1 = require("../../../../../utils/upgrade/other/importIntegrateLockJson"); const mockFs_1 = require("../../../../mocks/mockFs"); describe('importIntegrateLockJson', () => { it('should get integrate-lock.json', async () => { mockFs_1.mockFs.writeFileSync('/oldProject/' + constants_1.Constants.LOCK_FILE_NAME, JSON.stringify({ lockfileVersion: 1, packages: { 'mock-package': { integrated: true, version: '1.0.0', }, 'non-integrated-mock-package': { integrated: false, version: '1.0.0', }, }, }, null, 2)); const importGetter = (0, importIntegrateLockJson_1.importIntegrateLockJson)('/oldProject'); expect(importGetter).toBeTruthy(); expect(importGetter.value).toEqual('2 total, 1 integrated packages'); await importGetter.apply(); expect(mockFs_1.mockFs.readFileSync(path_1.default.join((0, getProjectPath_1.getProjectPath)(), constants_1.Constants.LOCK_FILE_NAME))).toContain('non-integrated-mock-package'); }); it('should handle errors', () => { mockFs_1.mockFs.setReadPermission(false); mockFs_1.mockFs.writeFileSync('/oldProject/' + constants_1.Constants.LOCK_FILE_NAME, ''); const importGetter = (0, importIntegrateLockJson_1.importIntegrateLockJson)('/oldProject'); expect(importGetter).toBeNull(); }); it('should handle not finding integrate lock', () => { const importGetter = (0, importIntegrateLockJson_1.importIntegrateLockJson)('/oldProject'); expect(importGetter).toBeNull(); }); });