UNPKG

@microsoft/windows-admin-center-sdk

Version:

Microsoft - Windows Admin Center Shell

72 lines (70 loc) 2.7 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.JasmineTestUpgrader = void 0; const logger_1 = require("../utils/logger"); const file_writer_1 = require("../utils/file-writer"); const command_runner_1 = require("../utils/command-runner"); const jasmine_test_config_1 = require("../configs/jasmine-test-config"); const relative_path_1 = require("../utils/relative-path"); /** * The upgrader for the jamine test files(.spec.ts files) */ class JasmineTestUpgrader { fileWriter; testTsFilePath; debug = false; messages = { notFound: '' }; /** * the constructor. * @param filePath the file path. */ constructor(testTsFilePath, debug = false) { this.messages.notFound = `No spec.ts file found.`; this.testTsFilePath = testTsFilePath; this.debug = debug; } /** * the run function to resolve the errors. */ async run() { try { const getSpecFiles = 'dir /s /b src\\*.spec.ts'; let specFiles = []; logger_1.Logger.log(getSpecFiles); (0, command_runner_1.runCommand)(getSpecFiles, this.debug, true).then(async (response) => { specFiles = response.split('\r\n'); if (!specFiles.length) { logger_1.Logger.log(this.messages.notFound); } specFiles = specFiles.filter(item => item.trim() !== ""); console.log(specFiles); console.log(specFiles.length); for (let i = 0; i < specFiles.length; i++) { const specFile = specFiles[i]; // Wait for 50ms await sleep(50); this.fileWriter = new file_writer_1.FileWriter(specFile); this.fileWriter .addContent(jasmine_test_config_1.adds, false, 0, '') .fixImportHandler(`import { setUpMock } from "${(0, relative_path_1.getRelativePath)(specFile, this.testTsFilePath).replace('.ts', '')}";`) .writeFile(); } /** * This function guarantees that MIMO on file system is not triggering race condition. * @param ms miliseconds * @returns */ function sleep(ms) { return new Promise(resolve => setTimeout(resolve, ms)); } }); } catch (error) { logger_1.Logger.error(error); } } } exports.JasmineTestUpgrader = JasmineTestUpgrader; //# sourceMappingURL=jasmine-test-upgrader.js.map