UNPKG

react-native-integrate

Version:

Automate integration of additional code into React Native projects

42 lines (41 loc) 3.08 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 importIosMarketingVersion_1 = require("../../../../../utils/upgrade/ios/importIosMarketingVersion"); const mockFs_1 = require("../../../../mocks/mockFs"); const mockPbxProjTemplate_1 = require("../../../../mocks/mockPbxProjTemplate"); describe('importIosMarketingVersion', () => { it('should get marketing version', async () => { mockFs_1.mockFs.writeFileSync((0, getIosProjectPath_1.getPbxProjectPath)('/oldProject'), mockPbxProjTemplate_1.mockPbxProjTemplate.replace(new RegExp((0, escapeRegExp_1.escapeRegExp)('CURRENT_PROJECT_VERSION = 1'), 'g'), 'MARKETING_VERSION = "5.5"')); mockFs_1.mockFs.writeFileSync((0, getIosProjectPath_1.getPbxProjectPath)(), mockPbxProjTemplate_1.mockPbxProjTemplate); const importGetter = (0, importIosMarketingVersion_1.importIosMarketingVersion)('/oldProject'); expect(importGetter).toBeTruthy(); expect(importGetter.value).toEqual('"5.5"'); await importGetter.apply(); expect(mockFs_1.mockFs.readFileSync((0, getIosProjectPath_1.getPbxProjectPath)())).toContain('MARKETING_VERSION = "5.5"'); }); it('should handle errors', () => { mockFs_1.mockFs.setReadPermission(false); const importGetter = (0, importIosMarketingVersion_1.importIosMarketingVersion)('/oldProject'); expect(importGetter).toBeNull(); }); it('should handle not finding marketing version', () => { mockFs_1.mockFs.writeFileSync((0, getIosProjectPath_1.getPbxProjectPath)('/oldProject'), mockPbxProjTemplate_1.mockPbxProjTemplate); const importGetter = (0, importIosMarketingVersion_1.importIosMarketingVersion)('/oldProject'); expect(importGetter).toBeNull(); }); it('should get marketing version from variable', async () => { mockFs_1.mockFs.writeFileSync((0, getIosProjectPath_1.getPbxProjectPath)('/oldProject'), mockPbxProjTemplate_1.mockPbxProjTemplate .replace(new RegExp((0, escapeRegExp_1.escapeRegExp)('CURRENT_PROJECT_VERSION = 1'), 'g'), 'MARKETING_VERSION = "${VARIABLE}"') .replace(new RegExp((0, escapeRegExp_1.escapeRegExp)('ALWAYS_SEARCH_USER_PATHS = NO;'), 'g'), 'VARIABLE = 5;')); mockFs_1.mockFs.writeFileSync((0, getIosProjectPath_1.getPbxProjectPath)(), mockPbxProjTemplate_1.mockPbxProjTemplate); const importGetter = (0, importIosMarketingVersion_1.importIosMarketingVersion)('/oldProject'); expect(importGetter).toBeTruthy(); expect(importGetter.value).toEqual('"${VARIABLE}" (5)'); await importGetter.apply(); expect(mockFs_1.mockFs.readFileSync((0, getIosProjectPath_1.getPbxProjectPath)())).toContain('MARKETING_VERSION = "${VARIABLE}"'); expect(mockFs_1.mockFs.readFileSync((0, getIosProjectPath_1.getPbxProjectPath)())).toContain('VARIABLE = 5;'); }); });