UNPKG

react-native-integrate

Version:

Automate integration of additional code into React Native projects

36 lines (35 loc) 2.15 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 importIosDisplayName_1 = require("../../../../../utils/upgrade/ios/importIosDisplayName"); const mockFs_1 = require("../../../../mocks/mockFs"); const mockPList_1 = require("../../../../mocks/mockPList"); describe('importIosDisplayName', () => { it('should get display name', async () => { const plistPath = `/oldProject/ios/test/${constants_1.Constants.PLIST_FILE_NAME}`; mockFs_1.mockFs.writeFileSync(plistPath, mockPList_1.mockPList.replace('<string>test</string>', '<string>old-name</string>')); mockFs_1.mockFs.writeFileSync(path_1.default.join((0, getProjectPath_1.getProjectPath)(), 'ios/test/Info.plist'), mockPList_1.mockPList); const importGetter = (0, importIosDisplayName_1.importIosDisplayName)('/oldProject'); expect(importGetter).toBeTruthy(); expect(importGetter.value).toEqual('old-name'); await importGetter.apply(); expect(mockFs_1.mockFs.readFileSync(path_1.default.join((0, getProjectPath_1.getProjectPath)(), 'ios/test/Info.plist'))).toContain('<string>old-name</string>'); }); it('should handle errors', () => { mockFs_1.mockFs.setReadPermission(false); const importGetter = (0, importIosDisplayName_1.importIosDisplayName)('/oldProject'); expect(importGetter).toBeNull(); }); it('should handle not finding display name', () => { const plistPath = `/oldProject/ios/test/${constants_1.Constants.PLIST_FILE_NAME}`; mockFs_1.mockFs.writeFileSync(plistPath, mockPList_1.mockPList.replace('CFBundleDisplayName', 'random')); const importGetter = (0, importIosDisplayName_1.importIosDisplayName)('/oldProject'); expect(importGetter).toBeNull(); }); });