@zohodesk/testinglibrary 0.0.1 → 0.0.2-n20-experimental
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.babelrc +23 -0
- package/.eslintrc.js +31 -0
- package/.gitlab-ci.yml +163 -0
- package/.prettierrc +6 -0
- package/README.md +98 -18
- package/bin/cli.js +2 -2
- package/bin/postinstall.js +1 -16
- package/{src → build}/core/jest/preprocessor/jsPreprocessor.js +7 -9
- package/{src → build}/core/jest/runner/jest-runner.js +46 -45
- package/build/core/jest/setup/index.js +3 -0
- package/build/core/playwright/builtInFixtures/addTags.js +19 -0
- package/build/core/playwright/builtInFixtures/cacheLayer.js +13 -0
- package/build/core/playwright/builtInFixtures/context.js +32 -0
- package/build/core/playwright/builtInFixtures/executionContext.js +17 -0
- package/build/core/playwright/builtInFixtures/i18N.js +41 -0
- package/build/core/playwright/builtInFixtures/index.js +44 -0
- package/build/core/playwright/builtInFixtures/page.js +101 -0
- package/build/core/playwright/builtInFixtures/unauthenticatedPage.js +18 -0
- package/build/core/playwright/clear-caches.js +49 -0
- package/build/core/playwright/codegen.js +55 -0
- package/build/core/playwright/configuration/Configuration.js +25 -0
- package/build/core/playwright/configuration/ConfigurationHelper.js +43 -0
- package/build/core/playwright/configuration/UserArgs.js +12 -0
- package/build/core/playwright/constants/browserTypes.js +12 -0
- package/build/core/playwright/constants/fileMutexConfig.js +9 -0
- package/build/core/playwright/custom-commands.js +7 -0
- package/build/core/playwright/env-initializer.js +43 -0
- package/build/core/playwright/fixtures.js +24 -0
- package/build/core/playwright/helpers/additionalProfiles.js +18 -0
- package/build/core/playwright/helpers/auth/accountLogin.js +21 -0
- package/build/core/playwright/helpers/auth/checkAuthCookies.js +41 -0
- package/build/core/playwright/helpers/auth/getUrlOrigin.js +13 -0
- package/build/core/playwright/helpers/auth/getUsers.js +118 -0
- package/build/core/playwright/helpers/auth/index.js +76 -0
- package/build/core/playwright/helpers/auth/loginSteps.js +50 -0
- package/build/core/playwright/helpers/checkAuthDirectory.js +27 -0
- package/build/core/playwright/helpers/configFileNameProvider.js +31 -0
- package/build/core/playwright/helpers/fileMutex.js +71 -0
- package/build/core/playwright/helpers/getUserFixtures.js +23 -0
- package/build/core/playwright/helpers/mergeObjects.js +13 -0
- package/build/core/playwright/helpers/parseUserArgs.js +10 -0
- package/build/core/playwright/index.js +24 -0
- package/build/core/playwright/readConfigFile.js +147 -0
- package/build/core/playwright/report-generator.js +42 -0
- package/build/core/playwright/runner/Runner.js +22 -0
- package/build/core/playwright/runner/RunnerHelper.js +43 -0
- package/build/core/playwright/runner/RunnerTypes.js +17 -0
- package/build/core/playwright/runner/SpawnRunner.js +110 -0
- package/build/core/playwright/setup/config-creator.js +113 -0
- package/build/core/playwright/setup/config-utils.js +189 -0
- package/build/core/playwright/setup/custom-reporter.js +136 -0
- package/build/core/playwright/setup/qc-custom-reporter.js +291 -0
- package/build/core/playwright/tagProcessor.js +69 -0
- package/build/core/playwright/test-runner.js +116 -0
- package/build/core/playwright/types.js +44 -0
- package/build/core/playwright/validateFeature.js +28 -0
- package/build/decorators.d.ts +1 -0
- package/build/decorators.js +16 -0
- package/build/index.d.ts +78 -0
- package/build/index.js +105 -0
- package/build/lib/cli.js +78 -0
- package/build/lib/post-install.js +25 -0
- package/build/lint/index.js +4 -0
- package/build/parser/parser.js +205 -0
- package/build/parser/sample.feature +34 -0
- package/build/parser/sample.spec.js +37 -0
- package/build/parser/verifier.js +130 -0
- package/build/setup-folder-structure/helper.js +37 -0
- package/build/setup-folder-structure/reportEnhancement/addonScript.html +25 -0
- package/build/setup-folder-structure/reportEnhancement/reportAlteration.js +25 -0
- package/build/setup-folder-structure/samples/accountLogin-sample.js +19 -0
- package/build/setup-folder-structure/samples/actors-index.js +2 -0
- package/build/setup-folder-structure/samples/auth-setup-sample.js +15 -0
- package/build/setup-folder-structure/samples/editions-index.js +3 -0
- package/build/setup-folder-structure/samples/free-sample.json +25 -0
- package/build/setup-folder-structure/samples/git-ignore.sample.js +37 -0
- package/build/setup-folder-structure/samples/settings.json +7 -0
- package/build/setup-folder-structure/samples/testSetup-sample.js +14 -0
- package/build/setup-folder-structure/samples/uat-config-sample.js +46 -0
- package/build/setup-folder-structure/setupProject.js +122 -0
- package/build/test/core/playwright/__tests__/tagProcessor.test.js +94 -0
- package/build/test/core/playwright/__tests__/validateFeature.test.js +69 -0
- package/build/test/core/playwright/buildInFixtures/__tests__/executionContext.test.js +27 -0
- package/build/test/core/playwright/configuration/__tests__/Configuration.test.js +53 -0
- package/build/test/core/playwright/helpers/__tests__/configFileNameProvider.test.js +34 -0
- package/build/test/core/playwright/helpers/__tests__/fileMutex.test.js +79 -0
- package/build/test/core/playwright/helpers/__tests__/getUsers_ListOfActors.test.js +80 -0
- package/build/test/core/playwright/runner/__tests__/RunnerHelper.test.js +16 -0
- package/build/test/core/playwright/runner/__tests__/SpawnRunner.test.js +27 -0
- package/build/utils/cliArgsToObject.js +72 -0
- package/build/utils/fileUtils.js +89 -0
- package/build/utils/getFilePath.js +11 -0
- package/build/utils/logger.js +57 -0
- package/build/utils/rootPath.js +53 -0
- package/build/utils/stepDefinitionsFormatter.js +11 -0
- package/changelog.md +167 -0
- package/jest.config.js +81 -63
- package/npm-shrinkwrap.json +12575 -0
- package/package.json +60 -31
- package/playwright.config.js +62 -112
- package/src/core/jest/setup/index.js +0 -165
- package/src/core/playwright/codegen.js +0 -61
- package/src/core/playwright/custom-commands.js +0 -3
- package/src/core/playwright/env-initializer.js +0 -24
- package/src/core/playwright/index.js +0 -81
- package/src/core/playwright/readConfigFile.js +0 -18
- package/src/core/playwright/report-generator.js +0 -44
- package/src/core/playwright/test-runner.js +0 -64
- package/src/index.js +0 -9
- package/src/lib/cli.js +0 -35
- package/src/utils/cliArgsToObject.js +0 -35
- package/src/utils/getFilePath.js +0 -9
- package/src/utils/logger.js +0 -28
- package/src/utils/rootPath.js +0 -19
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
const { spawn } = require('child_process');
|
|
2
|
-
const path = require('path');
|
|
3
|
-
const { CUSTOM_COMMANDS } = require('./custom-commands');
|
|
4
|
-
const { cliArgsToObject, objectToCliArgs } = require('../../utils/cliArgsToObject');
|
|
5
|
-
const { initializeEnvConfig } = require('./env-initializer');
|
|
6
|
-
const { Logger } = require('../../utils/logger');
|
|
7
|
-
const getFilePathWithExtension = require('../../utils/getFilePath');
|
|
8
|
-
const generateConfigFromFile = require('./readConfigFile');
|
|
9
|
-
const { getBinPath } = require('../../utils/rootPath');
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
// Access the command line arguments
|
|
14
|
-
const userArgs = process.argv.slice(2);
|
|
15
|
-
|
|
16
|
-
const userArgsObject = cliArgsToObject(userArgs);
|
|
17
|
-
|
|
18
|
-
initializeEnvConfig(userArgsObject.mode ? userArgsObject.mode : 'dev');
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
generateConfigFromFile();
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
const playwrightArgs = objectToCliArgs(userArgsObject, (key) => !CUSTOM_COMMANDS.includes(key));
|
|
26
|
-
|
|
27
|
-
// Command and arguments for npx playwright test
|
|
28
|
-
const playwrightPath = path.resolve(getBinPath(), getFilePathWithExtension('playwright'));
|
|
29
|
-
|
|
30
|
-
const command = playwrightPath;
|
|
31
|
-
const args = ['test', '--config', require.resolve('../../../playwright.config.js')].concat(playwrightArgs);
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
function createTestRunner() {
|
|
35
|
-
// Spawn the child process
|
|
36
|
-
|
|
37
|
-
const childProcess = spawn(command, args, { stdio: 'inherit' });
|
|
38
|
-
|
|
39
|
-
childProcess.on('error', (error) => {
|
|
40
|
-
Logger.log(Logger.FAILURE_TYPE, error);
|
|
41
|
-
})
|
|
42
|
-
|
|
43
|
-
childProcess.on('exit', (code, signal) => {
|
|
44
|
-
Logger.log(Logger.FAILURE_TYPE, `Child Process Exited with Code ${code} and Signal ${signal}`);
|
|
45
|
-
|
|
46
|
-
process.exit();
|
|
47
|
-
});
|
|
48
|
-
|
|
49
|
-
process.on('exit', () => {
|
|
50
|
-
Logger.log(Logger.INFO_TYPE, 'Terminating Playwright Process...');
|
|
51
|
-
//childProcess.kill();
|
|
52
|
-
return;
|
|
53
|
-
});
|
|
54
|
-
|
|
55
|
-
process.on('SIGINT', () => {
|
|
56
|
-
Logger.log(Logger.INFO_TYPE, 'Cleaning up...');
|
|
57
|
-
//childProcess.kill();
|
|
58
|
-
process.exit();
|
|
59
|
-
|
|
60
|
-
});
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
module.exports = createTestRunner;
|
package/src/index.js
DELETED
package/src/lib/cli.js
DELETED
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
const createTestRunner = require("../core/playwright/test-runner");
|
|
2
|
-
const createJestRunner = require('../core/jest/runner/jest-runner');
|
|
3
|
-
const generateReport = require("../core/playwright/report-generator");
|
|
4
|
-
const generateCodegen = require('../core/playwright/codegen')
|
|
5
|
-
const { Logger } = require("../utils/logger");
|
|
6
|
-
|
|
7
|
-
const [, , option] = process.argv;
|
|
8
|
-
const args = process.argv.slice(3);
|
|
9
|
-
const appPath = process.cwd();
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
switch (option) {
|
|
13
|
-
case 'test': {
|
|
14
|
-
Logger.log(Logger.SUCCESS_TYPE, 'Running Tests..');
|
|
15
|
-
createTestRunner();
|
|
16
|
-
//createJestRunner();
|
|
17
|
-
break;
|
|
18
|
-
}
|
|
19
|
-
case 'report': {
|
|
20
|
-
// console.log('\x1b[36mGenerating Reports...\x1b[0m');
|
|
21
|
-
Logger.log(Logger.SUCCESS_TYPE, 'Generating Reports...');
|
|
22
|
-
generateReport();
|
|
23
|
-
break;
|
|
24
|
-
}
|
|
25
|
-
case 'codegen': {
|
|
26
|
-
Logger.log(Logger.INFO_TYPE, 'The purpose of codegen is to assist developer .....')
|
|
27
|
-
generateCodegen();
|
|
28
|
-
break;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
default: {
|
|
32
|
-
console.log('Supported Commands test and report')
|
|
33
|
-
break;
|
|
34
|
-
}
|
|
35
|
-
}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
function cliArgsToObject(cliArgs, isKeyNeedToBeAdded) {
|
|
2
|
-
const processEnv = {};
|
|
3
|
-
cliArgs.forEach(option => {
|
|
4
|
-
if (/^--./.test(option)) {
|
|
5
|
-
const equIndex = option.indexOf('=');
|
|
6
|
-
let key = option.slice(2, equIndex);
|
|
7
|
-
let value = option.slice(equIndex + 1);
|
|
8
|
-
if (equIndex === -1) {
|
|
9
|
-
key = option.slice(2);
|
|
10
|
-
value = true;
|
|
11
|
-
}
|
|
12
|
-
processEnv[key] = value;
|
|
13
|
-
}
|
|
14
|
-
});
|
|
15
|
-
return processEnv;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
function objectToCliArgs(objectToBeConverted, isKeyNeedToBeAdded) {
|
|
19
|
-
const argsArray = [];
|
|
20
|
-
|
|
21
|
-
Object.keys(objectToBeConverted).forEach(key => {
|
|
22
|
-
if (isKeyNeedToBeAdded(key)) {
|
|
23
|
-
if (typeof objectToBeConverted[key] === 'boolean' && objectToBeConverted[key]) {
|
|
24
|
-
argsArray.push(`--${key}`)
|
|
25
|
-
} else {
|
|
26
|
-
argsArray.push(`--${key}=${objectToBeConverted[key]}`)
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
})
|
|
30
|
-
|
|
31
|
-
return argsArray;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
module.exports = { cliArgsToObject, objectToCliArgs };
|
package/src/utils/getFilePath.js
DELETED
package/src/utils/logger.js
DELETED
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
const SUCCESS_TYPE = 'success';
|
|
2
|
-
const FAILURE_TYPE = 'failure';
|
|
3
|
-
const INFO_TYPE = 'info';
|
|
4
|
-
|
|
5
|
-
function logger() {
|
|
6
|
-
this.colors = {
|
|
7
|
-
'success': ['\x1b[36m', '\x1b[0m'],
|
|
8
|
-
'failure': ['\x1b[31m', '\x1b[0m'],
|
|
9
|
-
'info': ['\x1b[33m', '\x1b[0m']
|
|
10
|
-
}
|
|
11
|
-
this.consoleLogger = console;
|
|
12
|
-
return {
|
|
13
|
-
SUCCESS_TYPE,
|
|
14
|
-
FAILURE_TYPE,
|
|
15
|
-
INFO_TYPE,
|
|
16
|
-
error: () => { },
|
|
17
|
-
info: () => { },
|
|
18
|
-
log: (type, message) => {
|
|
19
|
-
const color = this.colors[type];
|
|
20
|
-
this.consoleLogger.log(`${color[0]}${message}${color[1]}`)
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
module.exports = {
|
|
27
|
-
Logger: logger()
|
|
28
|
-
}
|
package/src/utils/rootPath.js
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
const path = require('path')
|
|
2
|
-
|
|
3
|
-
function getRootPath() {
|
|
4
|
-
return path.resolve(__dirname, '../', '../');
|
|
5
|
-
}
|
|
6
|
-
|
|
7
|
-
function getRootNodeModulesPath() {
|
|
8
|
-
return path.resolve(getRootPath(), 'node_modules');
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
function getBinPath() {
|
|
12
|
-
return path.resolve(getRootNodeModulesPath(), '.bin');
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
module.exports = {
|
|
16
|
-
getRootPath,
|
|
17
|
-
getBinPath,
|
|
18
|
-
getRootNodeModulesPath
|
|
19
|
-
}
|