dceky 1.1.1 → 1.1.2
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/docs/commands.html +961 -0
- package/genDocs/index.ts +322 -0
- package/lib/genDocs/index.d.ts +1 -0
- package/lib/genDocs/index.js +285 -0
- package/lib/genDocs/index.js.map +1 -0
- package/lib/postinstall/helpers/getRootPath.js +3 -3
- package/lib/postinstall/helpers/getRootPath.js.map +1 -1
- package/lib/postinstall/index.js +6 -6
- package/lib/postinstall/index.js.map +1 -1
- package/lib/preinstall/helpers/getRootPath.js +3 -3
- package/lib/preinstall/helpers/getRootPath.js.map +1 -1
- package/lib/preinstall/index.js +6 -6
- package/lib/preinstall/index.js.map +1 -1
- package/lib/setup/addToGitIgnore.js +13 -13
- package/lib/setup/addToGitIgnore.js.map +1 -1
- package/lib/setup/checkRequiredFiles/genEmptyGlobalFile.js +12 -12
- package/lib/setup/checkRequiredFiles/genEmptyGlobalFile.js.map +1 -1
- package/lib/setup/checkRequiredFiles/genEmptyProfileFile.js +12 -12
- package/lib/setup/checkRequiredFiles/genEmptyProfileFile.js.map +1 -1
- package/lib/setup/checkRequiredFiles/genExampleTest.js +8 -8
- package/lib/setup/checkRequiredFiles/genExampleTest.js.map +1 -1
- package/lib/setup/checkRequiredFiles/index.js +21 -21
- package/lib/setup/checkRequiredFiles/index.js.map +1 -1
- package/lib/setup/genCommandImportFile.js +24 -24
- package/lib/setup/genCommandImportFile.js.map +1 -1
- package/lib/setup/genDynamicConfigFile.js +8 -8
- package/lib/setup/genDynamicConfigFile.js.map +1 -1
- package/lib/setup/genE2ELaunchFile.js +8 -8
- package/lib/setup/genE2ELaunchFile.js.map +1 -1
- package/lib/setup/genKyCommandDeclarations.js +24 -24
- package/lib/setup/genKyCommandDeclarations.js.map +1 -1
- package/lib/setup/genTsConfigFile.js +8 -8
- package/lib/setup/genTsConfigFile.js.map +1 -1
- package/lib/setup/helpers/getRootPath.js +3 -3
- package/lib/setup/helpers/getRootPath.js.map +1 -1
- package/lib/setup/index.js +8 -8
- package/lib/setup/index.js.map +1 -1
- package/lib/setup/setupCypressDependencies.js +11 -11
- package/lib/setup/setupCypressDependencies.js.map +1 -1
- package/lib/src/commands/assertDoesNotHaveClass.js +3 -3
- package/lib/src/commands/assertDoesNotHaveClass.js.map +1 -1
- package/lib/src/commands/assertHasClass.js +3 -3
- package/lib/src/commands/assertHasClass.js.map +1 -1
- package/lib/src/commands/assertNumElements.js +3 -3
- package/lib/src/commands/assertNumElements.js.map +1 -1
- package/lib/src/commands/checkIfElementExists.js +3 -3
- package/lib/src/commands/checkIfElementExists.js.map +1 -1
- package/lib/src/commands/extractDataFromClass.js +8 -8
- package/lib/src/commands/extractDataFromClass.js.map +1 -1
- package/lib/src/commands/extractDataFromClassByContents.js +8 -8
- package/lib/src/commands/extractDataFromClassByContents.js.map +1 -1
- package/lib/src/commands/genTextOfLength.js +6 -6
- package/lib/src/commands/genTextOfLength.js.map +1 -1
- package/lib/src/commands/getAttribute.js +4 -4
- package/lib/src/commands/getAttribute.js.map +1 -1
- package/lib/src/commands/getClassName.js +3 -3
- package/lib/src/commands/getClassName.js.map +1 -1
- package/lib/src/commands/getCredentialValue.js +3 -4
- package/lib/src/commands/getCredentialValue.js.map +1 -1
- package/lib/src/commands/getCredentialValues.js +2 -2
- package/lib/src/commands/getCredentialValues.js.map +1 -1
- package/lib/src/commands/getCurrentDateInfo.js +4 -4
- package/lib/src/commands/getCurrentDateInfo.js.map +1 -1
- package/lib/src/commands/getId.js +3 -3
- package/lib/src/commands/getId.js.map +1 -1
- package/lib/src/commands/getJSON.js +2 -2
- package/lib/src/commands/getJSON.js.map +1 -1
- package/lib/src/commands/getNumElements.js +4 -4
- package/lib/src/commands/getNumElements.js.map +1 -1
- package/lib/src/commands/getProfileValue.js +1 -1
- package/lib/src/commands/getProfileValue.js.map +1 -1
- package/lib/src/commands/getSpecialChars.js +2 -2
- package/lib/src/commands/getSpecialChars.js.map +1 -1
- package/lib/src/commands/getTitle.js +3 -3
- package/lib/src/commands/getTitle.js.map +1 -1
- package/lib/src/commands/handleHarvardKey.js +12 -12
- package/lib/src/commands/handleHarvardKey.js.map +1 -1
- package/lib/src/commands/helpers/getFormData.js +13 -13
- package/lib/src/commands/helpers/getFormData.js.map +1 -1
- package/lib/src/commands/index.js +34 -34
- package/lib/src/commands/index.js.map +1 -1
- package/lib/src/commands/launchAs.js +25 -26
- package/lib/src/commands/launchAs.js.map +1 -1
- package/lib/src/commands/listSelectLabels.js +6 -6
- package/lib/src/commands/listSelectLabels.js.map +1 -1
- package/lib/src/commands/listSelectValues.js +7 -7
- package/lib/src/commands/listSelectValues.js.map +1 -1
- package/lib/src/commands/logIntoPorta.js +21 -31
- package/lib/src/commands/logIntoPorta.js.map +1 -1
- package/lib/src/commands/navigateToHref.js +7 -7
- package/lib/src/commands/navigateToHref.js.map +1 -1
- package/lib/src/commands/padWithZeros.js +6 -6
- package/lib/src/commands/padWithZeros.js.map +1 -1
- package/lib/src/commands/runScript.js +4 -4
- package/lib/src/commands/runScript.js.map +1 -1
- package/lib/src/commands/tap.js +2 -2
- package/lib/src/commands/tap.js.map +1 -1
- package/lib/src/commands/tapInIFrame.js +2 -2
- package/lib/src/commands/tapInIFrame.js.map +1 -1
- package/lib/src/commands/typeInto.js +9 -9
- package/lib/src/commands/typeInto.js.map +1 -1
- package/lib/src/commands/uniquify.js +7 -7
- package/lib/src/commands/uniquify.js.map +1 -1
- package/lib/src/commands/visitCanvasEndpoint.js +7 -18
- package/lib/src/commands/visitCanvasEndpoint.js.map +1 -1
- package/lib/src/commands/waitForAtLeastOneElementPresent.js +9 -9
- package/lib/src/commands/waitForAtLeastOneElementPresent.js.map +1 -1
- package/lib/src/commands/waitForElementVisible.js +4 -4
- package/lib/src/commands/waitForElementVisible.js.map +1 -1
- package/lib/src/genConfiguration/helpers/getRootPath.js +3 -3
- package/lib/src/genConfiguration/helpers/getRootPath.js.map +1 -1
- package/lib/src/genConfiguration/helpers/resolveDependents.js +8 -9
- package/lib/src/genConfiguration/helpers/resolveDependents.js.map +1 -1
- package/lib/src/genConfiguration/helpers/splitEnv.js +5 -6
- package/lib/src/genConfiguration/helpers/splitEnv.js.map +1 -1
- package/lib/src/genConfiguration/index.js +36 -44
- package/lib/src/genConfiguration/index.js.map +1 -1
- package/lib/src/index.js +1 -1
- package/lib/src/index.js.map +1 -1
- package/lib/start/constants/AVAILABLE_BROWSERS.js +1 -1
- package/lib/start/constants/AVAILABLE_BROWSERS.js.map +1 -1
- package/lib/start/constants/DEFAULT_THREADS_PER_COMBO.js +1 -1
- package/lib/start/constants/DEFAULT_THREADS_PER_COMBO.js.map +1 -1
- package/lib/start/helpers/collectPngFiles.js +8 -9
- package/lib/start/helpers/collectPngFiles.js.map +1 -1
- package/lib/start/helpers/exec.js +2 -2
- package/lib/start/helpers/exec.js.map +1 -1
- package/lib/start/helpers/executeAllHeadlessCombinations.js +58 -89
- package/lib/start/helpers/executeAllHeadlessCombinations.js.map +1 -1
- package/lib/start/helpers/executeCypress.js +32 -73
- package/lib/start/helpers/executeCypress.js.map +1 -1
- package/lib/start/helpers/extractArgValue.js +7 -7
- package/lib/start/helpers/extractArgValue.js.map +1 -1
- package/lib/start/helpers/findProfilesByNames.js +7 -7
- package/lib/start/helpers/findProfilesByNames.js.map +1 -1
- package/lib/start/helpers/generateHtmlReport.js +19 -19
- package/lib/start/helpers/generateHtmlReport.js.map +1 -1
- package/lib/start/helpers/generateReportHomepage.js +49 -68
- package/lib/start/helpers/generateReportHomepage.js.map +1 -1
- package/lib/start/helpers/generateReporterConfig.js +4 -4
- package/lib/start/helpers/generateReporterConfig.js.map +1 -1
- package/lib/start/helpers/getDateLabeledDir.js +17 -17
- package/lib/start/helpers/getDateLabeledDir.js.map +1 -1
- package/lib/start/helpers/getRootPath.js +3 -3
- package/lib/start/helpers/getRootPath.js.map +1 -1
- package/lib/start/helpers/mergeAllReportsAndGenerateHtml.js +29 -29
- package/lib/start/helpers/mergeAllReportsAndGenerateHtml.js.map +1 -1
- package/lib/start/helpers/mergeReports.js +22 -22
- package/lib/start/helpers/mergeReports.js.map +1 -1
- package/lib/start/helpers/parseCommaSeparated.js +3 -3
- package/lib/start/helpers/parseCommaSeparated.js.map +1 -1
- package/lib/start/helpers/print.js +19 -19
- package/lib/start/helpers/print.js.map +1 -1
- package/lib/start/helpers/prompt.js +5 -5
- package/lib/start/helpers/prompt.js.map +1 -1
- package/lib/start/helpers/runCypressHeadless.js +41 -52
- package/lib/start/helpers/runCypressHeadless.js.map +1 -1
- package/lib/start/helpers/runCypressVisible.js +13 -24
- package/lib/start/helpers/runCypressVisible.js.map +1 -1
- package/lib/start/helpers/showChooser.js +27 -38
- package/lib/start/helpers/showChooser.js.map +1 -1
- package/lib/start/helpers/validateBrowsers.js +8 -8
- package/lib/start/helpers/validateBrowsers.js.map +1 -1
- package/lib/start/index.js +58 -60
- package/lib/start/index.js.map +1 -1
- package/package.json +5 -2
- package/src/genConfiguration/index.ts +3 -1
- package/tsconfig.json +4 -3
|
@@ -1,70 +1,59 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/// <reference types="cypress" />
|
|
3
|
-
var __assign = (this && this.__assign) || function () {
|
|
4
|
-
__assign = Object.assign || function(t) {
|
|
5
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
6
|
-
s = arguments[i];
|
|
7
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
8
|
-
t[p] = s[p];
|
|
9
|
-
}
|
|
10
|
-
return t;
|
|
11
|
-
};
|
|
12
|
-
return __assign.apply(this, arguments);
|
|
13
|
-
};
|
|
14
3
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
15
4
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
16
5
|
};
|
|
17
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
-
|
|
7
|
+
const getFormData_1 = __importDefault(require("./helpers/getFormData"));
|
|
19
8
|
/*----------------------------------------*/
|
|
20
9
|
/* ---------------- Constants ----------------- */
|
|
21
10
|
/*----------------------------------------*/
|
|
22
11
|
// Cirrus Identity discovery page (Request 1)
|
|
23
|
-
|
|
12
|
+
const LOGIN_PAGE = 'https://harvard.proxy.cirrusidentity.com/cas/login?service=https%3A%2F%2Fporta-auto.dcex.harvard.edu%2Fcas%2Flogin%2F';
|
|
24
13
|
// Base URL for HarvardKey IdP (Request 2)
|
|
25
|
-
|
|
14
|
+
const IDP_BASE_URL = 'https://apps.cirrusidentity.com';
|
|
26
15
|
// HarvardKey IdP button ID on Cirrus discovery page
|
|
27
|
-
|
|
16
|
+
const HARVARDKEY_IDP_BUTTON_ID = 'idp_1001962798_button';
|
|
28
17
|
/*----------------------------------------*/
|
|
29
18
|
/* --------------- Command -------------- */
|
|
30
19
|
/*----------------------------------------*/
|
|
31
|
-
|
|
32
|
-
Cypress.Commands.add('logIntoPorta',
|
|
20
|
+
const logIntoPorta = () => {
|
|
21
|
+
Cypress.Commands.add('logIntoPorta', (name) => {
|
|
33
22
|
cy.log('🔓 Handling HarvardKey authentication via API');
|
|
34
23
|
// Get user credentials from environment variables
|
|
35
|
-
cy.getCredentialValue(name).then(
|
|
36
|
-
|
|
24
|
+
cy.getCredentialValue(name).then((cred) => {
|
|
25
|
+
const userInfo = cred;
|
|
37
26
|
if (!userInfo) {
|
|
38
|
-
throw new Error(
|
|
27
|
+
throw new Error(`Could not find ${name} in environment variables`);
|
|
39
28
|
}
|
|
40
|
-
|
|
29
|
+
const { username, password } = userInfo;
|
|
41
30
|
// Check if username and password are set
|
|
42
31
|
if (!username || !password) {
|
|
43
|
-
throw new Error(
|
|
32
|
+
throw new Error(`Credential "${name}" is missing username and/or password`);
|
|
44
33
|
}
|
|
45
|
-
|
|
34
|
+
const htmlHeaders = { accept: 'text/html' };
|
|
46
35
|
// Request 1: GET Cirrus Identity discovery page
|
|
47
36
|
cy.request({
|
|
48
37
|
url: LOGIN_PAGE,
|
|
49
38
|
followRedirect: true,
|
|
50
39
|
failOnStatusCode: false,
|
|
51
40
|
headers: htmlHeaders,
|
|
52
|
-
}).then(
|
|
41
|
+
}).then((discoveryRes) => {
|
|
53
42
|
// Parse discovery page for HarvardKey IdP button href
|
|
54
|
-
|
|
43
|
+
const btnMatch = discoveryRes.body.match(new RegExp(`href=["']([^"']+)["'][^>]*id=["']${HARVARDKEY_IDP_BUTTON_ID}["']`));
|
|
55
44
|
if (!btnMatch) {
|
|
56
45
|
throw new Error('Could not find HarvardKey IdP button link on discovery page');
|
|
57
46
|
}
|
|
58
|
-
|
|
47
|
+
const idpUrl = `${IDP_BASE_URL}${btnMatch[1]}`;
|
|
59
48
|
// Request 2: GET HarvardKey IdP login page
|
|
60
49
|
cy.request({
|
|
61
50
|
url: idpUrl,
|
|
62
51
|
followRedirect: true,
|
|
63
52
|
failOnStatusCode: false,
|
|
64
53
|
headers: htmlHeaders,
|
|
65
|
-
}).then(
|
|
54
|
+
}).then((loginPageRes) => {
|
|
66
55
|
// Parse login form action and hidden fields
|
|
67
|
-
|
|
56
|
+
const { action: loginFormUrl, method: loginMethod, fields: loginHiddenFields, } = (0, getFormData_1.default)({ html: loginPageRes.body });
|
|
68
57
|
if (!loginFormUrl) {
|
|
69
58
|
throw new Error('Could not find login form action on HarvardKey page');
|
|
70
59
|
}
|
|
@@ -76,10 +65,11 @@ var logIntoPorta = function () {
|
|
|
76
65
|
followRedirect: true,
|
|
77
66
|
failOnStatusCode: false,
|
|
78
67
|
headers: htmlHeaders,
|
|
79
|
-
body:
|
|
80
|
-
|
|
68
|
+
body: Object.assign(Object.assign({}, loginHiddenFields), { username,
|
|
69
|
+
password }),
|
|
70
|
+
}).then((authRes) => {
|
|
81
71
|
// Parse SAML form from login response
|
|
82
|
-
|
|
72
|
+
const { action: samlFormUrl, method: samlMethod, fields: samlHiddenFields, } = (0, getFormData_1.default)({ html: authRes.body, formSelector: 'form[action*="saml2-acs"]' });
|
|
83
73
|
if (!samlFormUrl) {
|
|
84
74
|
throw new Error('Could not find SAML form in login response');
|
|
85
75
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logIntoPorta.js","sourceRoot":"","sources":["../../../src/commands/logIntoPorta.ts"],"names":[],"mappings":";AAAA,iCAAiC
|
|
1
|
+
{"version":3,"file":"logIntoPorta.js","sourceRoot":"","sources":["../../../src/commands/logIntoPorta.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,21 +4,21 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
4
4
|
/*----------------------------------------*/
|
|
5
5
|
/* --------------- Command -------------- */
|
|
6
6
|
/*----------------------------------------*/
|
|
7
|
-
|
|
8
|
-
Cypress.Commands.add('navigateToHref',
|
|
7
|
+
const navigateToHref = () => {
|
|
8
|
+
Cypress.Commands.add('navigateToHref', (item) => {
|
|
9
9
|
cy.waitForElementVisible(item);
|
|
10
10
|
return cy
|
|
11
11
|
.url()
|
|
12
12
|
// get origin (protocol + '//' + host) from current URL
|
|
13
|
-
.then(
|
|
14
|
-
|
|
15
|
-
return
|
|
13
|
+
.then((url) => {
|
|
14
|
+
const { protocol, host } = new URL(url);
|
|
15
|
+
return `${protocol}//${host}`;
|
|
16
16
|
})
|
|
17
|
-
.then(
|
|
17
|
+
.then((origin) => {
|
|
18
18
|
return cy
|
|
19
19
|
.get(item)
|
|
20
20
|
.invoke('attr', 'href')
|
|
21
|
-
.then(
|
|
21
|
+
.then((href) => {
|
|
22
22
|
// If the href is a relative URL, prepend the hostname
|
|
23
23
|
if (href.startsWith('/')) {
|
|
24
24
|
return origin + href;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"navigateToHref.js","sourceRoot":"","sources":["../../../src/commands/navigateToHref.ts"],"names":[],"mappings":";AAAA,iCAAiC;;AAoBjC,4CAA4C;AAC5C,4CAA4C;AAC5C,4CAA4C;AAE5C,
|
|
1
|
+
{"version":3,"file":"navigateToHref.js","sourceRoot":"","sources":["../../../src/commands/navigateToHref.ts"],"names":[],"mappings":";AAAA,iCAAiC;;AAoBjC,4CAA4C;AAC5C,4CAA4C;AAC5C,4CAA4C;AAE5C,MAAM,cAAc,GAAG,GAAG,EAAE;IAC1B,OAAO,CAAC,QAAQ,CAAC,GAAG,CAClB,gBAAgB,EAChB,CACE,IAAY,EACZ,EAAE;QACF,EAAE,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;QAE/B,OAAO,EAAE;aACN,GAAG,EAAE;YACN,uDAAuD;aACtD,IAAI,CAAC,CAAC,GAAW,EAAE,EAAE;YACpB,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;YACxC,OAAO,GAAG,QAAQ,KAAK,IAAI,EAAE,CAAC;QAChC,CAAC,CAAC;aACD,IAAI,CAAC,CAAC,MAAc,EAAE,EAAE;YACvB,OAAO,EAAE;iBACN,GAAG,CAAC,IAAI,CAAC;iBACT,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;iBACtB,IAAI,CAAC,CAAC,IAAY,EAAE,EAAE;gBACrB,sDAAsD;gBACtD,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;oBACzB,OAAO,MAAM,GAAG,IAAI,CAAC;gBACvB,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC,CACF,CAAC;AACJ,CAAC,CAAC;AAEF,4CAA4C;AAC5C,4CAA4C;AAC5C,4CAA4C;AAE5C,kBAAe,cAAc,CAAC"}
|
|
@@ -4,14 +4,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
4
4
|
/*----------------------------------------*/
|
|
5
5
|
/* --------------- Command -------------- */
|
|
6
6
|
/*----------------------------------------*/
|
|
7
|
-
|
|
8
|
-
Cypress.Commands.add('padWithZeros',
|
|
9
|
-
|
|
7
|
+
const padWithZeros = () => {
|
|
8
|
+
Cypress.Commands.add('padWithZeros', (opts) => {
|
|
9
|
+
const { length, number, } = opts;
|
|
10
10
|
return (cy
|
|
11
|
-
.then(
|
|
12
|
-
|
|
11
|
+
.then(() => {
|
|
12
|
+
let numberString = number.toString();
|
|
13
13
|
while (numberString.length < length) {
|
|
14
|
-
numberString =
|
|
14
|
+
numberString = `0${numberString}`;
|
|
15
15
|
}
|
|
16
16
|
return numberString;
|
|
17
17
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"padWithZeros.js","sourceRoot":"","sources":["../../../src/commands/padWithZeros.ts"],"names":[],"mappings":";AAAA,iCAAiC;;AAyBjC,4CAA4C;AAC5C,4CAA4C;AAC5C,4CAA4C;AAE5C,
|
|
1
|
+
{"version":3,"file":"padWithZeros.js","sourceRoot":"","sources":["../../../src/commands/padWithZeros.ts"],"names":[],"mappings":";AAAA,iCAAiC;;AAyBjC,4CAA4C;AAC5C,4CAA4C;AAC5C,4CAA4C;AAE5C,MAAM,YAAY,GAAG,GAAG,EAAE;IACxB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,cAAc,EAAE,CAAC,IAAwC,EAAE,EAAE;QAChF,MAAM,EACJ,MAAM,EACN,MAAM,GACP,GAAG,IAAI,CAAC;QACT,OAAO,CACL,EAAE;aACC,IAAI,CAAC,GAAG,EAAE;YACT,IAAI,YAAY,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;YACrC,OAAO,YAAY,CAAC,MAAM,GAAG,MAAM,EAAE,CAAC;gBACpC,YAAY,GAAG,IAAI,YAAY,EAAE,CAAC;YACpC,CAAC;YACD,OAAO,YAAY,CAAC;QACtB,CAAC,CAAC,CACL,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,4CAA4C;AAC5C,4CAA4C;AAC5C,4CAA4C;AAE5C,kBAAe,YAAY,CAAC"}
|
|
@@ -4,11 +4,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
4
4
|
/*----------------------------------------*/
|
|
5
5
|
/* --------------- Command -------------- */
|
|
6
6
|
/*----------------------------------------*/
|
|
7
|
-
|
|
8
|
-
Cypress.Commands.add('runScript',
|
|
7
|
+
const runScript = () => {
|
|
8
|
+
Cypress.Commands.add('runScript', (script) => {
|
|
9
9
|
cy.log('Running script');
|
|
10
|
-
return cy.window().then(
|
|
11
|
-
|
|
10
|
+
return cy.window().then((win) => {
|
|
11
|
+
const result = win.eval(script);
|
|
12
12
|
return cy.wrap(result);
|
|
13
13
|
});
|
|
14
14
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runScript.js","sourceRoot":"","sources":["../../../src/commands/runScript.ts"],"names":[],"mappings":";AAAA,iCAAiC;;AAoBjC,4CAA4C;AAC5C,4CAA4C;AAC5C,4CAA4C;AAE5C,
|
|
1
|
+
{"version":3,"file":"runScript.js","sourceRoot":"","sources":["../../../src/commands/runScript.ts"],"names":[],"mappings":";AAAA,iCAAiC;;AAoBjC,4CAA4C;AAC5C,4CAA4C;AAC5C,4CAA4C;AAE5C,MAAM,SAAS,GAAG,GAAG,EAAE;IACrB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAClB,WAAW,EACX,CACE,MAAc,EACd,EAAE;QACF,EAAE,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;QACzB,OAAO,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;YAC9B,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAChC,OAAO,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACzB,CAAC,CAAC,CAAC;IACL,CAAC,CACF,CAAC;AACJ,CAAC,CAAC;AAEF,4CAA4C;AAC5C,4CAA4C;AAC5C,4CAA4C;AAE5C,kBAAe,SAAS,CAAC"}
|
package/lib/src/commands/tap.js
CHANGED
|
@@ -4,8 +4,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
4
4
|
/*----------------------------------------*/
|
|
5
5
|
/* --------------- Command -------------- */
|
|
6
6
|
/*----------------------------------------*/
|
|
7
|
-
|
|
8
|
-
Cypress.Commands.add('tap',
|
|
7
|
+
const tap = () => {
|
|
8
|
+
Cypress.Commands.add('tap', (item) => {
|
|
9
9
|
return cy.get(item).click();
|
|
10
10
|
});
|
|
11
11
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tap.js","sourceRoot":"","sources":["../../../src/commands/tap.ts"],"names":[],"mappings":";AAAA,iCAAiC;;AAsBjC,4CAA4C;AAC5C,4CAA4C;AAC5C,4CAA4C;AAE5C,
|
|
1
|
+
{"version":3,"file":"tap.js","sourceRoot":"","sources":["../../../src/commands/tap.ts"],"names":[],"mappings":";AAAA,iCAAiC;;AAsBjC,4CAA4C;AAC5C,4CAA4C;AAC5C,4CAA4C;AAE5C,MAAM,GAAG,GAAG,GAAG,EAAE;IACf,OAAO,CAAC,QAAQ,CAAC,GAAG,CAClB,KAAK,EACL,CACE,IAAY,EACZ,EAAE;QACF,OAAO,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;IAC9B,CAAC,CACF,CAAC;AACJ,CAAC,CAAC;AAEF,4CAA4C;AAC5C,4CAA4C;AAC5C,4CAA4C;AAE5C,kBAAe,GAAG,CAAC"}
|
|
@@ -5,8 +5,8 @@ require("cypress-iframe");
|
|
|
5
5
|
/*----------------------------------------*/
|
|
6
6
|
/* --------------- Command -------------- */
|
|
7
7
|
/*----------------------------------------*/
|
|
8
|
-
|
|
9
|
-
Cypress.Commands.add('tapInIFrame',
|
|
8
|
+
const tapInIFrame = () => {
|
|
9
|
+
Cypress.Commands.add('tapInIFrame', (iframeSelector, selectorToTap) => {
|
|
10
10
|
cy.frameLoaded(iframeSelector);
|
|
11
11
|
return (cy
|
|
12
12
|
.iframe(iframeSelector)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tapInIFrame.js","sourceRoot":"","sources":["../../../src/commands/tapInIFrame.ts"],"names":[],"mappings":";AAAA,iCAAiC;;AAEjC,0BAAwB;AAuBxB,4CAA4C;AAC5C,4CAA4C;AAC5C,4CAA4C;AAE5C,
|
|
1
|
+
{"version":3,"file":"tapInIFrame.js","sourceRoot":"","sources":["../../../src/commands/tapInIFrame.ts"],"names":[],"mappings":";AAAA,iCAAiC;;AAEjC,0BAAwB;AAuBxB,4CAA4C;AAC5C,4CAA4C;AAC5C,4CAA4C;AAE5C,MAAM,WAAW,GAAG,GAAG,EAAE;IACvB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,cAAsB,EAAE,aAAqB,EAAE,EAAE;QACpF,EAAE,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;QAC/B,OAAO,CACL,EAAE;aACC,MAAM,CAAC,cAAc,CAAC;aACtB,IAAI,CAAC,aAAa,CAAC;aACnB,KAAK,EAAE,CACX,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,4CAA4C;AAC5C,4CAA4C;AAC5C,4CAA4C;AAE5C,kBAAe,WAAW,CAAC"}
|
|
@@ -4,17 +4,17 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
4
4
|
/*----------------------------------------*/
|
|
5
5
|
/* --------------- Command -------------- */
|
|
6
6
|
/*----------------------------------------*/
|
|
7
|
-
|
|
8
|
-
Cypress.Commands.add('typeInto',
|
|
9
|
-
|
|
7
|
+
const typeInto = () => {
|
|
8
|
+
Cypress.Commands.add('typeInto', (opts) => {
|
|
9
|
+
const { item, text, pressEnter, append, } = opts;
|
|
10
10
|
// Check if the text contains an enter key press
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
cy.log(
|
|
11
|
+
const enterAtEndOfText = text.charAt(text.length - 1) === '\n';
|
|
12
|
+
const willPressEnter = pressEnter || enterAtEndOfText;
|
|
13
|
+
const action = append ? 'Append' : 'Type';
|
|
14
|
+
const enterSuffix = willPressEnter ? ' and then press enter' : '';
|
|
15
|
+
cy.log(`${action} "${text}" into ${item}${enterSuffix}`);
|
|
16
16
|
// Type the text without a trailing enter if there was one
|
|
17
|
-
|
|
17
|
+
const textWithoutTrailingEnter = (enterAtEndOfText
|
|
18
18
|
? text.substring(0, text.length - 1)
|
|
19
19
|
: text);
|
|
20
20
|
if (append) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typeInto.js","sourceRoot":"","sources":["../../../src/commands/typeInto.ts"],"names":[],"mappings":";AAAA,iCAAiC;;AA+BjC,4CAA4C;AAC5C,4CAA4C;AAC5C,4CAA4C;AAE5C,
|
|
1
|
+
{"version":3,"file":"typeInto.js","sourceRoot":"","sources":["../../../src/commands/typeInto.ts"],"names":[],"mappings":";AAAA,iCAAiC;;AA+BjC,4CAA4C;AAC5C,4CAA4C;AAC5C,4CAA4C;AAE5C,MAAM,QAAQ,GAAG,GAAG,EAAE;IACpB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAClB,UAAU,EACV,CACE,IAKC,EACD,EAAE;QACF,MAAM,EACJ,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,GAC/B,GAAG,IAAI,CAAC;QACT,gDAAgD;QAChD,MAAM,gBAAgB,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC;QAC/D,MAAM,cAAc,GAAG,UAAU,IAAI,gBAAgB,CAAC;QAEtD,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;QAC1C,MAAM,WAAW,GAAG,cAAc,CAAC,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,EAAE,CAAC;QAClE,EAAE,CAAC,GAAG,CAAC,GAAG,MAAM,KAAK,IAAI,UAAU,IAAI,GAAG,WAAW,EAAE,CAAC,CAAC;QAEzD,0DAA0D;QAC1D,MAAM,wBAAwB,GAAG,CAC/B,gBAAgB;YACd,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;YACpC,CAAC,CAAC,IAAI,CACT,CAAC;QAEF,IAAI,MAAM,EAAE,CAAC;YACX,EAAE;iBACC,GAAG,CAAC,IAAI,CAAC;iBACT,IAAI,CAAC,wBAAwB,EAAE,EAAE,yBAAyB,EAAE,KAAK,EAAE,CAAC,CAAC;QAC1E,CAAC;aAAM,CAAC;YACN,EAAE;iBACC,GAAG,CAAC,IAAI,CAAC;iBACT,KAAK,EAAE;iBACP,IAAI,CAAC,wBAAwB,EAAE,EAAE,yBAAyB,EAAE,KAAK,EAAE,CAAC,CAAC;QAC1E,CAAC;QAED,oEAAoE;QACpE,IAAI,cAAc,EAAE,CAAC;YACnB,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC,CACF,CAAC;AACJ,CAAC,CAAC;AAEF,4CAA4C;AAC5C,4CAA4C;AAC5C,4CAA4C;AAE5C,kBAAe,QAAQ,CAAC"}
|
|
@@ -4,19 +4,19 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
4
4
|
/*----------------------------------------*/
|
|
5
5
|
/* --------------- Helpers -------------- */
|
|
6
6
|
/*----------------------------------------*/
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
let uniqueCounter = 1;
|
|
8
|
+
const shorten = (num) => {
|
|
9
9
|
return Number(num).toString(36);
|
|
10
10
|
};
|
|
11
|
-
|
|
11
|
+
const id = shorten(Math.floor(Math.random() * 10000));
|
|
12
12
|
/*----------------------------------------*/
|
|
13
13
|
/* --------------- Command -------------- */
|
|
14
14
|
/*----------------------------------------*/
|
|
15
|
-
|
|
16
|
-
Cypress.Commands.add('uniquify',
|
|
17
|
-
|
|
15
|
+
const uniquify = () => {
|
|
16
|
+
Cypress.Commands.add('uniquify', (text) => {
|
|
17
|
+
const thisCounter = uniqueCounter;
|
|
18
18
|
uniqueCounter += 1;
|
|
19
|
-
return cy.wrap(
|
|
19
|
+
return cy.wrap(`${text} [${shorten(Number.parseInt(`${Date.now()}${thisCounter}${id}`, 10))}]`);
|
|
20
20
|
});
|
|
21
21
|
};
|
|
22
22
|
/*----------------------------------------*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uniquify.js","sourceRoot":"","sources":["../../../src/commands/uniquify.ts"],"names":[],"mappings":";AAAA,iCAAiC;;AAoBjC,4CAA4C;AAC5C,4CAA4C;AAC5C,4CAA4C;AAE5C,IAAI,aAAa,GAAG,CAAC,CAAC;AAEtB,
|
|
1
|
+
{"version":3,"file":"uniquify.js","sourceRoot":"","sources":["../../../src/commands/uniquify.ts"],"names":[],"mappings":";AAAA,iCAAiC;;AAoBjC,4CAA4C;AAC5C,4CAA4C;AAC5C,4CAA4C;AAE5C,IAAI,aAAa,GAAG,CAAC,CAAC;AAEtB,MAAM,OAAO,GAAG,CAAC,GAAW,EAAU,EAAE;IACtC,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AAClC,CAAC,CAAC;AAEF,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC;AAEtD,4CAA4C;AAC5C,4CAA4C;AAC5C,4CAA4C;AAE5C,MAAM,QAAQ,GAAG,GAAG,EAAE;IACpB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,UAAU,EAAE,CAAC,IAAY,EAAE,EAAE;QAChD,MAAM,WAAW,GAAG,aAAa,CAAC;QAClC,aAAa,IAAI,CAAC,CAAC;QACnB,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,IAAI,KAAK,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,WAAW,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC;IAClG,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,4CAA4C;AAC5C,4CAA4C;AAC5C,4CAA4C;AAE5C,kBAAe,QAAQ,CAAC"}
|
|
@@ -1,29 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
/// <reference types="cypress" />
|
|
3
|
-
var __assign = (this && this.__assign) || function () {
|
|
4
|
-
__assign = Object.assign || function(t) {
|
|
5
|
-
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
6
|
-
s = arguments[i];
|
|
7
|
-
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
8
|
-
t[p] = s[p];
|
|
9
|
-
}
|
|
10
|
-
return t;
|
|
11
|
-
};
|
|
12
|
-
return __assign.apply(this, arguments);
|
|
13
|
-
};
|
|
14
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
4
|
/*----------------------------------------*/
|
|
16
5
|
/* --------------- Command -------------- */
|
|
17
6
|
/*----------------------------------------*/
|
|
18
|
-
|
|
19
|
-
Cypress.Commands.add('visitCanvasEndpoint',
|
|
20
|
-
|
|
21
|
-
cy.log(
|
|
7
|
+
const visitCanvasEndpoint = () => {
|
|
8
|
+
Cypress.Commands.add('visitCanvasEndpoint', (opts) => {
|
|
9
|
+
const { method, path, accessToken, params, } = opts;
|
|
10
|
+
cy.log(`⭕️ Visiting Canvas ${method} endpoint`);
|
|
22
11
|
return (cy
|
|
23
12
|
.request({
|
|
24
|
-
method
|
|
25
|
-
url:
|
|
26
|
-
body:
|
|
13
|
+
method,
|
|
14
|
+
url: `https://canvas.harvard.edu${path}`,
|
|
15
|
+
body: Object.assign(Object.assign({}, (params || {})), { access_token: accessToken }),
|
|
27
16
|
})
|
|
28
17
|
.its('body'));
|
|
29
18
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"visitCanvasEndpoint.js","sourceRoot":"","sources":["../../../src/commands/visitCanvasEndpoint.ts"],"names":[],"mappings":";AAAA,iCAAiC
|
|
1
|
+
{"version":3,"file":"visitCanvasEndpoint.js","sourceRoot":"","sources":["../../../src/commands/visitCanvasEndpoint.ts"],"names":[],"mappings":";AAAA,iCAAiC;;AA+BjC,4CAA4C;AAC5C,4CAA4C;AAC5C,4CAA4C;AAE5C,MAAM,mBAAmB,GAAG,GAAG,EAAE;IAC/B,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,qBAAqB,EAAE,CAC1C,IAOC,EACD,EAAE;QACF,MAAM,EACJ,MAAM,EACN,IAAI,EACJ,WAAW,EACX,MAAM,GACP,GAAG,IAAI,CAAC;QACT,EAAE,CAAC,GAAG,CAAC,sBAAsB,MAAM,WAAW,CAAC,CAAC;QAEhD,OAAO,CACL,EAAE;aACC,OAAO,CAAC;YACP,MAAM;YACN,GAAG,EAAE,6BAA6B,IAAI,EAAE;YACxC,IAAI,kCACC,CAAC,MAAM,IAAI,EAAE,CAAC,KACjB,YAAY,EAAE,WAAW,GAC1B;SACF,CAAC;aACD,GAAG,CAAC,MAAM,CAAC,CACf,CAAC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,4CAA4C;AAC5C,4CAA4C;AAC5C,4CAA4C;AAE5C,kBAAe,mBAAmB,CAAC"}
|
|
@@ -4,20 +4,20 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
4
4
|
/*----------------------------------------*/
|
|
5
5
|
/* --------------- Command -------------- */
|
|
6
6
|
/*----------------------------------------*/
|
|
7
|
-
|
|
8
|
-
Cypress.Commands.add('waitForAtLeastOneElementPresent',
|
|
9
|
-
|
|
7
|
+
const waitForAtLeastOneElementPresent = () => {
|
|
8
|
+
Cypress.Commands.add('waitForAtLeastOneElementPresent', (opts) => {
|
|
9
|
+
const { items, timeoutSec } = opts;
|
|
10
10
|
// Set timeout seconds to 10 if not specified
|
|
11
|
-
|
|
11
|
+
const timeoutMs = (timeoutSec || 10) * 1000;
|
|
12
12
|
// Combined selector for all items
|
|
13
|
-
|
|
13
|
+
const combinedSelector = items.join(', ');
|
|
14
14
|
// Wait for any of the elements to be visible
|
|
15
15
|
return (cy
|
|
16
16
|
.get(combinedSelector, { timeout: timeoutMs })
|
|
17
|
-
.should(
|
|
18
|
-
.then(
|
|
19
|
-
|
|
20
|
-
return items.find(
|
|
17
|
+
.should(($els) => { return expect($els.is(':visible'), `at least one of [${combinedSelector}] visible`).to.be.true; })
|
|
18
|
+
.then(($els) => {
|
|
19
|
+
const $firstVisible = $els.filter(':visible').first();
|
|
20
|
+
return items.find((sel) => { return $firstVisible.is(sel); });
|
|
21
21
|
}));
|
|
22
22
|
});
|
|
23
23
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"waitForAtLeastOneElementPresent.js","sourceRoot":"","sources":["../../../src/commands/waitForAtLeastOneElementPresent.ts"],"names":[],"mappings":";AAAA,iCAAiC;;AA8BjC,4CAA4C;AAC5C,4CAA4C;AAC5C,4CAA4C;AAE5C,
|
|
1
|
+
{"version":3,"file":"waitForAtLeastOneElementPresent.js","sourceRoot":"","sources":["../../../src/commands/waitForAtLeastOneElementPresent.ts"],"names":[],"mappings":";AAAA,iCAAiC;;AA8BjC,4CAA4C;AAC5C,4CAA4C;AAC5C,4CAA4C;AAE5C,MAAM,+BAA+B,GAAG,GAAG,EAAE;IAC3C,OAAO,CAAC,QAAQ,CAAC,GAAG,CAClB,iCAAiC,EACjC,CAAC,IAA8C,EAAE,EAAE;QACjD,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;QACnC,6CAA6C;QAC7C,MAAM,SAAS,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;QAE5C,kCAAkC;QAClC,MAAM,gBAAgB,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE1C,6CAA6C;QAC7C,OAAO,CACL,EAAE;aACC,GAAG,CAAC,gBAAgB,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;aAC7C,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,GAAG,OAAO,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,oBAAoB,gBAAgB,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;aACrH,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE;YACb,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,KAAK,EAAE,CAAC;YACtD,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,GAAG,OAAO,aAAa,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAChE,CAAC,CAAC,CACL,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC,CAAC;AAEF,4CAA4C;AAC5C,4CAA4C;AAC5C,4CAA4C;AAE5C,kBAAe,+BAA+B,CAAC"}
|
|
@@ -4,11 +4,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
4
4
|
/*----------------------------------------*/
|
|
5
5
|
/* --------------- Command -------------- */
|
|
6
6
|
/*----------------------------------------*/
|
|
7
|
-
|
|
8
|
-
Cypress.Commands.add('waitForElementVisible',
|
|
7
|
+
const waitForElementVisible = () => {
|
|
8
|
+
Cypress.Commands.add('waitForElementVisible', (item, timeoutSec) => {
|
|
9
9
|
cy.log('Waiting for element to be visible');
|
|
10
|
-
|
|
11
|
-
cy.log(
|
|
10
|
+
const timeoutMs = (timeoutSec || 10) * 1000;
|
|
11
|
+
cy.log(`Wait for ${item} to be visible`);
|
|
12
12
|
return cy.get(item, { timeout: timeoutMs }).should('be.visible');
|
|
13
13
|
});
|
|
14
14
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"waitForElementVisible.js","sourceRoot":"","sources":["../../../src/commands/waitForElementVisible.ts"],"names":[],"mappings":";AAAA,iCAAiC;;AAwBjC,4CAA4C;AAC5C,4CAA4C;AAC5C,4CAA4C;AAE5C,
|
|
1
|
+
{"version":3,"file":"waitForElementVisible.js","sourceRoot":"","sources":["../../../src/commands/waitForElementVisible.ts"],"names":[],"mappings":";AAAA,iCAAiC;;AAwBjC,4CAA4C;AAC5C,4CAA4C;AAC5C,4CAA4C;AAE5C,MAAM,qBAAqB,GAAG,GAAG,EAAE;IACjC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAClB,uBAAuB,EACvB,CACE,IAAY,EACZ,UAAmB,EACnB,EAAE;QACF,EAAE,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;QAE5C,MAAM,SAAS,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC;QAC5C,EAAE,CAAC,GAAG,CAAC,YAAY,IAAI,gBAAgB,CAAC,CAAC;QACzC,OAAO,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IACnE,CAAC,CACF,CAAC;AACJ,CAAC,CAAC;AAEF,4CAA4C;AAC5C,4CAA4C;AAC5C,4CAA4C;AAE5C,kBAAe,qBAAqB,CAAC"}
|
|
@@ -3,14 +3,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
|
|
6
|
+
const path_1 = __importDefault(require("path"));
|
|
7
7
|
/**
|
|
8
8
|
* Get the root path of the project
|
|
9
9
|
* @author Yuen Ler Chow
|
|
10
10
|
* @returns the root path of the project
|
|
11
11
|
*/
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
const getRootPath = () => {
|
|
13
|
+
const root = path_1.default.join(__dirname, '../../../../../../');
|
|
14
14
|
return root;
|
|
15
15
|
};
|
|
16
16
|
exports.default = getRootPath;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getRootPath.js","sourceRoot":"","sources":["../../../../src/genConfiguration/helpers/getRootPath.ts"],"names":[],"mappings":";;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"getRootPath.js","sourceRoot":"","sources":["../../../../src/genConfiguration/helpers/getRootPath.ts"],"names":[],"mappings":";;;;;AAAA,gDAAwB;AAExB;;;;GAIG;AACH,MAAM,WAAW,GAAG,GAAG,EAAE;IACvB,MAAM,IAAI,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAC;IACxD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,kBAAe,WAAW,CAAC"}
|
|
@@ -18,19 +18,18 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
18
18
|
* @param basics entries
|
|
19
19
|
* @returns env with all dependent values resolved
|
|
20
20
|
*/
|
|
21
|
-
|
|
22
|
-
|
|
21
|
+
const resolveDependents = (dependentMaps, basics) => {
|
|
22
|
+
const resolved = {};
|
|
23
23
|
// Loop through all of the dependency maps
|
|
24
|
-
dependentMaps.forEach(
|
|
24
|
+
dependentMaps.forEach((depMap) => {
|
|
25
25
|
// Loop through all entries within dependency map
|
|
26
|
-
Object.entries(depMap).forEach(
|
|
27
|
-
var k = _a[0], depVal = _a[1];
|
|
26
|
+
Object.entries(depMap).forEach(([k, depVal]) => {
|
|
28
27
|
// Get basic selector the value depends on
|
|
29
|
-
|
|
28
|
+
const selector = basics[depVal.dependsOn];
|
|
30
29
|
// Create table of values selector can be
|
|
31
|
-
|
|
30
|
+
const _a = depVal, { dependsOn } = _a, table = __rest(_a, ["dependsOn"]);
|
|
32
31
|
// Get the selector's picked value
|
|
33
|
-
|
|
32
|
+
const picked = table[selector];
|
|
34
33
|
if (picked !== undefined) {
|
|
35
34
|
resolved[k] = picked;
|
|
36
35
|
}
|
|
@@ -39,7 +38,7 @@ var resolveDependents = function (dependentMaps, basics) {
|
|
|
39
38
|
}
|
|
40
39
|
else {
|
|
41
40
|
// eslint-disable-next-line max-len, no-console
|
|
42
|
-
console.warn(
|
|
41
|
+
console.warn(`[cypress.config] Could not resolve ${k}, dependsOn=${dependsOn}, selector=${String(selector)}`);
|
|
43
42
|
process.exit(1);
|
|
44
43
|
}
|
|
45
44
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolveDependents.js","sourceRoot":"","sources":["../../../../src/genConfiguration/helpers/resolveDependents.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAIA;;;;;;GAMG;AACH,
|
|
1
|
+
{"version":3,"file":"resolveDependents.js","sourceRoot":"","sources":["../../../../src/genConfiguration/helpers/resolveDependents.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAIA;;;;;;GAMG;AACH,MAAM,iBAAiB,GAAG,CACxB,aAAgD,EAChD,MAAwB,EACN,EAAE;IACpB,MAAM,QAAQ,GAAqB,EAAE,CAAC;IAEtC,0CAA0C;IAC1C,aAAa,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;QAC/B,iDAAiD;QACjD,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,EAAE;YAC7C,0CAA0C;YAC1C,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAE1C,yCAAyC;YACzC,MAAM,KAA0B,MAAkC,EAA5D,EAAE,SAAS,OAAiD,EAA5C,KAAK,cAArB,aAAuB,CAAqC,CAAC;YAEnE,kCAAkC;YAClC,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;YAE/B,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,QAAQ,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;YACvB,CAAC;iBAAM,IAAI,SAAS,IAAI,KAAK,EAAE,CAAC;gBAC9B,QAAQ,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC;YAC9B,CAAC;iBAAM,CAAC;gBACN,+CAA+C;gBAC/C,OAAO,CAAC,IAAI,CAAC,sCAAsC,CAAC,eAAe,SAAS,cAAc,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBAC9G,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAEF,kBAAe,iBAAiB,CAAC"}
|
|
@@ -6,11 +6,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
* @param map to split
|
|
7
7
|
* @returns split basic and dependent values map
|
|
8
8
|
*/
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
Object.entries(map).forEach(
|
|
13
|
-
var k = _a[0], v = _a[1];
|
|
9
|
+
const splitEnv = (map) => {
|
|
10
|
+
const basic = {};
|
|
11
|
+
const dependent = {};
|
|
12
|
+
Object.entries(map).forEach(([k, v]) => {
|
|
14
13
|
// If entry has dependsOn relationship, add it to dependent dictionary
|
|
15
14
|
if (typeof v === 'object' && 'dependsOn' in v) {
|
|
16
15
|
dependent[k] = v;
|
|
@@ -21,7 +20,7 @@ var splitEnv = function (map) {
|
|
|
21
20
|
}
|
|
22
21
|
});
|
|
23
22
|
// Returns separated basic and dependent values
|
|
24
|
-
return { basic
|
|
23
|
+
return { basic, dependent };
|
|
25
24
|
};
|
|
26
25
|
exports.default = splitEnv;
|
|
27
26
|
//# sourceMappingURL=splitEnv.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"splitEnv.js","sourceRoot":"","sources":["../../../../src/genConfiguration/helpers/splitEnv.ts"],"names":[],"mappings":";;AAKA;;;;;GAKG;AACH,
|
|
1
|
+
{"version":3,"file":"splitEnv.js","sourceRoot":"","sources":["../../../../src/genConfiguration/helpers/splitEnv.ts"],"names":[],"mappings":";;AAKA;;;;;GAKG;AACH,MAAM,QAAQ,GAAG,CAAC,GAAqB,EAAY,EAAE;IACnD,MAAM,KAAK,GAAqB,EAAE,CAAC;IACnC,MAAM,SAAS,GAAoC,EAAE,CAAC;IAEtD,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE;QACrC,sEAAsE;QACtE,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,WAAW,IAAI,CAAC,EAAE,CAAC;YAC9C,SAAS,CAAC,CAAC,CAAC,GAAG,CAAmB,CAAC;YACrC,wCAAwC;QACxC,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QACf,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,+CAA+C;IAC/C,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;AAC9B,CAAC,CAAC;AAEF,kBAAe,QAAQ,CAAC"}
|