UNPKG

react-native-integrate

Version:

Automate integration of additional code into React Native projects

39 lines (38 loc) 2.02 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 getProjectPath_1 = require("../../../../../utils/getProjectPath"); const importUpgradeFolder_1 = require("../../../../../utils/upgrade/other/importUpgradeFolder"); const mockFs_1 = require("../../../../mocks/mockFs"); describe('importUpgradeFolder', () => { it('should get .upgrade', async () => { mockFs_1.mockFs.writeFileSync('/oldProject/.upgrade/some.file', 'random'); const importGetter = (0, importUpgradeFolder_1.importUpgradeFolder)('/oldProject'); expect(importGetter).toBeTruthy(); expect(importGetter.value).toEqual('1 files'); await importGetter.apply(); expect(mockFs_1.mockFs.readFileSync(path_1.default.join((0, getProjectPath_1.getProjectPath)(), '.upgrade/some.file'))).toContain('random'); }); it('should handle errors', () => { mockFs_1.mockFs.setReadPermission(false); mockFs_1.mockFs.writeFileSync('/oldProject/.upgrade/some.file', 'random'); const importGetter = (0, importUpgradeFolder_1.importUpgradeFolder)('/oldProject'); expect(importGetter).toBeNull(); }); it('should handle not finding .upgrade folder', () => { const importGetter = (0, importUpgradeFolder_1.importUpgradeFolder)('/oldProject'); expect(importGetter).toBeNull(); }); it('should handle copy error', async () => { mockFs_1.mockFs.writeFileSync('/oldProject/.upgrade/some.file', 'random'); mockFs_1.mockFs.copyFile.mockImplementationOnce((_from, _to, cb) => { cb(new Error('random')); }); const importGetter = (0, importUpgradeFolder_1.importUpgradeFolder)('/oldProject'); await expect(importGetter.apply()).rejects.toThrow('random'); }); });