UNPKG

react-native-integrate

Version:

Automate integration of additional code into React Native projects

30 lines (29 loc) 2.16 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); require('../../../../mocks/mockAll'); const escapeRegExp_1 = require("../../../../../utils/escapeRegExp"); const getIosProjectPath_1 = require("../../../../../utils/getIosProjectPath"); const importIosBundleId_1 = require("../../../../../utils/upgrade/ios/importIosBundleId"); const mockFs_1 = require("../../../../mocks/mockFs"); const mockPbxProjTemplate_1 = require("../../../../mocks/mockPbxProjTemplate"); describe('importIosBundleId', () => { it('should get bundle id', async () => { mockFs_1.mockFs.writeFileSync((0, getIosProjectPath_1.getPbxProjectPath)('/oldProject'), mockPbxProjTemplate_1.mockPbxProjTemplate.replace(new RegExp((0, escapeRegExp_1.escapeRegExp)('PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)"'), 'g'), 'PRODUCT_BUNDLE_IDENTIFIER = "com.oldProject"')); mockFs_1.mockFs.writeFileSync((0, getIosProjectPath_1.getPbxProjectPath)(), mockPbxProjTemplate_1.mockPbxProjTemplate); const importGetter = (0, importIosBundleId_1.importIosBundleId)('/oldProject'); expect(importGetter).toBeTruthy(); expect(importGetter.value).toEqual('com.oldProject'); await importGetter.apply(); expect(mockFs_1.mockFs.readFileSync((0, getIosProjectPath_1.getPbxProjectPath)())).toContain('PRODUCT_BUNDLE_IDENTIFIER = com.oldProject'); }); it('should handle errors', () => { mockFs_1.mockFs.setReadPermission(false); const importGetter = (0, importIosBundleId_1.importIosBundleId)('/oldProject'); expect(importGetter).toBeNull(); }); it('should handle not finding bundle id', () => { mockFs_1.mockFs.writeFileSync((0, getIosProjectPath_1.getPbxProjectPath)('/oldProject'), mockPbxProjTemplate_1.mockPbxProjTemplate.replace(new RegExp((0, escapeRegExp_1.escapeRegExp)('PRODUCT_BUNDLE_IDENTIFIER = "org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)"'), 'g'), 'random = "random"')); const importGetter = (0, importIosBundleId_1.importIosBundleId)('/oldProject'); expect(importGetter).toBeNull(); }); });