sfdx-browserforce-plugin 4.8.0 → 4.8.1

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.
@@ -1,6 +1,6 @@
1
1
  import { throwPageErrors } from '../../browserforce.js';
2
- const ENABLE_TOGGLE = 'div[data-aura-class="setup_sales_linkedinLinkedInSetupRow"] input[type="checkbox"]';
3
- const CONFIRM_CHECKBOX = 'lightning-input lightning-primitive-input-checkbox input[name="LinkedIn Sales Navigator Integration Acceptance Checkbox"]';
2
+ const ENABLE_TOGGLE = 'div[data-aura-class="setup_sales_linkedinLinkedInSetupRow"] input[type="checkbox"]:not(:disabled)';
3
+ const CONFIRM_CHECKBOX = 'lightning-input lightning-primitive-input-checkbox input[name="LinkedIn Sales Navigator Integration Acceptance Checkbox"]:not(:disabled)';
4
4
  const ACCEPT_BUTTON = 'section[data-aura-class="setup_sales_linkedinLinkedInSetupAcceptTermsModal"] div div button:not(:disabled):nth-child(2)';
5
5
  export class LinkedInSalesNavigatorPage {
6
6
  page;
@@ -11,21 +11,19 @@ export class LinkedInSalesNavigatorPage {
11
11
  return 'lightning/setup/LinkedInSalesNavigatorPage/home';
12
12
  }
13
13
  async getStatus() {
14
- await this.page.waitForSelector(ENABLE_TOGGLE, { visible: true });
15
- const isEnabled = await this.page.$eval(ENABLE_TOGGLE, (el) => el.checked);
14
+ const isEnabled = await this.page
15
+ .locator(ENABLE_TOGGLE)
16
+ .map((checkbox) => checkbox.checked)
17
+ .wait();
16
18
  await this.page.close();
17
19
  return isEnabled;
18
20
  }
19
21
  async setStatus(enable) {
20
- await this.page.waitForSelector(ENABLE_TOGGLE, { visible: true });
21
- const toggle = await this.page.$(ENABLE_TOGGLE);
22
- await toggle?.evaluate((input) => input.click());
22
+ // NOTE: Unfortunately a simple click() on the locator does not work here
23
+ await (await this.page.locator(ENABLE_TOGGLE).waitHandle()).evaluate((checkbox) => checkbox.click());
23
24
  if (enable) {
24
- await this.page.waitForSelector(CONFIRM_CHECKBOX, { visible: true });
25
- const checkbox = await this.page.$(CONFIRM_CHECKBOX);
26
- await checkbox?.evaluate((input) => input.click());
27
- await this.page.waitForSelector(ACCEPT_BUTTON, { visible: true });
28
- await this.page.click(ACCEPT_BUTTON);
25
+ await (await this.page.locator(CONFIRM_CHECKBOX).waitHandle()).evaluate((checkbox) => checkbox.click());
26
+ await (await this.page.locator(ACCEPT_BUTTON).waitHandle()).evaluate((button) => button.click());
29
27
  }
30
28
  await throwPageErrors(this.page);
31
29
  await this.page.close();
@@ -1 +1 @@
1
- {"version":3,"file":"page.js","sourceRoot":"","sources":["../../../src/plugins/linkedin-sales-navigator-settings/page.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,MAAM,aAAa,GAAG,oFAAoF,CAAC;AAC3G,MAAM,gBAAgB,GACpB,2HAA2H,CAAC;AAC9H,MAAM,aAAa,GACjB,yHAAyH,CAAC;AAE5H,MAAM,OAAO,0BAA0B;IAC7B,IAAI,CAAO;IAEnB,YAAY,IAAU;QACpB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEM,MAAM,CAAC,MAAM;QAClB,OAAO,iDAAiD,CAAC;IAC3D,CAAC;IAEM,KAAK,CAAC,SAAS;QACpB,MAAM,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAClE,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC,EAAoB,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;QAC7F,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QACxB,OAAO,SAAS,CAAC;IACnB,CAAC;IAEM,KAAK,CAAC,SAAS,CAAC,MAAe;QACpC,MAAM,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAClE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;QAChD,MAAM,MAAM,EAAE,QAAQ,CAAC,CAAC,KAAuB,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;QAEnE,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,gBAAgB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YACrE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;YACrD,MAAM,QAAQ,EAAE,QAAQ,CAAC,CAAC,KAAuB,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;YACrE,MAAM,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YAClE,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QACvC,CAAC;QAED,MAAM,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjC,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;IAC1B,CAAC;CACF"}
1
+ {"version":3,"file":"page.js","sourceRoot":"","sources":["../../../src/plugins/linkedin-sales-navigator-settings/page.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,MAAM,aAAa,GACjB,mGAAmG,CAAC;AACtG,MAAM,gBAAgB,GACpB,0IAA0I,CAAC;AAC7I,MAAM,aAAa,GACjB,yHAAyH,CAAC;AAE5H,MAAM,OAAO,0BAA0B;IAC7B,IAAI,CAAO;IAEnB,YAAY,IAAU;QACpB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEM,MAAM,CAAC,MAAM;QAClB,OAAO,iDAAiD,CAAC;IAC3D,CAAC;IAEM,KAAK,CAAC,SAAS;QACpB,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,IAAI;aAC9B,OAAO,CAAC,aAAa,CAAC;aACtB,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC;aACnC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QACxB,OAAO,SAAS,CAAC;IACnB,CAAC;IAEM,KAAK,CAAC,SAAS,CAAC,MAAe;QACpC,yEAAyE;QACzE,MAAM,CACJ,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,UAAU,EAAE,CACpD,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;QAE3C,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,CACJ,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,UAAU,EAAE,CACvD,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC;YAC3C,MAAM,CACJ,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,UAAU,EAAE,CACpD,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;QACzC,CAAC;QAED,MAAM,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjC,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;IAC1B,CAAC;CACF"}
@@ -1,20 +1,22 @@
1
1
  import { BrowserforcePlugin } from '../../plugin.js';
2
2
  const PATHS = {
3
- BASE: 'lightning/setup/SlackSetupAssistant/home'
4
- };
5
- const SELECTORS = {
6
- TOS_LIGHTNING_INPUT: 'setup_service-slack-setup-assistant-container setup_service-slack-agree-to-terms lightning-input',
7
- SALES_CLOUD_FOR_SLACK_TOGGLE: 'setup_service-slack-setup-assistant-container setup_service-stage setup_service-steps setup_service-step lightning-input:has(lightning-primitive-input-toggle input[name="SlkSetupStepSalesCloudForSlack"])',
8
- TOAST_MESSAGE: 'div[id^="toastDescription"]'
3
+ BASE: 'lightning/setup/SlackSetupAssistant/home',
9
4
  };
5
+ const TOS_CHECKBOX = 'setup_service-slack-agree-to-terms input[type="checkbox"]';
6
+ const SALES_CLOUD_FOR_SLACK_CHECKBOX = 'input[type="checkbox"][name="SlkSetupStepSalesCloudForSlack"]';
7
+ const TOAST_MESSAGE = 'div[id^="toastDescription"]';
10
8
  export class Slack extends BrowserforcePlugin {
11
9
  async retrieve(definition) {
12
10
  const page = await this.browserforce.openPage(PATHS.BASE);
13
- await page.waitForSelector(SELECTORS.TOS_LIGHTNING_INPUT, { visible: true });
14
- await page.waitForSelector(SELECTORS.SALES_CLOUD_FOR_SLACK_TOGGLE, { visible: true });
15
11
  const response = {
16
- agreeToTermsAndConditions: await page.$eval(SELECTORS.TOS_LIGHTNING_INPUT, (el) => el.hasAttribute('checked')),
17
- enableSalesCloudForSlack: await page.$eval(SELECTORS.SALES_CLOUD_FOR_SLACK_TOGGLE, (el) => el.hasAttribute('checked'))
12
+ agreeToTermsAndConditions: await page
13
+ .locator(TOS_CHECKBOX)
14
+ .map((checkbox) => checkbox.checked)
15
+ .wait(),
16
+ enableSalesCloudForSlack: await page
17
+ .locator(SALES_CLOUD_FOR_SLACK_CHECKBOX)
18
+ .map((checkbox) => checkbox.checked)
19
+ .wait(),
18
20
  };
19
21
  await page.close();
20
22
  return response;
@@ -25,18 +27,21 @@ export class Slack extends BrowserforcePlugin {
25
27
  }
26
28
  const state = await this.retrieve();
27
29
  const page = await this.browserforce.openPage(PATHS.BASE);
28
- await page.waitForSelector(SELECTORS.TOS_LIGHTNING_INPUT, { visible: true });
29
30
  if (state.agreeToTermsAndConditions !== config.agreeToTermsAndConditions) {
30
- await Promise.all([page.waitForSelector(SELECTORS.TOAST_MESSAGE), page.click(SELECTORS.TOS_LIGHTNING_INPUT)]);
31
- await page.waitForSelector(SELECTORS.TOAST_MESSAGE, { hidden: true });
31
+ await Promise.all([
32
+ page.locator(TOAST_MESSAGE).wait(),
33
+ // NOTE: Unfortunately a simple click() on the locator does not work here
34
+ (await page.locator(TOS_CHECKBOX).waitHandle()).evaluate((checkbox) => checkbox.click()),
35
+ ]);
36
+ await page.waitForSelector(TOAST_MESSAGE, { hidden: true });
32
37
  }
33
- await page.waitForSelector(SELECTORS.SALES_CLOUD_FOR_SLACK_TOGGLE, { visible: true });
34
38
  if (state.enableSalesCloudForSlack !== config.enableSalesCloudForSlack) {
35
39
  await Promise.all([
36
- page.waitForSelector(SELECTORS.TOAST_MESSAGE),
37
- page.click(SELECTORS.SALES_CLOUD_FOR_SLACK_TOGGLE)
40
+ page.locator(TOAST_MESSAGE).wait(),
41
+ // NOTE: Unfortunately a simple click() on the locator does not work here
42
+ (await page.locator(SALES_CLOUD_FOR_SLACK_CHECKBOX).waitHandle()).evaluate((checkbox) => checkbox.click()),
38
43
  ]);
39
- await page.waitForSelector(SELECTORS.TOAST_MESSAGE, { hidden: true });
44
+ await page.waitForSelector(TOAST_MESSAGE, { hidden: true });
40
45
  }
41
46
  await page.close();
42
47
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/slack/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAErD,MAAM,KAAK,GAAG;IACZ,IAAI,EAAE,0CAA0C;CACjD,CAAC;AACF,MAAM,SAAS,GAAG;IAChB,mBAAmB,EACjB,kGAAkG;IACpG,4BAA4B,EAC1B,6MAA6M;IAC/M,aAAa,EAAE,6BAA6B;CAC7C,CAAC;AAOF,MAAM,OAAO,KAAM,SAAQ,kBAAkB;IACpC,KAAK,CAAC,QAAQ,CAAC,UAAmB;QACvC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC1D,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,mBAAmB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7E,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,4BAA4B,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QACtF,MAAM,QAAQ,GAAG;YACf,yBAAyB,EAAE,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,mBAAmB,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;YAC9G,wBAAwB,EAAE,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,4BAA4B,EAAE,CAAC,EAAE,EAAE,EAAE,CACxF,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC,CAC3B;SACF,CAAC;QACF,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QACnB,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEM,KAAK,CAAC,KAAK,CAAC,MAAc;QAC/B,IAAI,MAAM,CAAC,yBAAyB,KAAK,KAAK,EAAE,CAAC;YAC/C,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;QAC7E,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;QACpC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC1D,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,mBAAmB,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7E,IAAI,KAAK,CAAC,yBAAyB,KAAK,MAAM,CAAC,yBAAyB,EAAE,CAAC;YACzE,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC;YAC9G,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,aAAa,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QACxE,CAAC;QACD,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,4BAA4B,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;QACtF,IAAI,KAAK,CAAC,wBAAwB,KAAK,MAAM,CAAC,wBAAwB,EAAE,CAAC;YACvE,MAAM,OAAO,CAAC,GAAG,CAAC;gBAChB,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,aAAa,CAAC;gBAC7C,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,4BAA4B,CAAC;aACnD,CAAC,CAAC;YACH,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,aAAa,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QACxE,CAAC;QACD,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;CACF"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/slack/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAErD,MAAM,KAAK,GAAG;IACZ,IAAI,EAAE,0CAA0C;CACjD,CAAC;AACF,MAAM,YAAY,GAChB,2DAA2D,CAAC;AAC9D,MAAM,8BAA8B,GAClC,+DAA+D,CAAC;AAClE,MAAM,aAAa,GAAG,6BAA6B,CAAC;AAOpD,MAAM,OAAO,KAAM,SAAQ,kBAAkB;IACpC,KAAK,CAAC,QAAQ,CAAC,UAAmB;QACvC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC1D,MAAM,QAAQ,GAAG;YACf,yBAAyB,EAAE,MAAM,IAAI;iBAClC,OAAO,CAAC,YAAY,CAAC;iBACrB,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC;iBACnC,IAAI,EAAE;YACT,wBAAwB,EAAE,MAAM,IAAI;iBACjC,OAAO,CAAC,8BAA8B,CAAC;iBACvC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC;iBACnC,IAAI,EAAE;SACV,CAAC;QACF,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QACnB,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEM,KAAK,CAAC,KAAK,CAAC,MAAc;QAC/B,IAAI,MAAM,CAAC,yBAAyB,KAAK,KAAK,EAAE,CAAC;YAC/C,MAAM,IAAI,KAAK,CACb,yDAAyD,CAC1D,CAAC;QACJ,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;QACpC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC1D,IAAI,KAAK,CAAC,yBAAyB,KAAK,MAAM,CAAC,yBAAyB,EAAE,CAAC;YACzE,MAAM,OAAO,CAAC,GAAG,CAAC;gBAChB,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,IAAI,EAAE;gBAClC,yEAAyE;gBACzE,CACE,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,UAAU,EAAE,CAC9C,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;aAC3C,CAAC,CAAC;YACH,MAAM,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9D,CAAC;QACD,IAAI,KAAK,CAAC,wBAAwB,KAAK,MAAM,CAAC,wBAAwB,EAAE,CAAC;YACvE,MAAM,OAAO,CAAC,GAAG,CAAC;gBAChB,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,IAAI,EAAE;gBAClC,yEAAyE;gBACzE,CACE,MAAM,IAAI,CAAC,OAAO,CAAC,8BAA8B,CAAC,CAAC,UAAU,EAAE,CAChE,CAAC,QAAQ,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;aAC3C,CAAC,CAAC;YACH,MAAM,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9D,CAAC;QACD,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;CACF"}
@@ -159,5 +159,5 @@
159
159
  ]
160
160
  }
161
161
  },
162
- "version": "4.8.0"
162
+ "version": "4.8.1"
163
163
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sfdx-browserforce-plugin",
3
- "version": "4.8.0",
3
+ "version": "4.8.1",
4
4
  "description": "sfdx plugin for browser automation",
5
5
  "author": "Matthias Rolke <mr.amtrack@gmail.com>",
6
6
  "type": "module",