dceky 1.0.22 → 1.0.23

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.
@@ -2,7 +2,7 @@ declare global {
2
2
  namespace Cypress {
3
3
  interface Chainable {
4
4
  /**
5
- * Handle a HarvardKey login page for a user
5
+ * Handle a HarvardKey login page for a user via UI (form filling with cy.origin(), not API calls)
6
6
  * @author Yuen Ler Chow
7
7
  * @param name the name of the user environment variable
8
8
  * @return Cypress chainable (void) - performs authentication flow, no return value
@@ -6,14 +6,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  /*----------------------------------------*/
7
7
  var handleHarvardKey = function () {
8
8
  Cypress.Commands.add('handleHarvardKey', function (name) {
9
- cy.log('🔓 Handling HarvardKey authentication');
9
+ cy.log('🔓 Handling HarvardKey authentication via UI');
10
10
  var userInfo = Cypress.env(name);
11
11
  if (!userInfo) {
12
12
  throw new Error("Could not find ".concat(name, " in environment variables"));
13
13
  }
14
- // Destructure the user info object to get the username and password
15
- var username = userInfo.username;
16
- var password = userInfo.password;
14
+ // Destructure the user info object
15
+ var username = userInfo.username, password = userInfo.password;
17
16
  // Get the Harvard login URL using originWithKaixa with auto-initialized functions
18
17
  cy.origin('https://apps.cirrusidentity.com', function () {
19
18
  Cypress.require('dceky');
@@ -1 +1 @@
1
- {"version":3,"file":"handleHarvardKey.js","sourceRoot":"","sources":["../../../src/commands/handleHarvardKey.ts"],"names":[],"mappings":";AAAA,iCAAiC;;AAsBjC,4CAA4C;AAC5C,4CAA4C;AAC5C,4CAA4C;AAE5C,IAAM,gBAAgB,GAAG;IACvB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAClB,kBAAkB,EAClB,UACE,IAAY;QAEZ,EAAE,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;QAEhD,IAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,yBAAkB,IAAI,8BAA2B,CAAC,CAAC;QACrE,CAAC;QAED,oEAAoE;QAC5D,IAAA,QAAQ,GAAK,QAAQ,SAAb,CAAc;QACtB,IAAA,QAAQ,GAAK,QAAQ,SAAb,CAAc;QAE9B,kFAAkF;QAClF,EAAE,CAAC,MAAM,CAAC,iCAAiC,EAAE;YAC3C,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACzB,yBAAyB;YACzB,4FAA4F;YAC5F,OAAO,EAAE,CAAC,cAAc,CAAC,wBAAwB,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC,IAAI,CAAC,UAAC,OAAe;YACxB,2DAA2D;YACzD,EAAE,CAAC,MAAM,CAAC,wCAAwC,EAAE;gBAClD,IAAI,EAAE,EAAE,QAAQ,UAAA,EAAE,QAAQ,UAAA,EAAE,OAAO,SAAA,EAAE;aACtC,EAAE,UAAC,IAAI;gBACN,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBAEvB,IAAU,eAAe,GAGvB,IAAI,SAHmB,EACf,eAAe,GAEvB,IAAI,SAFmB,EAChB,eAAe,GACtB,IAAI,QADkB,CACjB;gBAET,EAAE,CAAC,EAAE,CAAC,oBAAoB,EAAE,UAAC,CAAQ;oBACnC,iCAAiC;oBACjC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,CAAC;wBAChD,OAAO,IAAI,CAAC;oBACd,CAAC;oBACD,OAAO,KAAK,CAAC;gBACf,CAAC,CAAC,CAAC;gBAEH,+BAA+B;gBAC/B,EAAE,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;gBAE1B,sCAAsC;gBACtC,EAAE,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC;gBACtC,EAAE,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC;gBAEtC,EAAE,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,CAAC;gBAC1D,EAAE,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,CAAC;gBAE1D,kBAAkB;gBAClB,EAAE,CAAC,GAAG,CAAC,2DAA2D,CAAC,CAAC,KAAK,EAAE,CAAC;YAC9E,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CACF,CAAC;AACJ,CAAC,CAAC;AAEF,4CAA4C;AAC5C,4CAA4C;AAC5C,4CAA4C;AAE5C,kBAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"handleHarvardKey.js","sourceRoot":"","sources":["../../../src/commands/handleHarvardKey.ts"],"names":[],"mappings":";AAAA,iCAAiC;;AAsBjC,4CAA4C;AAC5C,4CAA4C;AAC5C,4CAA4C;AAE5C,IAAM,gBAAgB,GAAG;IACvB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAClB,kBAAkB,EAClB,UACE,IAAY;QAEZ,EAAE,CAAC,GAAG,CAAC,8CAA8C,CAAC,CAAC;QAEvD,IAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,yBAAkB,IAAI,8BAA2B,CAAC,CAAC;QACrE,CAAC;QAED,mCAAmC;QAC3B,IAAA,QAAQ,GAAe,QAAQ,SAAvB,EAAE,QAAQ,GAAK,QAAQ,SAAb,CAAc;QAExC,kFAAkF;QAClF,EAAE,CAAC,MAAM,CAAC,iCAAiC,EAAE;YAC3C,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YACzB,yBAAyB;YACzB,4FAA4F;YAC5F,OAAO,EAAE,CAAC,cAAc,CAAC,wBAAwB,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC,IAAI,CAAC,UAAC,OAAe;YACxB,2DAA2D;YACzD,EAAE,CAAC,MAAM,CAAC,wCAAwC,EAAE;gBAClD,IAAI,EAAE,EAAE,QAAQ,UAAA,EAAE,QAAQ,UAAA,EAAE,OAAO,SAAA,EAAE;aACtC,EAAE,UAAC,IAAI;gBACN,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBAEvB,IAAU,eAAe,GAGvB,IAAI,SAHmB,EACf,eAAe,GAEvB,IAAI,SAFmB,EAChB,eAAe,GACtB,IAAI,QADkB,CACjB;gBAET,EAAE,CAAC,EAAE,CAAC,oBAAoB,EAAE,UAAC,CAAQ;oBACnC,iCAAiC;oBACjC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,CAAC;wBAChD,OAAO,IAAI,CAAC;oBACd,CAAC;oBACD,OAAO,KAAK,CAAC;gBACf,CAAC,CAAC,CAAC;gBAEH,+BAA+B;gBAC/B,EAAE,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;gBAE1B,sCAAsC;gBACtC,EAAE,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC;gBACtC,EAAE,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC;gBAEtC,EAAE,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,CAAC;gBAC1D,EAAE,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,CAAC;gBAE1D,kBAAkB;gBAClB,EAAE,CAAC,GAAG,CAAC,2DAA2D,CAAC,CAAC,KAAK,EAAE,CAAC;YAC9E,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CACF,CAAC;AACJ,CAAC,CAAC;AAEF,4CAA4C;AAC5C,4CAA4C;AAC5C,4CAA4C;AAE5C,kBAAe,gBAAgB,CAAC"}
@@ -23,13 +23,14 @@ var handleHarvardKey_1 = __importDefault(require("./handleHarvardKey"));
23
23
  var launchAs_1 = __importDefault(require("./launchAs"));
24
24
  var listSelectLabels_1 = __importDefault(require("./listSelectLabels"));
25
25
  var listSelectValues_1 = __importDefault(require("./listSelectValues"));
26
+ var logIntoPorta_1 = __importDefault(require("./logIntoPorta"));
26
27
  var navigateToHref_1 = __importDefault(require("./navigateToHref"));
27
28
  var padWithZeros_1 = __importDefault(require("./padWithZeros"));
28
29
  var runScript_1 = __importDefault(require("./runScript"));
29
- var typeInto_1 = __importDefault(require("./typeInto"));
30
- var uniquify_1 = __importDefault(require("./uniquify"));
31
30
  var tap_1 = __importDefault(require("./tap"));
32
31
  var tapInIFrame_1 = __importDefault(require("./tapInIFrame"));
32
+ var typeInto_1 = __importDefault(require("./typeInto"));
33
+ var uniquify_1 = __importDefault(require("./uniquify"));
33
34
  var visitCanvasEndpoint_1 = __importDefault(require("./visitCanvasEndpoint"));
34
35
  var waitForAtLeastOneElementPresent_1 = __importDefault(require("./waitForAtLeastOneElementPresent"));
35
36
  var waitForElementVisible_1 = __importDefault(require("./waitForElementVisible"));
@@ -58,13 +59,14 @@ var commands = function () {
58
59
  (0, launchAs_1.default)();
59
60
  (0, listSelectLabels_1.default)();
60
61
  (0, listSelectValues_1.default)();
62
+ (0, logIntoPorta_1.default)();
61
63
  (0, navigateToHref_1.default)();
62
64
  (0, padWithZeros_1.default)();
63
65
  (0, runScript_1.default)();
64
- (0, typeInto_1.default)();
65
- (0, uniquify_1.default)();
66
66
  (0, tap_1.default)();
67
67
  (0, tapInIFrame_1.default)();
68
+ (0, typeInto_1.default)();
69
+ (0, uniquify_1.default)();
68
70
  (0, visitCanvasEndpoint_1.default)();
69
71
  (0, waitForAtLeastOneElementPresent_1.default)();
70
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,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,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,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"}
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,wEAAkD;AAClD,wEAAkD;AAClD,gEAA0C;AAC1C,oEAA8C;AAC9C,gEAA0C;AAC1C,0DAAoC;AACpC,8CAAwB;AACxB,8DAAwC;AACxC,wDAAkC;AAClC,wDAAkC;AAClC,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,0BAAgB,GAAE,CAAC;IACnB,IAAA,0BAAgB,GAAE,CAAC;IACnB,IAAA,sBAAY,GAAE,CAAC;IACf,IAAA,wBAAc,GAAE,CAAC;IACjB,IAAA,sBAAY,GAAE,CAAC;IACf,IAAA,mBAAS,GAAE,CAAC;IACZ,IAAA,aAAG,GAAE,CAAC;IACN,IAAA,qBAAW,GAAE,CAAC;IACd,IAAA,kBAAQ,GAAE,CAAC;IACX,IAAA,kBAAQ,GAAE,CAAC;IACX,IAAA,6BAAmB,GAAE,CAAC;IACtB,IAAA,yCAA+B,GAAE,CAAC;IAClC,IAAA,+BAAqB,GAAE,CAAC;AAC1B,CAAC,CAAC;AAEF,kBAAe,QAAQ,CAAC"}
@@ -0,0 +1,22 @@
1
+ declare global {
2
+ namespace Cypress {
3
+ interface Chainable {
4
+ /**
5
+ * Log into Porta via HarvardKey authentication using API requests (no UI interaction).
6
+ *
7
+ * Flow:
8
+ * 1. GET Cirrus Identity discovery page → extract HarvardKey IdP button href
9
+ * 2. GET IdP login page → extract form action and hidden fields
10
+ * 3. POST credentials to the login form
11
+ * 4. POST SAML form to ACS
12
+ *
13
+ * @author Yuen Ler Chow
14
+ * @param name the name of the user environment variable
15
+ * @return Cypress chainable (void) - performs authentication flow, no return value
16
+ */
17
+ logIntoPorta(name: string): Chainable<void>;
18
+ }
19
+ }
20
+ }
21
+ declare const logIntoPorta: () => void;
22
+ export default logIntoPorta;
@@ -0,0 +1,124 @@
1
+ "use strict";
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
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ /*----------------------------------------*/
16
+ /* ---------------- Constants ----------------- */
17
+ /*----------------------------------------*/
18
+ // Cirrus Identity discovery page (Request 1)
19
+ var LOGIN_PAGE = 'https://harvard.proxy.cirrusidentity.com/cas/login?service=https%3A%2F%2Fporta-auto.dcex.harvard.edu%2Fcas%2Flogin%2F';
20
+ // Base URL for HarvardKey IdP (Request 2)
21
+ var IDP_BASE_URL = 'https://apps.cirrusidentity.com';
22
+ // HarvardKey IdP button ID on Cirrus discovery page
23
+ var HARVARDKEY_IDP_BUTTON_ID = 'idp_1001962798_button';
24
+ /*----------------------------------------*/
25
+ /* -------------- Helpers --------------- */
26
+ /*----------------------------------------*/
27
+ /**
28
+ * Parse HTML and extract form action URL and hidden input fields.
29
+ * @author Yuen Ler Chow
30
+ * @param html - Raw HTML string to parse
31
+ * @param formSelector - CSS selector for the form (default: 'form')
32
+ * @returns Object with action URL and record of hidden field name/value pairs
33
+ */
34
+ var getFormData = function (html, formSelector) {
35
+ var _a;
36
+ if (formSelector === void 0) { formSelector = 'form'; }
37
+ var doc = new DOMParser().parseFromString(html, 'text/html');
38
+ var form = doc.querySelector(formSelector);
39
+ var action = (_a = form === null || form === void 0 ? void 0 : form.getAttribute('action')) !== null && _a !== void 0 ? _a : '';
40
+ var fields = {};
41
+ form === null || form === void 0 ? void 0 : form.querySelectorAll('input[type=hidden]').forEach(function (input) {
42
+ var _a;
43
+ var name = input.getAttribute('name');
44
+ if (name)
45
+ fields[name] = (_a = input.getAttribute('value')) !== null && _a !== void 0 ? _a : '';
46
+ });
47
+ return { action: action, fields: fields };
48
+ };
49
+ /*----------------------------------------*/
50
+ /* --------------- Command -------------- */
51
+ /*----------------------------------------*/
52
+ var logIntoPorta = function () {
53
+ Cypress.Commands.add('logIntoPorta', function (name) {
54
+ cy.log('🔓 Handling HarvardKey authentication via API');
55
+ var userInfo = Cypress.env(name);
56
+ if (!userInfo) {
57
+ throw new Error("Could not find ".concat(name, " in environment variables"));
58
+ }
59
+ var username = userInfo.username, password = userInfo.password;
60
+ // Check if username and password are set
61
+ if (!username || !password) {
62
+ throw new Error("Credential \"".concat(name, "\" is missing username and/or password"));
63
+ }
64
+ var htmlHeaders = { accept: 'text/html' };
65
+ // Request 1: GET Cirrus Identity discovery page
66
+ cy.request({
67
+ url: LOGIN_PAGE,
68
+ followRedirect: true,
69
+ failOnStatusCode: false,
70
+ headers: htmlHeaders,
71
+ }).then(function (discoveryRes) {
72
+ // Parse discovery page for HarvardKey IdP button href
73
+ var btnMatch = discoveryRes.body.match(new RegExp("href=[\"']([^\"']+)[\"'][^>]*id=[\"']".concat(HARVARDKEY_IDP_BUTTON_ID, "[\"']")));
74
+ if (!btnMatch) {
75
+ throw new Error('Could not find HarvardKey IdP button link on discovery page');
76
+ }
77
+ var idpUrl = "".concat(IDP_BASE_URL).concat(btnMatch[1]);
78
+ // Request 2: GET HarvardKey IdP login page
79
+ cy.request({
80
+ url: idpUrl,
81
+ followRedirect: true,
82
+ failOnStatusCode: false,
83
+ headers: htmlHeaders,
84
+ }).then(function (loginPageRes) {
85
+ // Parse login form action and hidden fields
86
+ var _a = getFormData(loginPageRes.body), loginFormUrl = _a.action, loginHiddenFields = _a.fields;
87
+ if (!loginFormUrl) {
88
+ throw new Error('Could not find login form action on HarvardKey page');
89
+ }
90
+ // Request 3: POST credentials to HarvardKey login form
91
+ cy.request({
92
+ method: 'POST',
93
+ url: loginFormUrl,
94
+ form: true,
95
+ followRedirect: true,
96
+ failOnStatusCode: false,
97
+ headers: htmlHeaders,
98
+ body: __assign(__assign({}, loginHiddenFields), { username: username, password: password }),
99
+ }).then(function (authRes) {
100
+ // Parse SAML form from login response
101
+ var _a = getFormData(authRes.body, 'form[action*="saml2-acs"]'), samlFormUrl = _a.action, samlHiddenFields = _a.fields;
102
+ if (!samlFormUrl) {
103
+ throw new Error('Could not find SAML form in login response');
104
+ }
105
+ // Request 4: POST SAML assertion to ACS
106
+ return cy.request({
107
+ method: 'POST',
108
+ url: samlFormUrl,
109
+ form: true,
110
+ followRedirect: true,
111
+ failOnStatusCode: false,
112
+ headers: htmlHeaders,
113
+ body: samlHiddenFields,
114
+ });
115
+ });
116
+ });
117
+ });
118
+ });
119
+ };
120
+ /*----------------------------------------*/
121
+ /* --------------- Export --------------- */
122
+ /*----------------------------------------*/
123
+ exports.default = logIntoPorta;
124
+ //# sourceMappingURL=logIntoPorta.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logIntoPorta.js","sourceRoot":"","sources":["../../../src/commands/logIntoPorta.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.22",
3
+ "version": "1.0.23",
4
4
  "description": "Cypress toolkit for Harvard DCE",
5
5
  "main": "./lib/src/index.js",
6
6
  "types": "./lib/src/index.d.ts",
@@ -20,7 +20,7 @@ declare global {
20
20
  * @param name the name of the user environment variable
21
21
  * @return Cypress chainable (void) - performs authentication flow, no return value
22
22
  */
23
- loginToPorta(
23
+ logIntoPorta(
24
24
  name: string,
25
25
  ): Chainable<void>;
26
26
  }
@@ -65,9 +65,9 @@ const getFormData = (html: string, formSelector = 'form') => {
65
65
  /* --------------- Command -------------- */
66
66
  /*----------------------------------------*/
67
67
 
68
- const loginToPorta = () => {
68
+ const logIntoPorta = () => {
69
69
  Cypress.Commands.add(
70
- 'loginToPorta',
70
+ 'logIntoPorta',
71
71
  (
72
72
  name: string,
73
73
  ) => {
@@ -163,4 +163,4 @@ const loginToPorta = () => {
163
163
  /* --------------- Export --------------- */
164
164
  /*----------------------------------------*/
165
165
 
166
- export default loginToPorta;
166
+ export default logIntoPorta;