react-native-integrate
Version:
Automate integration of additional code into React Native projects
33 lines (32 loc) • 1.95 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 importIntegrateConfig_1 = require("../../../../../utils/upgrade/other/importIntegrateConfig");
const mockFs_1 = require("../../../../mocks/mockFs");
describe('importIntegrateConfig', () => {
it('should get integrate.config.js', async () => {
const configFile = path_1.default.join(__dirname, '../../../../mocks', constants_1.Constants.INTEGRATE_CONFIG_FILE_NAME);
mockFs_1.mockFs.writeFileSync(configFile, "module.exports = {plugins: ['test']}");
const importGetter = (0, importIntegrateConfig_1.importIntegrateConfig)(path_1.default.join(__dirname, '../../../../mocks'));
expect(importGetter).toBeTruthy();
expect(importGetter.value).toEqual('1 plugin configuration');
await importGetter.apply();
expect(mockFs_1.mockFs.readFileSync(path_1.default.join((0, getProjectPath_1.getProjectPath)(), constants_1.Constants.INTEGRATE_CONFIG_FILE_NAME))).toContain("module.exports = {plugins: ['test']}");
});
it('should handle errors', () => {
mockFs_1.mockFs.setReadPermission(false);
mockFs_1.mockFs.writeFileSync('/oldProject/' + constants_1.Constants.LOCK_FILE_NAME, '');
const importGetter = (0, importIntegrateConfig_1.importIntegrateConfig)('/oldProject');
expect(importGetter).toBeNull();
});
it('should handle not finding integrate config', () => {
const importGetter = (0, importIntegrateConfig_1.importIntegrateConfig)('/oldProject');
expect(importGetter).toBeNull();
});
});