react-native-integrate
Version:
Automate integration of additional code into React Native projects
36 lines (35 loc) • 2.15 kB
JavaScript
;
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();
});
});