UNPKG

@uuv/runner-commons

Version:
136 lines (135 loc) 5.71 kB
"use strict"; /** * Software Name : UUV * * SPDX-License-Identifier: MIT * * This software is distributed under the MIT License, * see the "LICENSE" file for more details * * Authors: NJAKO MOLOM Louis Fredice & SERVICAL Stanley * Software description: Make test writing fast, understandable by any human * understanding English or French. */ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar = (this && this.__importStar) || (function () { var ownKeys = function(o) { ownKeys = Object.getOwnPropertyNames || function (o) { var ar = []; for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k; return ar; }; return ownKeys(o); }; return function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]); __setModuleDefault(result, mod); return result; }; })(); var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.Common = exports.KEY_PRESS = exports.STEP_DEFINITION_FILE_NAME = exports.TEST_RUNNER_ENUM = exports.GenerateFileProcessing = exports.fs = void 0; exports.getDefinedRoles = getDefinedRoles; const fs_1 = __importDefault(require("fs")); exports.fs = fs_1.default; const path = __importStar(require("path")); const lang_enum_1 = require("./lang-enum"); const en_roles_1 = require("../assets/i18n/web/en/en-roles"); const fr_roles_1 = require("../assets/i18n/web/fr/fr-roles"); class GenerateFileProcessing { baseDir; stepDefinitionFile; generatedDir; wordingFilePath; constructor(baseDir, runner, stepDefinitionFileName, wordingFileRelativePath) { this.baseDir = baseDir; this.stepDefinitionFile = `${this.baseDir}/src/cucumber/step_definitions/${runner.toString()}/${stepDefinitionFileName.toString()}.ts`; this.generatedDir = `${this.baseDir}/src/cucumber/step_definitions/${runner.toString()}/generated`; this.stepDefinitionFile = path.join(this.baseDir, `src/cucumber/step_definitions/${runner.toString()}/${stepDefinitionFileName.toString()}.ts`); this.generatedDir = path.join(this.baseDir, `src/cucumber/step_definitions/${runner.toString()}/generated`); this.wordingFilePath = path.join(__dirname, `${wordingFileRelativePath}`); } } exports.GenerateFileProcessing = GenerateFileProcessing; function getDefinedRoles(lang) { switch (lang) { case lang_enum_1.LANG.FR.toString(): return fr_roles_1.FR_ROLES; default: return en_roles_1.EN_ROLES; } } var TEST_RUNNER_ENUM; (function (TEST_RUNNER_ENUM) { TEST_RUNNER_ENUM["CYPRESS"] = "cypress"; TEST_RUNNER_ENUM["PLAYWRIGHT"] = "playwright"; })(TEST_RUNNER_ENUM || (exports.TEST_RUNNER_ENUM = TEST_RUNNER_ENUM = {})); var STEP_DEFINITION_FILE_NAME; (function (STEP_DEFINITION_FILE_NAME) { STEP_DEFINITION_FILE_NAME["BASE"] = "base-check-engine"; STEP_DEFINITION_FILE_NAME["BY_ROLE"] = "based-role-check-engine"; })(STEP_DEFINITION_FILE_NAME || (exports.STEP_DEFINITION_FILE_NAME = STEP_DEFINITION_FILE_NAME = {})); var KEY_PRESS; (function (KEY_PRESS) { KEY_PRESS["TAB"] = "{tab}"; KEY_PRESS["REVERSE_TAB"] = "{reverseTab}"; KEY_PRESS["UP"] = "{up}"; KEY_PRESS["DOWN"] = "{down}"; KEY_PRESS["LEFT"] = "{left}"; KEY_PRESS["RIGHT"] = "{right}"; })(KEY_PRESS || (exports.KEY_PRESS = KEY_PRESS = {})); class Common { static buildDirIfNotExists(directory) { console.log(`[CREATE] ${directory} CREATE successfully`); if (!fs_1.default.existsSync(directory)) { fs_1.default.mkdirSync(directory, { recursive: true }); } } static cleanGeneratedFilesIfExists(generatedFile) { if (fs_1.default.existsSync(generatedFile)) { fs_1.default.rmSync(generatedFile); const url = generatedFile.split("/"); console.log(`[DEL] ${url[url.length - 1]} deleted successfully`); } } static cleanFolderIfExists(folder) { if (fs_1.default.existsSync(folder)) { fs_1.default.rmSync(folder, { recursive: true, force: true }); const url = folder.split("/"); console.log(`[DEL] ${url[url.length - 1]} deleted successfully`); } } static writeWordingFile(generatedFile, data) { fs_1.default.writeFileSync(generatedFile, data); console.log(`[WRITE] ${generatedFile} written successfully`); } static deleteAllFileOfDirectory(dirPath) { for (const file of fs_1.default.readdirSync(dirPath)) { const filePath = path.join(dirPath, file); if (fs_1.default.lstatSync(filePath).isFile()) { fs_1.default.rmSync(filePath); } } } } exports.Common = Common;