@zohodesk/testinglibrary 0.2.3 → 0.2.5
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/i18N.js +8 -0
- package/build/core/playwright/builtInFixtures/page.js +20 -1
- package/build/core/playwright/env-initializer.js +8 -2
- package/build/core/playwright/helpers/auth/getUsers.js +19 -2
- package/build/core/playwright/helpers/auth/loginSteps.js +6 -1
- package/build/core/playwright/index.js +6 -16
- package/changelog.md +5 -0
- package/package.json +1 -1
|
@@ -20,11 +20,19 @@ function replaceI18NValuesWithRegex(i18nStr, values) {
|
|
|
20
20
|
}
|
|
21
21
|
return i18nStr;
|
|
22
22
|
}
|
|
23
|
+
async function isI18NKeyDefined(key) {
|
|
24
|
+
return new Promise(resolve => {
|
|
25
|
+
if (typeof window.i18n[key] !== 'undefined') {
|
|
26
|
+
resolve();
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
}
|
|
23
30
|
var _default = exports.default = {
|
|
24
31
|
i18N: async ({
|
|
25
32
|
page
|
|
26
33
|
}, use) => {
|
|
27
34
|
await use(async (key, values) => {
|
|
35
|
+
await page.waitForFunction(isI18NKeyDefined(key));
|
|
28
36
|
const i18nValue = await page.evaluate(i18nKey => window.i18n[i18nKey], key);
|
|
29
37
|
const i18nStr = replaceI18NValuesWithRegex(i18nValue, values);
|
|
30
38
|
return i18nStr;
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
3
4
|
Object.defineProperty(exports, "__esModule", {
|
|
4
5
|
value: true
|
|
5
6
|
});
|
|
6
7
|
exports.default = void 0;
|
|
7
8
|
var _auth = require("../helpers/auth");
|
|
9
|
+
var _getUrlOrigin = _interopRequireDefault(require("../helpers/auth/getUrlOrigin"));
|
|
8
10
|
var _readConfigFile = require("../readConfigFile");
|
|
9
11
|
/* eslint-disable global-require */
|
|
10
12
|
|
|
@@ -47,12 +49,27 @@ async function performDefaultPageSteps({
|
|
|
47
49
|
await page.goto(process.env.domain);
|
|
48
50
|
}
|
|
49
51
|
}
|
|
52
|
+
async function verifyPageIsLoaded(page) {
|
|
53
|
+
const urlOrigin = (0, _getUrlOrigin.default)(page.url());
|
|
54
|
+
const domainOrigin = (0, _getUrlOrigin.default)(process.env.domain);
|
|
55
|
+
if (urlOrigin === domainOrigin) {
|
|
56
|
+
return true;
|
|
57
|
+
}
|
|
58
|
+
return false;
|
|
59
|
+
}
|
|
50
60
|
var _default = exports.default = {
|
|
51
61
|
page: async ({
|
|
52
62
|
context,
|
|
53
63
|
$tags,
|
|
54
64
|
page
|
|
55
65
|
}, use) => {
|
|
66
|
+
const {
|
|
67
|
+
isAuthMode
|
|
68
|
+
} = (0, _readConfigFile.generateConfigFromFile)();
|
|
69
|
+
if (!isAuthMode) {
|
|
70
|
+
await use(page);
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
56
73
|
const testPortalDetails = getCustomAccountDetails($tags);
|
|
57
74
|
if (testPortalDetails === null) {
|
|
58
75
|
await performDefaultPageSteps({
|
|
@@ -74,7 +91,9 @@ var _default = exports.default = {
|
|
|
74
91
|
authFilePrefix: email,
|
|
75
92
|
useremail: email,
|
|
76
93
|
password: password
|
|
77
|
-
}, async () =>
|
|
94
|
+
}, async () => {
|
|
95
|
+
return await verifyPageIsLoaded(page);
|
|
96
|
+
});
|
|
78
97
|
process.env.actorInfo = JSON.stringify(testPortalDetails);
|
|
79
98
|
await performDefaultPageSteps({
|
|
80
99
|
context,
|
|
@@ -10,6 +10,7 @@ var _path = _interopRequireDefault(require("path"));
|
|
|
10
10
|
var _configFileNameProvider = require("./helpers/configFileNameProvider");
|
|
11
11
|
var _logger = require("../../utils/logger");
|
|
12
12
|
var _getUsers = require("./helpers/auth/getUsers");
|
|
13
|
+
var _readConfigFile = require("./readConfigFile");
|
|
13
14
|
function setEnvironmentVariables(configJSON) {
|
|
14
15
|
for (const key in configJSON) {
|
|
15
16
|
process.env[key] = configJSON[key];
|
|
@@ -32,8 +33,13 @@ function initializeEnvConfig(mode) {
|
|
|
32
33
|
...configJSON,
|
|
33
34
|
mode
|
|
34
35
|
});
|
|
35
|
-
const
|
|
36
|
-
|
|
36
|
+
const {
|
|
37
|
+
isAuthMode
|
|
38
|
+
} = (0, _readConfigFile.generateConfigFromFile)();
|
|
39
|
+
if (isAuthMode) {
|
|
40
|
+
const defaultActorConfiguration = (0, _getUsers.getDefaultActorConf)();
|
|
41
|
+
setEnvironmentVariables(defaultActorConfiguration);
|
|
42
|
+
}
|
|
37
43
|
} catch (err) {
|
|
38
44
|
_logger.Logger.error(err);
|
|
39
45
|
throw new Error(`Config File Not Exists. Please provide a config file ${(0, _configFileNameProvider.getEnvConfigFilePath)(mode)} to intiailize the environment variables `);
|
|
@@ -31,8 +31,12 @@ function isDevelopmentSetup() {
|
|
|
31
31
|
}
|
|
32
32
|
function getDefaultActorConf() {
|
|
33
33
|
const {
|
|
34
|
-
uatDirectory
|
|
34
|
+
uatDirectory,
|
|
35
|
+
isAuthMode
|
|
35
36
|
} = (0, _readConfigFile.generateConfigFromFile)();
|
|
37
|
+
if (!isAuthMode) {
|
|
38
|
+
return {};
|
|
39
|
+
}
|
|
36
40
|
const defaultSettingFile = `conf/${getRunMode()}/settings.json`;
|
|
37
41
|
const filePath = _path.default.join(uatDirectory, defaultSettingFile);
|
|
38
42
|
if (!(0, _fs.existsSync)(filePath)) {
|
|
@@ -49,8 +53,15 @@ function getDefaultActor() {
|
|
|
49
53
|
}
|
|
50
54
|
function getListOfActors() {
|
|
51
55
|
const {
|
|
52
|
-
uatDirectory
|
|
56
|
+
uatDirectory,
|
|
57
|
+
isAuthMode
|
|
53
58
|
} = (0, _readConfigFile.generateConfigFromFile)();
|
|
59
|
+
if (!isAuthMode) {
|
|
60
|
+
return {
|
|
61
|
+
editions: [],
|
|
62
|
+
beta: []
|
|
63
|
+
};
|
|
64
|
+
}
|
|
54
65
|
const mode = getRunMode();
|
|
55
66
|
const configFile = `conf/${mode}/actors/index`;
|
|
56
67
|
const filePath = _path.default.join(uatDirectory, configFile);
|
|
@@ -60,6 +71,12 @@ function getListOfActors() {
|
|
|
60
71
|
return require(filePath);
|
|
61
72
|
}
|
|
62
73
|
function getUserForSelectedEditionAndProfile(preferedEdition, preferredProfile, betaFeature, testDataPortal = null) {
|
|
74
|
+
const {
|
|
75
|
+
isAuthMode
|
|
76
|
+
} = (0, _readConfigFile.generateConfigFromFile)();
|
|
77
|
+
if (!isAuthMode) {
|
|
78
|
+
return {};
|
|
79
|
+
}
|
|
63
80
|
const {
|
|
64
81
|
editions: userdata,
|
|
65
82
|
beta: betaPortals
|
|
@@ -19,7 +19,12 @@ async function performLoginSteps({
|
|
|
19
19
|
const authFile = _path.default.resolve(_path.default.join((0, _checkAuthCookies.getAuthFileDirectory)(), `${authFilePrefix}-cookies.json`));
|
|
20
20
|
await (0, _checkAuthCookies.loadCookiesIfPresent)(page, authFile);
|
|
21
21
|
await page.goto(process.env.domain);
|
|
22
|
-
|
|
22
|
+
|
|
23
|
+
// await page.waitForNavigation();
|
|
24
|
+
|
|
25
|
+
// await page.waitForLoadState('networkidle')
|
|
26
|
+
|
|
27
|
+
await Promise.race([page.waitForNavigation(), page.waitForLoadState('networkidle'), page.waitForTimeout(5000)]);
|
|
23
28
|
const loginStatus = await isLoggedIn(page);
|
|
24
29
|
if (!loginStatus) {
|
|
25
30
|
await (0, _accountLogin.default)(page, useremail, password);
|
|
@@ -22,26 +22,16 @@ var _test = require("@playwright/test");
|
|
|
22
22
|
var _readConfigFile = require("./readConfigFile");
|
|
23
23
|
var _builtInFixtures = _interopRequireDefault(require("./builtInFixtures"));
|
|
24
24
|
var _getUserFixtures = _interopRequireDefault(require("./helpers/getUserFixtures"));
|
|
25
|
-
// import {
|
|
26
|
-
// accountLogin,
|
|
27
|
-
// getRunMode,
|
|
28
|
-
// isCI,
|
|
29
|
-
// isDevelopmentSetup,
|
|
30
|
-
// getListOfActors,
|
|
31
|
-
// getDefaultActor,
|
|
32
|
-
// getUserForSelectedEditionAndProfile,
|
|
33
|
-
// loadCookiesIfPresent,
|
|
34
|
-
// performLoginSteps,
|
|
35
|
-
// verifyIfCookieFileExists
|
|
36
|
-
// } from './helpers/auth/index';
|
|
37
|
-
|
|
38
25
|
const {
|
|
39
26
|
bddMode
|
|
40
27
|
} = (0, _readConfigFile.generateConfigFromFile)();
|
|
41
28
|
let base = bddMode ? _bddFramework.test : _test.test;
|
|
42
29
|
const buildInFixtures = (0, _builtInFixtures.default)(bddMode);
|
|
30
|
+
const buildInFixturesTest = base.extend({
|
|
31
|
+
...buildInFixtures
|
|
32
|
+
});
|
|
43
33
|
const userFixtures = (0, _getUserFixtures.default)();
|
|
44
|
-
const
|
|
45
|
-
...buildInFixtures,
|
|
34
|
+
const userFixturesTest = base.extend({
|
|
46
35
|
...userFixtures
|
|
47
|
-
});
|
|
36
|
+
});
|
|
37
|
+
const test = exports.test = (0, _test.mergeTests)(buildInFixturesTest, userFixturesTest);
|
package/changelog.md
CHANGED