react-native-integrate
Version:
Automate integration of additional code into React Native projects
30 lines (29 loc) • 1.65 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 getProjectPath_1 = require("../../../../utils/getProjectPath");
const restoreBackupFiles_1 = require("../../../../utils/upgrade/restoreBackupFiles");
const mockFs_1 = require("../../../mocks/mockFs");
describe('restoreBackupFiles', () => {
it('should restore backup files in .upgrade', async () => {
mockFs_1.mockFs.writeFileSync(path_1.default.join((0, getProjectPath_1.getProjectPath)(), '.upgrade/imports/test/some.file'), 'random');
const didRestore = await (0, restoreBackupFiles_1.restoreBackupFiles)();
expect(didRestore).toBeTruthy();
expect(mockFs_1.mockFs.readFileSync(path_1.default.join((0, getProjectPath_1.getProjectPath)(), 'test/some.file'))).toEqual('random');
});
it('should handle not finding backup files', async () => {
const didRestore = await (0, restoreBackupFiles_1.restoreBackupFiles)();
expect(didRestore).toBeFalsy();
});
it('should handle copy error', async () => {
mockFs_1.mockFs.writeFileSync(path_1.default.join((0, getProjectPath_1.getProjectPath)(), '.upgrade/imports/test/some.file'), 'random');
mockFs_1.mockFs.copyFile.mockImplementationOnce((_from, _to, cb) => {
cb(new Error('random'));
});
await expect((0, restoreBackupFiles_1.restoreBackupFiles)()).rejects.toThrow('random');
});
});