dceky 1.0.13 → 1.0.15

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.
@@ -22,6 +22,7 @@ var setupCypressDependencies = function () {
22
22
  'mochawesome',
23
23
  'mochawesome-merge',
24
24
  'mochawesome-report-generator',
25
+ 'cypress-iframe',
25
26
  ];
26
27
  // Read package.json
27
28
  // eslint-disable-next-line global-require, import/no-dynamic-require
@@ -1 +1 @@
1
- {"version":3,"file":"setupCypressDependencies.js","sourceRoot":"","sources":["../../setup/setupCypressDependencies.ts"],"names":[],"mappings":";;;;;AAAA,cAAc;AACd,8CAAwB;AAExB,wBAAwB;AACxB,+DAAyC;AACzC,sEAAgD;AAEhD;;;GAGG;AACH,IAAM,wBAAwB,GAAG;IAC/B,IAAM,IAAI,GAAG,IAAA,qBAAW,GAAE,CAAC;IAE3B,IAAM,YAAY,GAAG;QACnB,SAAS;QACT,YAAY;QACZ,kBAAkB;QAClB,yBAAyB;QACzB,aAAa;QACb,mBAAmB;QACnB,8BAA8B;KAC/B,CAAC;IAEF,oBAAoB;IACpB,qEAAqE;IACrE,IAAM,OAAO,GAAG,OAAO,CAAC,cAAI,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC;IACzD,IAAM,OAAO,GAAG,OAAO,CAAC,eAAe,IAAI,EAAE,CAAC;IAE9C,IAAM,WAAW,GAAG,YAAY,CAAC,MAAM,CAAC,UAAC,GAAG;QAC1C,kDAAkD;QAClD,OAAO,CAAC,CAAC,GAAG,IAAI,OAAO,CAAC,CAAC;IAC3B,CAAC,CAAC,CAAC;IAEH,2BAA2B;IAC3B,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,iBAAiB;QACjB,sCAAsC;QACtC,OAAO,CAAC,GAAG,CAAC,4CAAqC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAE,CAAC,CAAC;QAE3E,4BAA4B;QAC5B,IAAM,UAAU,GAAG,aAAM,IAAI,0BAAgB,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAE,CAAC;QACrE,IAAA,cAAI,EAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IACzB,CAAC;AACH,CAAC,CAAC;AAEF,kBAAe,wBAAwB,CAAC"}
1
+ {"version":3,"file":"setupCypressDependencies.js","sourceRoot":"","sources":["../../setup/setupCypressDependencies.ts"],"names":[],"mappings":";;;;;AAAA,cAAc;AACd,8CAAwB;AAExB,wBAAwB;AACxB,+DAAyC;AACzC,sEAAgD;AAEhD;;;GAGG;AACH,IAAM,wBAAwB,GAAG;IAC/B,IAAM,IAAI,GAAG,IAAA,qBAAW,GAAE,CAAC;IAE3B,IAAM,YAAY,GAAG;QACnB,SAAS;QACT,YAAY;QACZ,kBAAkB;QAClB,yBAAyB;QACzB,aAAa;QACb,mBAAmB;QACnB,8BAA8B;QAC9B,gBAAgB;KACjB,CAAC;IAEF,oBAAoB;IACpB,qEAAqE;IACrE,IAAM,OAAO,GAAG,OAAO,CAAC,cAAI,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC;IACzD,IAAM,OAAO,GAAG,OAAO,CAAC,eAAe,IAAI,EAAE,CAAC;IAE9C,IAAM,WAAW,GAAG,YAAY,CAAC,MAAM,CAAC,UAAC,GAAG;QAC1C,kDAAkD;QAClD,OAAO,CAAC,CAAC,GAAG,IAAI,OAAO,CAAC,CAAC;IAC3B,CAAC,CAAC,CAAC;IAEH,2BAA2B;IAC3B,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,iBAAiB;QACjB,sCAAsC;QACtC,OAAO,CAAC,GAAG,CAAC,4CAAqC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAE,CAAC,CAAC;QAE3E,4BAA4B;QAC5B,IAAM,UAAU,GAAG,aAAM,IAAI,0BAAgB,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAE,CAAC;QACrE,IAAA,cAAI,EAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IACzB,CAAC;AACH,CAAC,CAAC;AAEF,kBAAe,wBAAwB,CAAC"}
@@ -0,0 +1,14 @@
1
+ declare global {
2
+ namespace Cypress {
3
+ interface Chainable {
4
+ /**
5
+ * Check if an element exists on the page
6
+ * @author Allison Zhang
7
+ * @param selector - The selector for the element to check
8
+ */
9
+ checkIfElementExists(selector: string): Chainable<boolean>;
10
+ }
11
+ }
12
+ }
13
+ declare const checkIfElementExists: () => void;
14
+ export default checkIfElementExists;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ /// <reference types="cypress" />
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ /*----------------------------------------*/
5
+ /* --------------- Command -------------- */
6
+ /*----------------------------------------*/
7
+ var checkIfElementExists = function () {
8
+ Cypress.Commands.add('checkIfElementExists', function (selector) {
9
+ cy.runScript("document.querySelectorAll('".concat(selector, "').length > 0;")).then(function (result) {
10
+ return cy.wrap(result);
11
+ });
12
+ });
13
+ };
14
+ /*----------------------------------------*/
15
+ /* --------------- Export --------------- */
16
+ /*----------------------------------------*/
17
+ exports.default = checkIfElementExists;
18
+ //# sourceMappingURL=checkIfElementExists.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkIfElementExists.js","sourceRoot":"","sources":["../../../src/commands/checkIfElementExists.ts"],"names":[],"mappings":";AAAA,iCAAiC;;AAqBjC,4CAA4C;AAC5C,4CAA4C;AAC5C,4CAA4C;AAE5C,IAAM,oBAAoB,GAAG;IAC3B,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,sBAAsB,EAAE,UAAC,QAAgB;QAC5D,EAAE,CAAC,SAAS,CAAC,qCAA8B,QAAQ,mBAAgB,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;YAC/E,OAAO,EAAE,CAAC,IAAI,CAAC,MAAiB,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,4CAA4C;AAC5C,4CAA4C;AAC5C,4CAA4C;AAE5C,kBAAe,oBAAoB,CAAC"}
@@ -7,6 +7,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
7
7
  var assertDoesNotHaveClass_1 = __importDefault(require("./assertDoesNotHaveClass"));
8
8
  var assertHasClass_1 = __importDefault(require("./assertHasClass"));
9
9
  var assertNumElements_1 = __importDefault(require("./assertNumElements"));
10
+ var checkIfElementExists_1 = __importDefault(require("./checkIfElementExists"));
10
11
  var extractDataFromClass_1 = __importDefault(require("./extractDataFromClass"));
11
12
  var extractDataFromClassByContents_1 = __importDefault(require("./extractDataFromClassByContents"));
12
13
  var genTextOfLength_1 = __importDefault(require("./genTextOfLength"));
@@ -29,6 +30,7 @@ var runScript_1 = __importDefault(require("./runScript"));
29
30
  var typeInto_1 = __importDefault(require("./typeInto"));
30
31
  var uniquify_1 = __importDefault(require("./uniquify"));
31
32
  var tap_1 = __importDefault(require("./tap"));
33
+ var tapInIFrame_1 = __importDefault(require("./tapInIFrame"));
32
34
  var visitCanvasEndpoint_1 = __importDefault(require("./visitCanvasEndpoint"));
33
35
  var waitForAtLeastOneElementPresent_1 = __importDefault(require("./waitForAtLeastOneElementPresent"));
34
36
  var waitForElementVisible_1 = __importDefault(require("./waitForElementVisible"));
@@ -41,6 +43,7 @@ var commands = function () {
41
43
  (0, assertDoesNotHaveClass_1.default)();
42
44
  (0, assertHasClass_1.default)();
43
45
  (0, assertNumElements_1.default)();
46
+ (0, checkIfElementExists_1.default)();
44
47
  (0, extractDataFromClass_1.default)();
45
48
  (0, extractDataFromClassByContents_1.default)();
46
49
  (0, genTextOfLength_1.default)();
@@ -63,6 +66,7 @@ var commands = function () {
63
66
  (0, typeInto_1.default)();
64
67
  (0, uniquify_1.default)();
65
68
  (0, tap_1.default)();
69
+ (0, tapInIFrame_1.default)();
66
70
  (0, visitCanvasEndpoint_1.default)();
67
71
  (0, waitForAtLeastOneElementPresent_1.default)();
68
72
  (0, waitForElementVisible_1.default)();
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/index.ts"],"names":[],"mappings":";;;;;AAAA,sBAAsB;AACtB,oFAA8D;AAC9D,oEAA8C;AAC9C,0EAAoD;AACpD,gFAA0D;AAC1D,oGAA8E;AAC9E,sEAAgD;AAChD,gEAA0C;AAC1C,gEAA0C;AAC1C,4EAAsD;AACtD,kDAA4B;AAC5B,sDAAgC;AAChC,oEAA8C;AAC9C,sEAAgD;AAChD,wDAAkC;AAClC,wEAAkD;AAClD,wDAAkC;AAClC,8EAAwD;AACxD,wEAAkD;AAClD,wEAAkD;AAClD,oEAA8C;AAC9C,gEAA0C;AAC1C,0DAAoC;AACpC,wDAAkC;AAClC,wDAAkC;AAClC,8CAAwB;AACxB,8EAAwD;AACxD,sGAAgF;AAChF,kFAA4D;AAE5D;;;GAGG;AACH,IAAM,QAAQ,GAAG;IACf,6BAA6B;IAC7B,IAAA,gCAAsB,GAAE,CAAC;IACzB,IAAA,wBAAc,GAAE,CAAC;IACjB,IAAA,2BAAiB,GAAE,CAAC;IACpB,IAAA,8BAAoB,GAAE,CAAC;IACvB,IAAA,wCAA8B,GAAE,CAAC;IACjC,IAAA,yBAAe,GAAE,CAAC;IAClB,IAAA,sBAAY,GAAE,CAAC;IACf,IAAA,sBAAY,GAAE,CAAC;IACf,IAAA,4BAAkB,GAAE,CAAC;IACrB,IAAA,eAAK,GAAE,CAAC;IACR,IAAA,iBAAO,GAAE,CAAC;IACV,IAAA,wBAAc,GAAE,CAAC;IACjB,IAAA,yBAAe,GAAE,CAAC;IAClB,IAAA,kBAAQ,GAAE,CAAC;IACX,IAAA,0BAAgB,GAAE,CAAC;IACnB,IAAA,kBAAQ,GAAE,CAAC;IACX,IAAA,6BAAmB,GAAE,CAAC;IACtB,IAAA,0BAAgB,GAAE,CAAC;IACnB,IAAA,0BAAgB,GAAE,CAAC;IACnB,IAAA,wBAAc,GAAE,CAAC;IACjB,IAAA,sBAAY,GAAE,CAAC;IACf,IAAA,mBAAS,GAAE,CAAC;IACZ,IAAA,kBAAQ,GAAE,CAAC;IACX,IAAA,kBAAQ,GAAE,CAAC;IACX,IAAA,aAAG,GAAE,CAAC;IACN,IAAA,6BAAmB,GAAE,CAAC;IACtB,IAAA,yCAA+B,GAAE,CAAC;IAClC,IAAA,+BAAqB,GAAE,CAAC;AAC1B,CAAC,CAAC;AAEF,kBAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/index.ts"],"names":[],"mappings":";;;;;AAAA,sBAAsB;AACtB,oFAA8D;AAC9D,oEAA8C;AAC9C,0EAAoD;AACpD,gFAA0D;AAC1D,gFAA0D;AAC1D,oGAA8E;AAC9E,sEAAgD;AAChD,gEAA0C;AAC1C,gEAA0C;AAC1C,4EAAsD;AACtD,kDAA4B;AAC5B,sDAAgC;AAChC,oEAA8C;AAC9C,sEAAgD;AAChD,wDAAkC;AAClC,wEAAkD;AAClD,wDAAkC;AAClC,8EAAwD;AACxD,wEAAkD;AAClD,wEAAkD;AAClD,oEAA8C;AAC9C,gEAA0C;AAC1C,0DAAoC;AACpC,wDAAkC;AAClC,wDAAkC;AAClC,8CAAwB;AACxB,8DAAwC;AACxC,8EAAwD;AACxD,sGAAgF;AAChF,kFAA4D;AAE5D;;;GAGG;AACH,IAAM,QAAQ,GAAG;IACf,6BAA6B;IAC7B,IAAA,gCAAsB,GAAE,CAAC;IACzB,IAAA,wBAAc,GAAE,CAAC;IACjB,IAAA,2BAAiB,GAAE,CAAC;IACpB,IAAA,8BAAoB,GAAE,CAAC;IACvB,IAAA,8BAAoB,GAAE,CAAC;IACvB,IAAA,wCAA8B,GAAE,CAAC;IACjC,IAAA,yBAAe,GAAE,CAAC;IAClB,IAAA,sBAAY,GAAE,CAAC;IACf,IAAA,sBAAY,GAAE,CAAC;IACf,IAAA,4BAAkB,GAAE,CAAC;IACrB,IAAA,eAAK,GAAE,CAAC;IACR,IAAA,iBAAO,GAAE,CAAC;IACV,IAAA,wBAAc,GAAE,CAAC;IACjB,IAAA,yBAAe,GAAE,CAAC;IAClB,IAAA,kBAAQ,GAAE,CAAC;IACX,IAAA,0BAAgB,GAAE,CAAC;IACnB,IAAA,kBAAQ,GAAE,CAAC;IACX,IAAA,6BAAmB,GAAE,CAAC;IACtB,IAAA,0BAAgB,GAAE,CAAC;IACnB,IAAA,0BAAgB,GAAE,CAAC;IACnB,IAAA,wBAAc,GAAE,CAAC;IACjB,IAAA,sBAAY,GAAE,CAAC;IACf,IAAA,mBAAS,GAAE,CAAC;IACZ,IAAA,kBAAQ,GAAE,CAAC;IACX,IAAA,kBAAQ,GAAE,CAAC;IACX,IAAA,aAAG,GAAE,CAAC;IACN,IAAA,qBAAW,GAAE,CAAC;IACd,IAAA,6BAAmB,GAAE,CAAC;IACtB,IAAA,yCAA+B,GAAE,CAAC;IAClC,IAAA,+BAAqB,GAAE,CAAC;AAC1B,CAAC,CAAC;AAEF,kBAAe,QAAQ,CAAC"}
@@ -8,6 +8,9 @@ var launchAs = function () {
8
8
  Cypress.Commands.add('launchAs', function (name, opts) {
9
9
  if (opts === void 0) { opts = {}; }
10
10
  var courseId = opts.courseId, appName = opts.appName;
11
+ // Visit the base URL to set default origin
12
+ var baseURL = Cypress.config('baseUrl');
13
+ cy.visit(baseURL);
11
14
  // Get courseId from environment variables if not provided
12
15
  if (!courseId) {
13
16
  var envCourseId = Cypress.env('courseId');
@@ -1 +1 @@
1
- {"version":3,"file":"launchAs.js","sourceRoot":"","sources":["../../../src/commands/launchAs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"launchAs.js","sourceRoot":"","sources":["../../../src/commands/launchAs.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import 'cypress-iframe';
2
+ declare global {
3
+ namespace Cypress {
4
+ interface Chainable {
5
+ /**
6
+ * Given an iframe, begins controlling it.
7
+ * @author Allison Zhang
8
+ * @param iframeSelector - The selector for the iframe to control
9
+ * @param selectorToTap - The selector for the element inside the iframe to tap
10
+ */
11
+ tapInIFrame(iframeSelector: string, selectorToTap: string): Chainable<JQuery<HTMLElement>>;
12
+ }
13
+ }
14
+ }
15
+ declare const tapInIFrame: () => void;
16
+ export default tapInIFrame;
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ /// <reference types="cypress" />
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ require("cypress-iframe");
5
+ /*----------------------------------------*/
6
+ /* --------------- Command -------------- */
7
+ /*----------------------------------------*/
8
+ var tapInIFrame = function () {
9
+ Cypress.Commands.add('tapInIFrame', function (iframeSelector, selectorToTap) {
10
+ cy.frameLoaded(iframeSelector);
11
+ return (cy
12
+ .iframe(iframeSelector)
13
+ .find(selectorToTap)
14
+ .click());
15
+ });
16
+ };
17
+ /*----------------------------------------*/
18
+ /* --------------- Export --------------- */
19
+ /*----------------------------------------*/
20
+ exports.default = tapInIFrame;
21
+ //# sourceMappingURL=tapInIFrame.js.map
@@ -0,0 +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,IAAM,WAAW,GAAG;IAClB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,aAAa,EAAE,UAAC,cAAsB,EAAE,aAAqB;QAChF,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"}
@@ -77,6 +77,8 @@ var runCypressHeadless = function (opts) {
77
77
  numThreads.toString(),
78
78
  '-d',
79
79
  'cypress/e2e/**/*',
80
+ '-m',
81
+ 'false',
80
82
  '-a',
81
83
  // eslint-disable-next-line quotes
82
84
  "'\"".concat(cypressArgsString, "\"'"),
@@ -1 +1 @@
1
- {"version":3,"file":"runCypressHeadless.js","sourceRoot":"","sources":["../../../start/helpers/runCypressHeadless.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runCypressHeadless.js","sourceRoot":"","sources":["../../../start/helpers/runCypressHeadless.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dceky",
3
- "version": "1.0.13",
3
+ "version": "1.0.15",
4
4
  "description": "Cypress toolkit for Harvard DCE",
5
5
  "main": "./lib/src/index.js",
6
6
  "types": "./lib/src/index.d.ts",
@@ -34,6 +34,7 @@
34
34
  "@types/prompt-sync": "^4.2.3",
35
35
  "child_process": "^1.0.2",
36
36
  "clear": "^0.1.0",
37
+ "cypress-iframe": "^1.0.1",
37
38
  "deepmerge": "4.3.1",
38
39
  "ejs": "^3.1.10",
39
40
  "prompt-sync": "^4.2.0"
@@ -20,6 +20,7 @@ const setupCypressDependencies = (): void => {
20
20
  'mochawesome',
21
21
  'mochawesome-merge',
22
22
  'mochawesome-report-generator',
23
+ 'cypress-iframe',
23
24
  ];
24
25
 
25
26
  // Read package.json
@@ -0,0 +1,38 @@
1
+ /// <reference types="cypress" />
2
+
3
+ /*----------------------------------------*/
4
+ /* ---------------- Type ---------------- */
5
+ /*----------------------------------------*/
6
+
7
+ declare global {
8
+ namespace Cypress {
9
+ interface Chainable {
10
+ /**
11
+ * Check if an element exists on the page
12
+ * @author Allison Zhang
13
+ * @param selector - The selector for the element to check
14
+ */
15
+ checkIfElementExists(
16
+ selector: string,
17
+ ): Chainable<boolean>;
18
+ }
19
+ }
20
+ }
21
+
22
+ /*----------------------------------------*/
23
+ /* --------------- Command -------------- */
24
+ /*----------------------------------------*/
25
+
26
+ const checkIfElementExists = () => {
27
+ Cypress.Commands.add('checkIfElementExists', (selector: string) => {
28
+ cy.runScript(`document.querySelectorAll('${selector}').length > 0;`).then((result) => {
29
+ return cy.wrap(result as boolean);
30
+ });
31
+ });
32
+ };
33
+
34
+ /*----------------------------------------*/
35
+ /* --------------- Export --------------- */
36
+ /*----------------------------------------*/
37
+
38
+ export default checkIfElementExists;
@@ -2,6 +2,7 @@
2
2
  import assertDoesNotHaveClass from './assertDoesNotHaveClass';
3
3
  import assertHasClass from './assertHasClass';
4
4
  import assertNumElements from './assertNumElements';
5
+ import checkIfElementExists from './checkIfElementExists';
5
6
  import extractDataFromClass from './extractDataFromClass';
6
7
  import extractDataFromClassByContents from './extractDataFromClassByContents';
7
8
  import genTextOfLength from './genTextOfLength';
@@ -24,6 +25,7 @@ import runScript from './runScript';
24
25
  import typeInto from './typeInto';
25
26
  import uniquify from './uniquify';
26
27
  import tap from './tap';
28
+ import tapInIFrame from './tapInIFrame';
27
29
  import visitCanvasEndpoint from './visitCanvasEndpoint';
28
30
  import waitForAtLeastOneElementPresent from './waitForAtLeastOneElementPresent';
29
31
  import waitForElementVisible from './waitForElementVisible';
@@ -37,6 +39,7 @@ const commands = () => {
37
39
  assertDoesNotHaveClass();
38
40
  assertHasClass();
39
41
  assertNumElements();
42
+ checkIfElementExists();
40
43
  extractDataFromClass();
41
44
  extractDataFromClassByContents();
42
45
  genTextOfLength();
@@ -59,6 +62,7 @@ const commands = () => {
59
62
  typeInto();
60
63
  uniquify();
61
64
  tap();
65
+ tapInIFrame();
62
66
  visitCanvasEndpoint();
63
67
  waitForAtLeastOneElementPresent();
64
68
  waitForElementVisible();
@@ -47,6 +47,10 @@ const launchAs = () => {
47
47
  ) => {
48
48
  let { courseId, appName } = opts;
49
49
 
50
+ // Visit the base URL to set default origin
51
+ const baseURL = Cypress.config('baseUrl');
52
+ cy.visit(baseURL);
53
+
50
54
  // Get courseId from environment variables if not provided
51
55
  if (!courseId) {
52
56
  const envCourseId = Cypress.env('courseId');
@@ -0,0 +1,46 @@
1
+ /// <reference types="cypress" />
2
+
3
+ import 'cypress-iframe';
4
+
5
+ /*----------------------------------------*/
6
+ /* ---------------- Type ---------------- */
7
+ /*----------------------------------------*/
8
+
9
+ declare global {
10
+ namespace Cypress {
11
+ interface Chainable {
12
+ /**
13
+ * Given an iframe, begins controlling it.
14
+ * @author Allison Zhang
15
+ * @param iframeSelector - The selector for the iframe to control
16
+ * @param selectorToTap - The selector for the element inside the iframe to tap
17
+ */
18
+ tapInIFrame(
19
+ iframeSelector: string,
20
+ selectorToTap: string,
21
+ ): Chainable<JQuery<HTMLElement>>;
22
+ }
23
+ }
24
+ }
25
+
26
+ /*----------------------------------------*/
27
+ /* --------------- Command -------------- */
28
+ /*----------------------------------------*/
29
+
30
+ const tapInIFrame = () => {
31
+ Cypress.Commands.add('tapInIFrame', (iframeSelector: string, selectorToTap: string) => {
32
+ cy.frameLoaded(iframeSelector);
33
+ return (
34
+ cy
35
+ .iframe(iframeSelector)
36
+ .find(selectorToTap)
37
+ .click()
38
+ );
39
+ });
40
+ };
41
+
42
+ /*----------------------------------------*/
43
+ /* --------------- Export --------------- */
44
+ /*----------------------------------------*/
45
+
46
+ export default tapInIFrame;
@@ -92,6 +92,8 @@ const runCypressHeadless = (opts: {
92
92
  numThreads.toString(),
93
93
  '-d',
94
94
  'cypress/e2e/**/*',
95
+ '-m',
96
+ 'false',
95
97
  '-a',
96
98
  // eslint-disable-next-line quotes
97
99
  `'"${cypressArgsString}"'`,