@zohodesk/testinglibrary 0.2.0 → 0.2.1
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/build/core/playwright/builtInFixtures/page.js +5 -16
- package/build/core/playwright/clear-caches.js +5 -3
- package/build/core/playwright/env-initializer.js +3 -2
- package/build/core/playwright/helpers/auth/checkAuthCookies.js +2 -0
- package/build/core/playwright/helpers/auth/getUsers.js +12 -4
- package/build/core/playwright/helpers/auth/index.js +6 -0
- package/build/core/playwright/readConfigFile.js +1 -0
- package/build/core/playwright/test-runner.js +1 -1
- package/build/setup-folder-structure/samples/auth-setup-sample.js +2 -0
- package/build/setup-folder-structure/setupProject.js +1 -0
- package/build/utils/fileUtils.js +5 -0
- package/changelog.md +5 -1
- package/npm-shrinkwrap.json +1 -1
- package/package.json +1 -1
|
@@ -60,25 +60,14 @@ var _default = exports.default = {
|
|
|
60
60
|
$tags,
|
|
61
61
|
page
|
|
62
62
|
});
|
|
63
|
-
const
|
|
64
|
-
|
|
65
|
-
profile
|
|
66
|
-
} = (0, _auth.getDefaultActor)();
|
|
67
|
-
const user = (0, _auth.getUserForSelectedEditionAndProfile)(edition, profile);
|
|
68
|
-
const {
|
|
69
|
-
password,
|
|
70
|
-
...actorInfo
|
|
71
|
-
} = user;
|
|
72
|
-
process.env.actorInfo = JSON.stringify(actorInfo);
|
|
63
|
+
const user = (0, _auth.getDefaultActor)();
|
|
64
|
+
process.env.actorInfo = JSON.stringify(user);
|
|
73
65
|
await use(page);
|
|
74
66
|
} else {
|
|
75
67
|
await context.clearCookies();
|
|
76
68
|
const {
|
|
77
|
-
email
|
|
78
|
-
|
|
79
|
-
const {
|
|
80
|
-
password,
|
|
81
|
-
...actorInfo
|
|
69
|
+
email,
|
|
70
|
+
password
|
|
82
71
|
} = testPortalDetails;
|
|
83
72
|
await (0, _auth.performLoginSteps)({
|
|
84
73
|
page,
|
|
@@ -86,7 +75,7 @@ var _default = exports.default = {
|
|
|
86
75
|
useremail: email,
|
|
87
76
|
password: password
|
|
88
77
|
}, async () => page.url().includes(process.env.domain));
|
|
89
|
-
process.env.actorInfo = JSON.stringify(
|
|
78
|
+
process.env.actorInfo = JSON.stringify(testPortalDetails);
|
|
90
79
|
await performDefaultPageSteps({
|
|
91
80
|
context,
|
|
92
81
|
$tags,
|
|
@@ -10,9 +10,10 @@ var _fileUtils = require("../../utils/fileUtils");
|
|
|
10
10
|
var _logger = require("../../utils/logger");
|
|
11
11
|
var _readConfigFile = require("./readConfigFile");
|
|
12
12
|
function deleteAuthFiles(authFilePath) {
|
|
13
|
-
authFilePath.
|
|
14
|
-
|
|
15
|
-
|
|
13
|
+
authFilePath = _path.default.resolve(process.cwd(), authFilePath);
|
|
14
|
+
const authFileFolder = _path.default.dirname(authFilePath);
|
|
15
|
+
_logger.Logger.log(_logger.Logger.INFO_TYPE, `Deleting auth files present in ${authFileFolder}`);
|
|
16
|
+
(0, _fileUtils.deleteFolder)(authFileFolder);
|
|
16
17
|
}
|
|
17
18
|
function deletePlaywrightReport(reportPath) {
|
|
18
19
|
_logger.Logger.log(_logger.Logger.INFO_TYPE, `Deleting Playwright report ${reportPath}`);
|
|
@@ -34,6 +35,7 @@ function clearCaches() {
|
|
|
34
35
|
deleteGeneratedFeatures();
|
|
35
36
|
_logger.Logger.log(_logger.Logger.SUCCESS_TYPE, 'Caches Cleared. Now you can try running npm run uat');
|
|
36
37
|
} catch (err) {
|
|
38
|
+
_logger.Logger.error(err);
|
|
37
39
|
_logger.Logger.log(_logger.Logger.FAILURE_TYPE, 'Error While clearing cookies. Try manually delete folder uat/playwright and uat/playwright-report');
|
|
38
40
|
}
|
|
39
41
|
}
|
|
@@ -29,12 +29,13 @@ function initializeEnvConfig(mode) {
|
|
|
29
29
|
}
|
|
30
30
|
const configFile = (0, _fs.readFileSync)(_path.default.resolve(process.cwd(), `./${(0, _configFileNameProvider.getEnvConfigFilePath)(mode)}`));
|
|
31
31
|
const configJSON = JSON.parse(configFile);
|
|
32
|
-
const defaultActorConfiguration = (0, _getUsers.
|
|
32
|
+
const defaultActorConfiguration = (0, _getUsers.getDefaultActorConf)();
|
|
33
33
|
setEnvironmentVariables(mode, {
|
|
34
34
|
...configJSON,
|
|
35
35
|
...defaultActorConfiguration
|
|
36
36
|
});
|
|
37
37
|
} catch (err) {
|
|
38
|
-
|
|
38
|
+
_logger.Logger.error(err);
|
|
39
|
+
throw new Error(`Config File Not Exists. Please provide a config file ${(0, _configFileNameProvider.getEnvConfigFilePath)(mode)} to intiailize the environment variables `);
|
|
39
40
|
}
|
|
40
41
|
}
|
|
@@ -10,6 +10,7 @@ exports.verifyIfCookieFileExists = verifyIfCookieFileExists;
|
|
|
10
10
|
var _path = _interopRequireDefault(require("path"));
|
|
11
11
|
var _fs = require("fs");
|
|
12
12
|
var _readConfigFile = require("../../readConfigFile");
|
|
13
|
+
var _logger = require("../../../../utils/logger");
|
|
13
14
|
/* eslint-disable no-console */
|
|
14
15
|
|
|
15
16
|
const authContent = {
|
|
@@ -38,6 +39,7 @@ function convertCookiesToParse(cookies, authFilePath) {
|
|
|
38
39
|
try {
|
|
39
40
|
return JSON.parse(cookies);
|
|
40
41
|
} catch (err) {
|
|
42
|
+
_logger.Logger.error(err);
|
|
41
43
|
throw new Error(` Error while parsing cookies ${err} \n${_path.default.resolve(process.cwd(), authFilePath)} File is Empty`);
|
|
42
44
|
// process.exit()
|
|
43
45
|
}
|
|
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
value: true
|
|
6
6
|
});
|
|
7
7
|
exports.getDefaultActor = getDefaultActor;
|
|
8
|
+
exports.getDefaultActorConf = getDefaultActorConf;
|
|
8
9
|
exports.getListOfActors = getListOfActors;
|
|
9
10
|
exports.getRunMode = getRunMode;
|
|
10
11
|
exports.getUserForSelectedEditionAndProfile = getUserForSelectedEditionAndProfile;
|
|
@@ -28,7 +29,7 @@ function isDevelopmentSetup() {
|
|
|
28
29
|
const mode = getRunMode();
|
|
29
30
|
return mode === 'DEV' || mode === 'dev';
|
|
30
31
|
}
|
|
31
|
-
function
|
|
32
|
+
function getDefaultActorConf() {
|
|
32
33
|
const {
|
|
33
34
|
uatDirectory
|
|
34
35
|
} = (0, _readConfigFile.generateConfigFromFile)();
|
|
@@ -39,6 +40,13 @@ function getDefaultActor() {
|
|
|
39
40
|
}
|
|
40
41
|
return require(filePath);
|
|
41
42
|
}
|
|
43
|
+
function getDefaultActor() {
|
|
44
|
+
const {
|
|
45
|
+
edition,
|
|
46
|
+
profile
|
|
47
|
+
} = getDefaultActorConf();
|
|
48
|
+
return getUserForSelectedEditionAndProfile(edition, profile);
|
|
49
|
+
}
|
|
42
50
|
function getListOfActors() {
|
|
43
51
|
const {
|
|
44
52
|
uatDirectory
|
|
@@ -56,9 +64,9 @@ function getUserForSelectedEditionAndProfile(preferedEdition, preferredProfile,
|
|
|
56
64
|
editions: userdata,
|
|
57
65
|
beta: betaPortals
|
|
58
66
|
} = getListOfActors();
|
|
59
|
-
const
|
|
60
|
-
const edition = preferedEdition ||
|
|
61
|
-
const profile = preferredProfile ||
|
|
67
|
+
const defaultConf = getDefaultActorConf();
|
|
68
|
+
const edition = preferedEdition || defaultConf.edition;
|
|
69
|
+
const profile = preferredProfile || defaultConf.profile;
|
|
62
70
|
let selectedProfile = {};
|
|
63
71
|
if (betaFeature && betaFeature !== null) {
|
|
64
72
|
if (!betaPortals.hasOwnProperty(betaFeature)) {
|
|
@@ -16,6 +16,12 @@ Object.defineProperty(exports, "getDefaultActor", {
|
|
|
16
16
|
return _getUsers.getDefaultActor;
|
|
17
17
|
}
|
|
18
18
|
});
|
|
19
|
+
Object.defineProperty(exports, "getDefaultActorConf", {
|
|
20
|
+
enumerable: true,
|
|
21
|
+
get: function () {
|
|
22
|
+
return _getUsers.getDefaultActorConf;
|
|
23
|
+
}
|
|
24
|
+
});
|
|
19
25
|
Object.defineProperty(exports, "getListOfActors", {
|
|
20
26
|
enumerable: true,
|
|
21
27
|
get: function () {
|
|
@@ -116,7 +116,7 @@ function main() {
|
|
|
116
116
|
promises.push(runPreprocessing(tagArgs, configPath));
|
|
117
117
|
}
|
|
118
118
|
Promise.all(promises).then(() => runPlaywright(command, args)).catch(err => {
|
|
119
|
-
_logger.Logger.
|
|
119
|
+
_logger.Logger.error(err);
|
|
120
120
|
process.exit();
|
|
121
121
|
});
|
|
122
122
|
}
|
|
@@ -3,6 +3,7 @@ import { test as setup, expect } from '@zohodesk/testinglibrary';
|
|
|
3
3
|
import path from 'path';
|
|
4
4
|
import { existsSync, mkdirSync, readFileSync, writeFileSync } from 'fs';
|
|
5
5
|
import { getAuthFileDirectory } from '../../core/playwright';
|
|
6
|
+
import { Logger } from '../../utils/logger';
|
|
6
7
|
|
|
7
8
|
const userdata = require('./authUsers.json');
|
|
8
9
|
|
|
@@ -15,6 +16,7 @@ function convertCookiesToParse(cookies, authFilePath) {
|
|
|
15
16
|
try {
|
|
16
17
|
return JSON.parse(cookies);
|
|
17
18
|
} catch (err) {
|
|
19
|
+
Logger.error(err);
|
|
18
20
|
throw new Error(
|
|
19
21
|
` Error while parsing cookies ${err} \n${path.resolve(
|
|
20
22
|
process.cwd(),
|
|
@@ -74,6 +74,7 @@ function createAuthenticationFile() {
|
|
|
74
74
|
(0, _fs.writeFileSync)(_path.default.resolve(process.cwd(), 'uat', 'fixtures', 'authUsers.json'), getSetupFileAsString('authUsers-sample.json'), null, 2);
|
|
75
75
|
_logger.Logger.log(_logger.Logger.INFO_TYPE, 'Creating Authentication File ....');
|
|
76
76
|
} catch (err) {
|
|
77
|
+
_logger.Logger.error(err);
|
|
77
78
|
_logger.Logger.log(_logger.Logger.FAILURE_TYPE, 'Something went wrong ! Folder not Created. Please re-initialize npm init-uat');
|
|
78
79
|
}
|
|
79
80
|
} else {
|
package/build/utils/fileUtils.js
CHANGED
|
@@ -17,6 +17,7 @@ function checkIfFileExists(file) {
|
|
|
17
17
|
_fs.default.accessSync(file, _fs.default.constants.F_OK);
|
|
18
18
|
return true;
|
|
19
19
|
} catch (err) {
|
|
20
|
+
_logger.Logger.error(err);
|
|
20
21
|
return false;
|
|
21
22
|
}
|
|
22
23
|
}
|
|
@@ -25,6 +26,7 @@ function readFileContents(filePath) {
|
|
|
25
26
|
let fileContents = _fs.default.readFileSync(filePath, 'utf-8');
|
|
26
27
|
return fileContents;
|
|
27
28
|
} catch (err) {
|
|
29
|
+
_logger.Logger.error(err);
|
|
28
30
|
return null;
|
|
29
31
|
}
|
|
30
32
|
}
|
|
@@ -40,6 +42,7 @@ function writeFileContents(filePath, content, writeOptions = {}) {
|
|
|
40
42
|
try {
|
|
41
43
|
_fs.default.writeFileSync(`${filePath}`, content, writeOptions);
|
|
42
44
|
} catch (err) {
|
|
45
|
+
_logger.Logger.error(err);
|
|
43
46
|
throw new Error(err);
|
|
44
47
|
}
|
|
45
48
|
}
|
|
@@ -48,6 +51,7 @@ function deleteFile(filePath) {
|
|
|
48
51
|
try {
|
|
49
52
|
_fs.default.unlinkSync(filePath);
|
|
50
53
|
} catch (err) {
|
|
54
|
+
_logger.Logger.error(err);
|
|
51
55
|
throw new Error(`Error while deleting the test data file: ${filePath}`);
|
|
52
56
|
}
|
|
53
57
|
} else {
|
|
@@ -61,6 +65,7 @@ function deleteFolder(folderPath) {
|
|
|
61
65
|
recursive: true
|
|
62
66
|
});
|
|
63
67
|
} catch (err) {
|
|
68
|
+
_logger.Logger.error(err);
|
|
64
69
|
throw new Error(`Error while deleting the test data file: ${folderPath}`);
|
|
65
70
|
}
|
|
66
71
|
}
|
package/changelog.md
CHANGED
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
# Testing Framework
|
|
2
2
|
|
|
3
3
|
## Framework that abstracts the configuration for playwright and Jest
|
|
4
|
+
# 0.2.1
|
|
5
|
+
**Issue Fixes**
|
|
6
|
+
- Fixes issue in actors configuration
|
|
7
|
+
- Added Error Logger
|
|
4
8
|
|
|
5
|
-
#
|
|
9
|
+
# 0.2.0
|
|
6
10
|
**Major Breaking Change**
|
|
7
11
|
- Removed Env-config.json in favour of conf/*/settings.json
|
|
8
12
|
- Mode in uat.config.js is deprecated. Use command args instead
|
package/npm-shrinkwrap.json
CHANGED