@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.
@@ -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 () => page.url().includes(process.env.domain));
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 defaultActorConfiguration = (0, _getUsers.getDefaultActorConf)();
36
- setEnvironmentVariables(defaultActorConfiguration);
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
- await page.waitForNavigation();
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 test = exports.test = base.extend({
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
@@ -1,6 +1,11 @@
1
1
  # Testing Framework
2
2
 
3
3
  ## Framework that abstracts the configuration for playwright and Jest
4
+ # 0.2.4
5
+ - Issue fixes on custom fixtures
6
+ - Page Fixture
7
+ - i18n Fixture
8
+
4
9
  # 0.2.1
5
10
  **Issue Fixes**
6
11
  - Fixes issue in actors configuration
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zohodesk/testinglibrary",
3
- "version": "0.2.3",
3
+ "version": "0.2.5",
4
4
  "description": "",
5
5
  "main": "./build/index.js",
6
6
  "scripts": {