@uuv/runner-commons
Version:
A common lib for uuv
136 lines (135 loc) • 5.71 kB
JavaScript
;
/**
* 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;