sfdx-browserforce-plugin 5.1.2 → 5.2.0-next.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.
Files changed (120) hide show
  1. package/README.md +54 -16
  2. package/lib/browserforce-command.js +2 -2
  3. package/lib/browserforce-command.js.map +1 -1
  4. package/lib/browserforce.d.ts +5 -5
  5. package/lib/browserforce.js +56 -54
  6. package/lib/browserforce.js.map +1 -1
  7. package/lib/pages/login.d.ts +1 -2
  8. package/lib/pages/login.js +6 -20
  9. package/lib/pages/login.js.map +1 -1
  10. package/lib/plugins/activity-settings/index.js +10 -10
  11. package/lib/plugins/activity-settings/index.js.map +1 -1
  12. package/lib/plugins/company-information/index.js +22 -20
  13. package/lib/plugins/company-information/index.js.map +1 -1
  14. package/lib/plugins/customer-portal/available-custom-objects/index.js +5 -5
  15. package/lib/plugins/customer-portal/available-custom-objects/index.js.map +1 -1
  16. package/lib/plugins/customer-portal/enabled/index.js +6 -7
  17. package/lib/plugins/customer-portal/enabled/index.js.map +1 -1
  18. package/lib/plugins/customer-portal/index.e2e-spec.js +6 -13
  19. package/lib/plugins/customer-portal/index.e2e-spec.js.map +1 -1
  20. package/lib/plugins/customer-portal/portals/index.js +66 -35
  21. package/lib/plugins/customer-portal/portals/index.js.map +1 -1
  22. package/lib/plugins/density-settings/index.d.ts +1 -8
  23. package/lib/plugins/density-settings/index.js +42 -29
  24. package/lib/plugins/density-settings/index.js.map +1 -1
  25. package/lib/plugins/email-deliverability/index.js +8 -10
  26. package/lib/plugins/email-deliverability/index.js.map +1 -1
  27. package/lib/plugins/high-velocity-sales-settings/page.d.ts +1 -1
  28. package/lib/plugins/high-velocity-sales-settings/page.js +9 -11
  29. package/lib/plugins/high-velocity-sales-settings/page.js.map +1 -1
  30. package/lib/plugins/history-tracking/index.e2e-spec.js +5 -0
  31. package/lib/plugins/history-tracking/index.e2e-spec.js.map +1 -1
  32. package/lib/plugins/history-tracking/index.js +32 -20
  33. package/lib/plugins/history-tracking/index.js.map +1 -1
  34. package/lib/plugins/home-page-layouts/index.js +18 -11
  35. package/lib/plugins/home-page-layouts/index.js.map +1 -1
  36. package/lib/plugins/lightning-experience-settings/index.d.ts +2 -3
  37. package/lib/plugins/lightning-experience-settings/index.e2e-spec.js +8 -0
  38. package/lib/plugins/lightning-experience-settings/index.e2e-spec.js.map +1 -1
  39. package/lib/plugins/lightning-experience-settings/index.js +48 -60
  40. package/lib/plugins/lightning-experience-settings/index.js.map +1 -1
  41. package/lib/plugins/linkedin-sales-navigator-settings/page.d.ts +1 -1
  42. package/lib/plugins/linkedin-sales-navigator-settings/page.js +17 -12
  43. package/lib/plugins/linkedin-sales-navigator-settings/page.js.map +1 -1
  44. package/lib/plugins/omni-channel-settings/index.e2e-spec.js +4 -0
  45. package/lib/plugins/omni-channel-settings/index.e2e-spec.js.map +1 -1
  46. package/lib/plugins/omni-channel-settings/index.js +9 -14
  47. package/lib/plugins/omni-channel-settings/index.js.map +1 -1
  48. package/lib/plugins/opportunity-splits/index.js +4 -4
  49. package/lib/plugins/opportunity-splits/index.js.map +1 -1
  50. package/lib/plugins/opportunity-splits/pages/layout-selection.d.ts +1 -1
  51. package/lib/plugins/opportunity-splits/pages/layout-selection.js +2 -4
  52. package/lib/plugins/opportunity-splits/pages/layout-selection.js.map +1 -1
  53. package/lib/plugins/opportunity-splits/pages/overview.d.ts +1 -1
  54. package/lib/plugins/opportunity-splits/pages/overview.js +6 -11
  55. package/lib/plugins/opportunity-splits/pages/overview.js.map +1 -1
  56. package/lib/plugins/opportunity-splits/pages/setup.d.ts +1 -1
  57. package/lib/plugins/opportunity-splits/pages/setup.js +2 -4
  58. package/lib/plugins/opportunity-splits/pages/setup.js.map +1 -1
  59. package/lib/plugins/permission-sets/index.e2e-spec.js +16 -5
  60. package/lib/plugins/permission-sets/index.e2e-spec.js.map +1 -1
  61. package/lib/plugins/permission-sets/index.js +2 -2
  62. package/lib/plugins/permission-sets/index.js.map +1 -1
  63. package/lib/plugins/permission-sets/service-presence-status/index.js +35 -24
  64. package/lib/plugins/permission-sets/service-presence-status/index.js.map +1 -1
  65. package/lib/plugins/picklists/field-dependencies/pages.d.ts +2 -2
  66. package/lib/plugins/picklists/field-dependencies/pages.js +19 -18
  67. package/lib/plugins/picklists/field-dependencies/pages.js.map +1 -1
  68. package/lib/plugins/picklists/index.e2e-spec.js +38 -32
  69. package/lib/plugins/picklists/index.e2e-spec.js.map +1 -1
  70. package/lib/plugins/picklists/pages.d.ts +5 -4
  71. package/lib/plugins/picklists/pages.js +59 -66
  72. package/lib/plugins/picklists/pages.js.map +1 -1
  73. package/lib/plugins/record-types/index.d.ts +1 -0
  74. package/lib/plugins/record-types/index.e2e-spec.js +4 -0
  75. package/lib/plugins/record-types/index.e2e-spec.js.map +1 -1
  76. package/lib/plugins/record-types/index.js +7 -5
  77. package/lib/plugins/record-types/index.js.map +1 -1
  78. package/lib/plugins/record-types/pages.d.ts +2 -3
  79. package/lib/plugins/record-types/pages.js +17 -28
  80. package/lib/plugins/record-types/pages.js.map +1 -1
  81. package/lib/plugins/relate-contact-to-multiple-accounts/index.d.ts +1 -1
  82. package/lib/plugins/relate-contact-to-multiple-accounts/index.e2e-spec.js +1 -0
  83. package/lib/plugins/relate-contact-to-multiple-accounts/index.e2e-spec.js.map +1 -1
  84. package/lib/plugins/relate-contact-to-multiple-accounts/index.js +33 -44
  85. package/lib/plugins/relate-contact-to-multiple-accounts/index.js.map +1 -1
  86. package/lib/plugins/reports-and-dashboards/folder-sharing/index.js +16 -13
  87. package/lib/plugins/reports-and-dashboards/folder-sharing/index.js.map +1 -1
  88. package/lib/plugins/salesforce-cpq-config/formConfig.js +12 -12
  89. package/lib/plugins/salesforce-cpq-config/formConfig.js.map +1 -1
  90. package/lib/plugins/salesforce-cpq-config/index.js +77 -68
  91. package/lib/plugins/salesforce-cpq-config/index.js.map +1 -1
  92. package/lib/plugins/salesforce-to-salesforce/index.e2e-spec.js +1 -0
  93. package/lib/plugins/salesforce-to-salesforce/index.e2e-spec.js.map +1 -1
  94. package/lib/plugins/salesforce-to-salesforce/index.js +8 -16
  95. package/lib/plugins/salesforce-to-salesforce/index.js.map +1 -1
  96. package/lib/plugins/security/authentication-configuration/index.e2e-spec.js +3 -11
  97. package/lib/plugins/security/authentication-configuration/index.e2e-spec.js.map +1 -1
  98. package/lib/plugins/security/authentication-configuration/index.js +14 -13
  99. package/lib/plugins/security/authentication-configuration/index.js.map +1 -1
  100. package/lib/plugins/security/certificate-and-key-management/index.e2e-spec.js +23 -6
  101. package/lib/plugins/security/certificate-and-key-management/index.e2e-spec.js.map +1 -1
  102. package/lib/plugins/security/certificate-and-key-management/index.js +26 -28
  103. package/lib/plugins/security/certificate-and-key-management/index.js.map +1 -1
  104. package/lib/plugins/service-channels/capacity/index.js +66 -38
  105. package/lib/plugins/service-channels/capacity/index.js.map +1 -1
  106. package/lib/plugins/service-channels/index.e2e-spec.js +11 -0
  107. package/lib/plugins/service-channels/index.e2e-spec.js.map +1 -1
  108. package/lib/plugins/service-channels/index.js +2 -2
  109. package/lib/plugins/service-channels/index.js.map +1 -1
  110. package/lib/plugins/slack/index.js +12 -18
  111. package/lib/plugins/slack/index.js.map +1 -1
  112. package/lib/plugins/user-access-policies/index.e2e-spec.js +4 -2
  113. package/lib/plugins/user-access-policies/index.e2e-spec.js.map +1 -1
  114. package/lib/plugins/user-access-policies/index.js +4 -2
  115. package/lib/plugins/user-access-policies/index.js.map +1 -1
  116. package/lib/plugins/user-access-policies/page.d.ts +2 -2
  117. package/lib/plugins/user-access-policies/page.js +34 -54
  118. package/lib/plugins/user-access-policies/page.js.map +1 -1
  119. package/oclif.manifest.json +1 -11
  120. package/package.json +2 -2
@@ -1,14 +1,17 @@
1
+ import { waitForPageErrors } from '../../browserforce.js';
1
2
  export class PicklistPage {
2
3
  page;
3
4
  constructor(page) {
4
5
  this.page = page;
5
6
  }
6
7
  async getPicklistValues() {
7
- // wait for New button in any related list
8
- await this.page.waitForSelector('body table input[name="new"]');
8
+ // wait for New button for picklist values specifically
9
+ await this.page
10
+ .locator('input[name="new"][onclick*="picklist_masteredit"]')
11
+ .waitFor();
9
12
  const resolvePicklistValueNames = async (xpath) => {
10
- const fullNameHandles = await this.page.$$(`xpath/.${xpath}`);
11
- const fullNames = await Promise.all(fullNameHandles.map((handle) => handle.evaluate((el) => el.innerText)));
13
+ const elements = await this.page.locator(`xpath=${xpath}`).all();
14
+ const fullNames = await Promise.all(elements.map((el) => el.innerText()));
12
15
  return fullNames;
13
16
  };
14
17
  const active = await resolvePicklistValueNames(`//tr[td[1]//a[contains(@href, "/setup/ui/picklist_masteredit")]]//td[2]`);
@@ -24,19 +27,18 @@ export class PicklistPage {
24
27
  }
25
28
  async clickNewActionButton() {
26
29
  const NEW_ACTION_BUTTON_XPATH = '//tr[td[2]]//input[contains(@onclick, "/setup/ui/picklist_masteredit")][@value=" New "]';
27
- await this.page.waitForSelector(`::-p-xpath(${NEW_ACTION_BUTTON_XPATH})`);
28
- const newActionButton = (await this.page.$$(`xpath/.${NEW_ACTION_BUTTON_XPATH}`))[0];
29
- await Promise.all([
30
- this.page.waitForNavigation(),
31
- this.page.evaluate((e) => e.click(), newActionButton),
30
+ await this.page.locator(`xpath=${NEW_ACTION_BUTTON_XPATH}`).first().click();
31
+ await Promise.race([
32
+ this.page.waitForURL((url) => url.pathname === '/setup/ui/picklist_masteredit.jsp'),
33
+ waitForPageErrors(this.page),
32
34
  ]);
33
35
  }
34
36
  async clickReplaceActionButton() {
35
- const REPLACE_ACTION_BUTTON = 'input[name="replace"]';
36
- await this.page.waitForSelector(REPLACE_ACTION_BUTTON);
37
- await Promise.all([
38
- this.page.waitForNavigation(),
39
- this.page.click(REPLACE_ACTION_BUTTON),
37
+ const REPLACE_ACTION_BUTTON = 'input[name="replace"][type="button"]';
38
+ await this.page.locator(REPLACE_ACTION_BUTTON).click();
39
+ await Promise.race([
40
+ this.page.waitForURL((url) => url.pathname === '/setup/ui/replacePickList.jsp'),
41
+ waitForPageErrors(this.page),
40
42
  ]);
41
43
  return new PicklistReplacePage(this.page);
42
44
  }
@@ -44,16 +46,14 @@ export class PicklistPage {
44
46
  // deactivate: deleteType=1
45
47
  // delete: deleteType=0 or no deleteType=1
46
48
  const xpath = `//tr[td[2][text() = "${picklistValueApiName}"]]//td[1]//a[contains(@href, "/setup/ui/picklist_masterdelete.jsp") and not(contains(@href, "deleteType=1"))]`;
47
- await this.page.waitForSelector(`::-p-xpath(${xpath})`);
48
- const deleteLink = (await this.page.$$(`xpath/.${xpath}`))[0];
49
49
  this.page.on('dialog', async (dialog) => {
50
50
  await dialog.accept();
51
51
  });
52
- await Promise.all([
53
- this.page.waitForNavigation(),
54
- this.page.evaluate((e) => e.click(), deleteLink),
52
+ await this.page.locator(`xpath=${xpath}`).first().click();
53
+ await Promise.race([
54
+ this.page.waitForURL((url) => url.pathname === '/setup/ui/picklist_masterdelete.jsp'),
55
+ waitForPageErrors(this.page),
55
56
  ]);
56
- await throwPageErrors(this.page);
57
57
  return new PicklistReplaceAndDeletePage(this.page);
58
58
  }
59
59
  async clickActivateDeactivateActionForValue(picklistValueApiName, active) {
@@ -66,16 +66,14 @@ export class PicklistPage {
66
66
  // delete: deleteType=0 or no deleteType=1
67
67
  xpath = `//tr[td[2][text() = "${picklistValueApiName}"]]//td[1]//a[contains(@href, "/setup/ui/picklist_masterdelete.jsp") and contains(@href, "deleteType=1")]`;
68
68
  }
69
- await this.page.waitForSelector(`::-p-xpath(${xpath})`);
70
- const actionLink = (await this.page.$$(`xpath/.${xpath}`))[0];
71
69
  this.page.on('dialog', async (dialog) => {
72
70
  await dialog.accept();
73
71
  });
74
- await Promise.all([
75
- this.page.waitForNavigation(),
76
- this.page.evaluate((e) => e.click(), actionLink),
72
+ await this.page.locator(`xpath=${xpath}`).first().click();
73
+ await Promise.race([
74
+ this.page.waitForURL((url) => /\/00N.*/.test(url.pathname)), // Salesforce record id
75
+ waitForPageErrors(this.page),
77
76
  ]);
78
- await throwPageErrors(this.page);
79
77
  return new PicklistPage(this.page);
80
78
  }
81
79
  }
@@ -88,18 +86,17 @@ export class DefaultPicklistAddPage {
88
86
  async add(newValue) {
89
87
  const TEXT_AREA = 'textarea';
90
88
  if (newValue !== undefined && newValue !== null) {
91
- await this.page.waitForSelector(TEXT_AREA);
92
- await this.page.type(TEXT_AREA, newValue);
89
+ await this.page.locator(TEXT_AREA).fill(newValue);
93
90
  }
94
91
  await this.save();
95
92
  }
96
93
  async save() {
97
- await this.page.waitForSelector(this.saveButton);
98
- await Promise.all([
99
- this.page.waitForNavigation(),
100
- this.page.click(this.saveButton),
94
+ const urlBefore = this.page.url();
95
+ await this.page.locator(this.saveButton).click();
96
+ await Promise.race([
97
+ this.page.waitForURL((url) => url.href !== urlBefore),
98
+ waitForPageErrors(this.page),
101
99
  ]);
102
- await throwPageErrors(this.page);
103
100
  }
104
101
  }
105
102
  export class StatusPicklistAddPage {
@@ -113,20 +110,20 @@ export class StatusPicklistAddPage {
113
110
  const API_NAME_INPUT = 'input#p3';
114
111
  const STATUS_CATEGORY_SELECTOR = 'select#p5';
115
112
  if (newValue !== undefined && newValue !== null) {
116
- await this.page.waitForSelector(STATUS_CATEGORY_SELECTOR);
117
- await this.page.type(LABEL_INPUT, newValue);
118
- await this.page.type(API_NAME_INPUT, newValue);
119
- await this.page.type(STATUS_CATEGORY_SELECTOR, statusCategory);
113
+ await this.page.locator(LABEL_INPUT).fill(newValue);
114
+ await this.page.locator(API_NAME_INPUT).fill(newValue);
115
+ await this.page
116
+ .locator(STATUS_CATEGORY_SELECTOR)
117
+ .pressSequentially(statusCategory);
120
118
  }
121
119
  await this.save();
122
120
  }
123
121
  async save() {
124
- await this.page.waitForSelector(this.saveButton);
125
- await Promise.all([
126
- this.page.waitForNavigation(),
127
- this.page.click(this.saveButton),
122
+ await this.page.locator(this.saveButton).click();
123
+ await Promise.race([
124
+ this.page.waitForURL((url) => url.pathname === '/_ui/common/config/field/StandardFieldAttributes/d'),
125
+ waitForPageErrors(this.page),
128
126
  ]);
129
- await throwPageErrors(this.page);
130
127
  }
131
128
  }
132
129
  export class PicklistReplacePage {
@@ -140,26 +137,22 @@ export class PicklistReplacePage {
140
137
  const NEW_VALUE_SELECTOR = 'select#nv';
141
138
  const REPLACE_ALL_BLANK_VALUES_CHECKBOX = 'input#fnv';
142
139
  if (value !== undefined && value !== null) {
143
- await this.page.waitForSelector(OLD_VALUE_SELECTOR);
144
- await this.page.type(OLD_VALUE_SELECTOR, value);
140
+ await this.page.locator(OLD_VALUE_SELECTOR).fill(value);
145
141
  }
146
142
  if (replaceAllBlankValues) {
147
- await this.page.waitForSelector(REPLACE_ALL_BLANK_VALUES_CHECKBOX);
148
- await this.page.click(REPLACE_ALL_BLANK_VALUES_CHECKBOX);
143
+ await this.page.locator(REPLACE_ALL_BLANK_VALUES_CHECKBOX).check();
149
144
  }
150
145
  if (newValue !== undefined && newValue !== null) {
151
- await this.page.waitForSelector(NEW_VALUE_SELECTOR);
152
- await this.page.type(NEW_VALUE_SELECTOR, newValue);
146
+ await this.page.locator(NEW_VALUE_SELECTOR).pressSequentially(newValue);
153
147
  }
154
148
  await this.save();
155
149
  }
156
150
  async save() {
157
- await this.page.waitForSelector(this.saveButton);
158
- await Promise.all([
159
- this.page.waitForNavigation(),
160
- this.page.click(this.saveButton),
151
+ await this.page.locator(this.saveButton).click();
152
+ await Promise.race([
153
+ this.page.waitForURL((url) => url.searchParams.has('msg')),
154
+ waitForPageErrors(this.page),
161
155
  ]);
162
- await throwPageErrors(this.page);
163
156
  }
164
157
  }
165
158
  export class PicklistReplaceAndDeletePage extends PicklistReplacePage {
@@ -172,23 +165,23 @@ export class PicklistReplaceAndDeletePage extends PicklistReplacePage {
172
165
  const REPLACE_WITH_BLANK_VALUE_RADIO_INPUT = 'input#ReplaceValueWithNullValue';
173
166
  // select option value
174
167
  if (newValue !== undefined && newValue !== null) {
175
- await this.page.waitForSelector(NEW_VALUE_SELECTOR);
176
- await this.page.type(NEW_VALUE_SELECTOR, newValue);
168
+ await this.page.locator(NEW_VALUE_SELECTOR).pressSequentially(newValue);
177
169
  }
178
170
  else {
179
- await this.page.waitForSelector(REPLACE_WITH_BLANK_VALUE_RADIO_INPUT);
180
- await this.page.click(REPLACE_WITH_BLANK_VALUE_RADIO_INPUT);
171
+ await this.page.locator(REPLACE_WITH_BLANK_VALUE_RADIO_INPUT).check();
181
172
  }
182
173
  }
183
- }
184
- async function throwPageErrors(page) {
185
- const errorHandle = await page.$('div#validationError div.messageText');
186
- if (errorHandle) {
187
- const errorMsg = await page.evaluate((div) => div.innerText, errorHandle);
188
- await errorHandle.dispose();
189
- if (errorMsg && errorMsg.trim()) {
190
- throw new Error(errorMsg.trim());
191
- }
174
+ async save() {
175
+ await this.page.locator(this.saveButton).click({ timeout: 180000 });
176
+ // TODO: this might take really long
177
+ // await this.page.locator(this.saveButton).click({ noWaitAfter: true });
178
+ // /setup/ui/picklist_masterdelete.jsp?id=01JPw00000S7y4B&tid=a02&...
179
+ // ->
180
+ // /setup/ui/picklist_masterdelete.jsp
181
+ await Promise.race([
182
+ this.page.waitForURL((url) => !url.searchParams.has('id')),
183
+ waitForPageErrors(this.page),
184
+ ]);
192
185
  }
193
186
  }
194
187
  //# sourceMappingURL=pages.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pages.js","sourceRoot":"","sources":["../../../src/plugins/picklists/pages.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pages.js","sourceRoot":"","sources":["../../../src/plugins/picklists/pages.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAa1D,MAAM,OAAO,YAAY;IACf,IAAI,CAAO;IAEnB,YAAY,IAAU;QACpB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEM,KAAK,CAAC,iBAAiB;QAC5B,uDAAuD;QACvD,MAAM,IAAI,CAAC,IAAI;aACZ,OAAO,CAAC,mDAAmD,CAAC;aAC5D,OAAO,EAAE,CAAC;QACb,MAAM,yBAAyB,GAAG,KAAK,EAAE,KAAa,EAAE,EAAE;YACxD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,KAAK,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC;YACjE,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;YAC1E,OAAO,SAAS,CAAC;QACnB,CAAC,CAAC;QACF,MAAM,MAAM,GAAG,MAAM,yBAAyB,CAC5C,yEAAyE,CAC1E,CAAC;QACF,MAAM,QAAQ,GAAG,MAAM,yBAAyB,CAC9C,6EAA6E,CAC9E,CAAC;QACF,OAAO;YACL,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gBAClB,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;YACpC,CAAC,CAAC;YACF,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gBACpB,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;YACrC,CAAC,CAAC;SACH,CAAC;IACJ,CAAC;IACM,KAAK,CAAC,oBAAoB;QAC/B,MAAM,uBAAuB,GAC3B,yFAAyF,CAAC;QAC5F,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,uBAAuB,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC;QAC5E,MAAM,OAAO,CAAC,IAAI,CAAC;YACjB,IAAI,CAAC,IAAI,CAAC,UAAU,CAClB,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,KAAK,mCAAmC,CAC9D;YACD,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC;SAC7B,CAAC,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,wBAAwB;QACnC,MAAM,qBAAqB,GAAG,sCAAsC,CAAC;QACrE,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,KAAK,EAAE,CAAC;QACvD,MAAM,OAAO,CAAC,IAAI,CAAC;YACjB,IAAI,CAAC,IAAI,CAAC,UAAU,CAClB,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,KAAK,+BAA+B,CAC1D;YACD,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC;SAC7B,CAAC,CAAC;QACH,OAAO,IAAI,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC;IAEM,KAAK,CAAC,yBAAyB,CACpC,oBAA4B;QAE5B,2BAA2B;QAC3B,0CAA0C;QAC1C,MAAM,KAAK,GAAG,wBAAwB,oBAAoB,gHAAgH,CAAC;QAC3K,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACtC,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC;QACxB,CAAC,CAAC,CAAC;QACH,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC;QAC1D,MAAM,OAAO,CAAC,IAAI,CAAC;YACjB,IAAI,CAAC,IAAI,CAAC,UAAU,CAClB,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,KAAK,qCAAqC,CAChE;YACD,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC;SAC7B,CAAC,CAAC;QACH,OAAO,IAAI,4BAA4B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrD,CAAC;IAEM,KAAK,CAAC,qCAAqC,CAChD,oBAA4B,EAC5B,MAAe;QAEf,IAAI,KAAK,CAAC;QACV,IAAI,MAAM,EAAE,CAAC;YACX,KAAK,GAAG,wBAAwB,oBAAoB,yEAAyE,CAAC;QAChI,CAAC;aAAM,CAAC;YACN,2BAA2B;YAC3B,0CAA0C;YAC1C,KAAK,GAAG,wBAAwB,oBAAoB,2GAA2G,CAAC;QAClK,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACtC,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC;QACxB,CAAC,CAAC,CAAC;QAEH,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC;QAC1D,MAAM,OAAO,CAAC,IAAI,CAAC;YACjB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,uBAAuB;YACpF,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC;SAC7B,CAAC,CAAC;QACH,OAAO,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC;CACF;AAED,MAAM,OAAO,sBAAsB;IACvB,IAAI,CAAO;IACX,UAAU,GAAG,wBAAwB,CAAC;IAEhD,YAAY,IAAU;QACpB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,QAAgB;QACxB,MAAM,SAAS,GAAG,UAAU,CAAC;QAC7B,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YAChD,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACpD,CAAC;QACD,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,IAAI;QACR,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;QAClC,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,KAAK,EAAE,CAAC;QACjD,MAAM,OAAO,CAAC,IAAI,CAAC;YACjB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC;YACrD,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC;SAC7B,CAAC,CAAC;IACL,CAAC;CACF;AAED,MAAM,OAAO,qBAAqB;IACtB,IAAI,CAAO;IACX,UAAU,GAAG,wBAAwB,CAAC;IAEhD,YAAY,IAAU;QACpB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,QAAgB,EAAE,cAAsB;QAChD,MAAM,WAAW,GAAG,UAAU,CAAC;QAC/B,MAAM,cAAc,GAAG,UAAU,CAAC;QAClC,MAAM,wBAAwB,GAAG,WAAW,CAAC;QAC7C,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YAChD,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACpD,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACvD,MAAM,IAAI,CAAC,IAAI;iBACZ,OAAO,CAAC,wBAAwB,CAAC;iBACjC,iBAAiB,CAAC,cAAc,CAAC,CAAC;QACvC,CAAC;QACD,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,IAAI;QACR,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,KAAK,EAAE,CAAC;QACjD,MAAM,OAAO,CAAC,IAAI,CAAC;YACjB,IAAI,CAAC,IAAI,CAAC,UAAU,CAClB,CAAC,GAAG,EAAE,EAAE,CACN,GAAG,CAAC,QAAQ,KAAK,oDAAoD,CACxE;YACD,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC;SAC7B,CAAC,CAAC;IACL,CAAC;CACF;AAED,MAAM,OAAO,mBAAmB;IACpB,IAAI,CAAO;IACX,UAAU,GAAG,oBAAoB,CAAC;IAE5C,YAAY,IAAU;QACpB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,OAAO,CACX,KAAa,EACb,QAAgB,EAChB,qBAA+B;QAE/B,MAAM,kBAAkB,GAAG,UAAU,CAAC;QACtC,MAAM,kBAAkB,GAAG,WAAW,CAAC;QACvC,MAAM,iCAAiC,GAAG,WAAW,CAAC;QACtD,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YAC1C,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1D,CAAC;QACD,IAAI,qBAAqB,EAAE,CAAC;YAC1B,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,iCAAiC,CAAC,CAAC,KAAK,EAAE,CAAC;QACrE,CAAC;QACD,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YAChD,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QAC1E,CAAC;QACD,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,IAAI;QACR,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,KAAK,EAAE,CAAC;QACjD,MAAM,OAAO,CAAC,IAAI,CAAC;YACjB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAC1D,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC;SAC7B,CAAC,CAAC;IACL,CAAC;CACF;AAED,MAAM,OAAO,4BAA6B,SAAQ,mBAAmB;IACnE,YAAY,IAAU;QACpB,KAAK,CAAC,IAAI,CAAC,CAAC;QACZ,IAAI,CAAC,UAAU,GAAG,oCAAoC,CAAC;IACzD,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,QAAiB;QACtC,MAAM,kBAAkB,GAAG,YAAY,CAAC;QACxC,MAAM,oCAAoC,GACxC,iCAAiC,CAAC;QACpC,sBAAsB;QACtB,IAAI,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YAChD,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QAC1E,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,oCAAoC,CAAC,CAAC,KAAK,EAAE,CAAC;QACxE,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI;QACR,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;QACpE,oCAAoC;QACpC,yEAAyE;QACzE,qEAAqE;QACrE,KAAK;QACL,sCAAsC;QACtC,MAAM,OAAO,CAAC,IAAI,CAAC;YACjB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC1D,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC;SAC7B,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -8,6 +8,7 @@ type RecordTypeConfig = {
8
8
  };
9
9
  export declare class RecordTypes extends BrowserforcePlugin {
10
10
  retrieve(definition: Config): Promise<Config>;
11
+ diff(source: Config, target: Config): Partial<Config> | undefined;
11
12
  apply(config: Config): Promise<void>;
12
13
  }
13
14
  export {};
@@ -69,5 +69,9 @@ describe(RecordTypes.name, function () {
69
69
  const res = await plugin.run(configDeleteAndReplace);
70
70
  assert.deepStrictEqual(res, { message: 'no action necessary' });
71
71
  });
72
+ it('should remove the CustomObject', async () => {
73
+ const conn = global.bf.org.getConnection();
74
+ await conn.metadata.delete('CustomObject', ['Vehicle__c']);
75
+ });
72
76
  });
73
77
  //# sourceMappingURL=index.e2e-spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.e2e-spec.js","sourceRoot":"","sources":["../../../src/plugins/record-types/index.e2e-spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.e2e-spec.js","sourceRoot":"","sources":["../../../src/plugins/record-types/index.e2e-spec.ts"],"names":[],"mappings":"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"}
@@ -20,16 +20,18 @@ export class RecordTypes extends BrowserforcePlugin {
20
20
  throw new Error(`Could not find replacement RecordType: ${deletion.replacement}`);
21
21
  }
22
22
  }
23
- response.deletions.push({
24
- ...deletion,
25
- });
26
- }
27
- else {
28
23
  response.deletions.push(deletion);
29
24
  }
30
25
  }
31
26
  return response;
32
27
  }
28
+ diff(source, target) {
29
+ const changes = {};
30
+ if (target.deletions?.length && source.deletions?.length) {
31
+ changes.deletions = source.deletions;
32
+ }
33
+ return Object.keys(changes).length ? changes : undefined;
34
+ }
33
35
  async apply(config) {
34
36
  const conn = this.org.getConnection();
35
37
  const recordTypeFileProperties = await listRecordTypes(conn);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/record-types/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/record-types/index.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,14 @@
1
- import { Page } from 'puppeteer';
1
+ import type { Page } from 'playwright';
2
2
  export declare class RecordTypePage {
3
3
  private page;
4
4
  constructor(page: Page);
5
5
  clickDeleteAction(recordTypeId: string): Promise<RecordTypeDeletePage>;
6
6
  }
7
7
  export declare class RecordTypeDeletePage {
8
- protected page: any;
8
+ protected page: Page;
9
9
  protected saveButton: string;
10
10
  constructor(page: Page);
11
11
  replace(newRecordTypeId?: string): Promise<void>;
12
12
  save(): Promise<void>;
13
13
  throwOnMissingSaveButton(): Promise<void>;
14
- throwPageErrors(): Promise<void>;
15
14
  }
@@ -1,3 +1,4 @@
1
+ import { waitForPageErrors } from '../../browserforce.js';
1
2
  export class RecordTypePage {
2
3
  page;
3
4
  constructor(page) {
@@ -5,11 +6,10 @@ export class RecordTypePage {
5
6
  }
6
7
  async clickDeleteAction(recordTypeId) {
7
8
  const xpath = `//a[contains(@href, "setup/ui/recordtypedelete.jsp?id=${recordTypeId.slice(0, 15)}")]`;
8
- await this.page.waitForSelector(`::-p-xpath(${xpath})`);
9
- const deleteLink = (await this.page.$$(`xpath/.${xpath}`))[0];
10
- await Promise.all([
11
- this.page.waitForNavigation(),
12
- this.page.evaluate((e) => e.click(), deleteLink),
9
+ await this.page.locator(`xpath=${xpath}`).first().click();
10
+ await Promise.race([
11
+ this.page.waitForURL((url) => url.pathname === '/setup/ui/recordtypedelete.jsp'),
12
+ waitForPageErrors(this.page),
13
13
  ]);
14
14
  return new RecordTypeDeletePage(this.page);
15
15
  }
@@ -24,41 +24,30 @@ export class RecordTypeDeletePage {
24
24
  await this.throwOnMissingSaveButton();
25
25
  const NEW_VALUE_SELECTOR = 'select#p2';
26
26
  if (newRecordTypeId) {
27
- await this.page.waitForSelector(NEW_VALUE_SELECTOR);
28
- await this.page.select(NEW_VALUE_SELECTOR, newRecordTypeId.slice(0, 15));
27
+ await this.page
28
+ .locator(NEW_VALUE_SELECTOR)
29
+ .selectOption(newRecordTypeId.slice(0, 15));
29
30
  }
30
31
  await this.save();
31
32
  }
32
33
  async save() {
33
- await this.page.waitForSelector(this.saveButton);
34
- await Promise.all([
35
- this.page.waitForNavigation(),
36
- this.page.click(this.saveButton),
34
+ await this.page.locator(this.saveButton).click();
35
+ await Promise.race([
36
+ this.page.waitForURL((url) => url.pathname === '/ui/setup/rectype/RecordTypes'),
37
+ waitForPageErrors(this.page),
37
38
  ]);
38
- await this.throwPageErrors();
39
39
  }
40
40
  async throwOnMissingSaveButton() {
41
- const saveButton = await this.page.$(this.saveButton);
42
- if (!saveButton) {
43
- const bodyHandle = await this.page.$('div.pbBody');
44
- if (bodyHandle) {
45
- const errorMsg = await this.page.evaluate((div) => div.textContent, bodyHandle);
46
- await bodyHandle.dispose();
41
+ const saveButtonCount = await this.page.locator(this.saveButton).count();
42
+ if (saveButtonCount === 0) {
43
+ const bodyElement = this.page.locator('div.pbBody');
44
+ if ((await bodyElement.count()) > 0) {
45
+ const errorMsg = await bodyElement.textContent();
47
46
  if (errorMsg?.trim()) {
48
47
  throw new Error(errorMsg.trim());
49
48
  }
50
49
  }
51
50
  }
52
51
  }
53
- async throwPageErrors() {
54
- const errorHandle = await this.page.$('div#validationError div.messageText');
55
- if (errorHandle) {
56
- const errorMsg = await this.page.evaluate((div) => div.innerText, errorHandle);
57
- await errorHandle.dispose();
58
- if (errorMsg?.trim()) {
59
- throw new Error(errorMsg.trim());
60
- }
61
- }
62
- }
63
52
  }
64
53
  //# sourceMappingURL=pages.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"pages.js","sourceRoot":"","sources":["../../../src/plugins/record-types/pages.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pages.js","sourceRoot":"","sources":["../../../src/plugins/record-types/pages.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAE1D,MAAM,OAAO,cAAc;IACjB,IAAI,CAAO;IAEnB,YAAY,IAAU;QACpB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEM,KAAK,CAAC,iBAAiB,CAC5B,YAAoB;QAEpB,MAAM,KAAK,GAAG,yDAAyD,YAAY,CAAC,KAAK,CACvF,CAAC,EACD,EAAE,CACH,KAAK,CAAC;QACP,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC;QAC1D,MAAM,OAAO,CAAC,IAAI,CAAC;YACjB,IAAI,CAAC,IAAI,CAAC,UAAU,CAClB,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,KAAK,gCAAgC,CAC3D;YACD,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC;SAC7B,CAAC,CAAC;QACH,OAAO,IAAI,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7C,CAAC;CACF;AAED,MAAM,OAAO,oBAAoB;IACrB,IAAI,CAAO;IACX,UAAU,GAAG,oBAAoB,CAAC;IAE5C,YAAY,IAAU;QACpB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,eAAwB;QACpC,MAAM,IAAI,CAAC,wBAAwB,EAAE,CAAC;QACtC,MAAM,kBAAkB,GAAG,WAAW,CAAC;QACvC,IAAI,eAAe,EAAE,CAAC;YACpB,MAAM,IAAI,CAAC,IAAI;iBACZ,OAAO,CAAC,kBAAkB,CAAC;iBAC3B,YAAY,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QAChD,CAAC;QACD,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,IAAI;QACR,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,KAAK,EAAE,CAAC;QACjD,MAAM,OAAO,CAAC,IAAI,CAAC;YACjB,IAAI,CAAC,IAAI,CAAC,UAAU,CAClB,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,KAAK,+BAA+B,CAC1D;YACD,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC;SAC7B,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,wBAAwB;QAC5B,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,KAAK,EAAE,CAAC;QACzE,IAAI,eAAe,KAAK,CAAC,EAAE,CAAC;YAC1B,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;YACpD,IAAI,CAAC,MAAM,WAAW,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC;gBACpC,MAAM,QAAQ,GAAG,MAAM,WAAW,CAAC,WAAW,EAAE,CAAC;gBACjD,IAAI,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC;oBACrB,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;gBACnC,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;CACF"}
@@ -1,4 +1,4 @@
1
- import { Page } from 'puppeteer';
1
+ import type { Page } from 'playwright';
2
2
  import { BrowserforcePlugin } from '../../plugin.js';
3
3
  type Config = {
4
4
  enabled: boolean;
@@ -1,6 +1,7 @@
1
1
  import assert from 'assert';
2
2
  import { RelateContactToMultipleAccounts } from './index.js';
3
3
  describe(RelateContactToMultipleAccounts.name, function () {
4
+ this.timeout('10m');
4
5
  let plugin;
5
6
  before(() => {
6
7
  plugin = new RelateContactToMultipleAccounts(global.bf);
@@ -1 +1 @@
1
- {"version":3,"file":"index.e2e-spec.js","sourceRoot":"","sources":["../../../src/plugins/relate-contact-to-multiple-accounts/index.e2e-spec.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,+BAA+B,EAAE,MAAM,YAAY,CAAC;AAE7D,QAAQ,CAAC,+BAA+B,CAAC,IAAI,EAAE;IAC7C,IAAI,MAAuC,CAAC;IAC5C,MAAM,CAAC,GAAG,EAAE;QACV,MAAM,GAAG,IAAI,+BAA+B,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;IAEH,MAAM,aAAa,GAAG;QACpB,OAAO,EAAE,IAAI;KACd,CAAC;IACF,MAAM,cAAc,GAAG;QACrB,OAAO,EAAE,KAAK;KACf,CAAC;IAEF,EAAE,CAAC,eAAe,EAAE,KAAK,IAAI,EAAE;QAC7B,MAAM,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,mBAAmB,EAAE,KAAK,IAAI,EAAE;QACjC,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAC5C,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,qBAAqB,EAAE,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,gBAAgB,EAAE,KAAK,IAAI,EAAE;QAC9B,MAAM,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,oBAAoB,EAAE,KAAK,IAAI,EAAE;QAClC,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAC7C,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,qBAAqB,EAAE,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"index.e2e-spec.js","sourceRoot":"","sources":["../../../src/plugins/relate-contact-to-multiple-accounts/index.e2e-spec.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,+BAA+B,EAAE,MAAM,YAAY,CAAC;AAE7D,QAAQ,CAAC,+BAA+B,CAAC,IAAI,EAAE;IAC7C,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACpB,IAAI,MAAuC,CAAC;IAC5C,MAAM,CAAC,GAAG,EAAE;QACV,MAAM,GAAG,IAAI,+BAA+B,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC1D,CAAC,CAAC,CAAC;IAEH,MAAM,aAAa,GAAG;QACpB,OAAO,EAAE,IAAI;KACd,CAAC;IACF,MAAM,cAAc,GAAG;QACrB,OAAO,EAAE,KAAK;KACf,CAAC;IAEF,EAAE,CAAC,eAAe,EAAE,KAAK,IAAI,EAAE;QAC7B,MAAM,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,mBAAmB,EAAE,KAAK,IAAI,EAAE;QACjC,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAC5C,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,qBAAqB,EAAE,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,gBAAgB,EAAE,KAAK,IAAI,EAAE;QAC9B,MAAM,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,oBAAoB,EAAE,KAAK,IAAI,EAAE;QAClC,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAC7C,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,qBAAqB,EAAE,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -1,19 +1,13 @@
1
- import { retry, throwPageErrors } from '../../browserforce.js';
1
+ import { retry } from '../../browserforce.js';
2
2
  import { BrowserforcePlugin } from '../../plugin.js';
3
3
  const BASE_PATH = 'accounts/accountSetup.apexp';
4
- const ENABLED_SELECTOR = 'input[id$=":sharedContactsCheckBox"]';
5
- const EDIT_BUTTON_SELECTOR = 'input[id$=":edit"]';
6
- const SAVE_BUTTON_SELECTOR = 'input[id$=":save"]';
7
- const DISABLE_CONFIRM_CHECKBOX_SELECTOR = 'input#disable_confirm';
8
- const DISABLE_CONFIRM_BUTTON_SELECTOR = 'input#sharedContactsDisableConfirmButton';
9
- const ENABLING_IN_PROGRESS_SELECTOR = '#enablingInProgress';
10
- const DISABLING_IN_PROGRESS_SELECTOR = '#disablingInProgress';
11
4
  export class RelateContactToMultipleAccounts extends BrowserforcePlugin {
12
5
  async retrieve(definition) {
13
6
  const page = await this.browserforce.openPage(BASE_PATH);
14
- await page.waitForSelector(ENABLED_SELECTOR, { visible: true });
15
7
  const response = {
16
- enabled: await page.$eval(ENABLED_SELECTOR, (el) => el.checked),
8
+ enabled: await page
9
+ .getByRole('checkbox', { name: 'Allow users to relate a' })
10
+ .isChecked(),
17
11
  };
18
12
  await page.close();
19
13
  return response;
@@ -22,48 +16,43 @@ export class RelateContactToMultipleAccounts extends BrowserforcePlugin {
22
16
  const page = await this.browserforce.openPage(BASE_PATH);
23
17
  await this.waitForProcessFinished(page);
24
18
  // First we have to click the 'Edit' button, to make the checkbox editable
25
- await page.waitForSelector(EDIT_BUTTON_SELECTOR);
26
- await Promise.all([
27
- page.waitForNavigation(),
28
- page.click(EDIT_BUTTON_SELECTOR),
29
- ]);
19
+ await page.getByRole('button', { name: 'edit' }).first().click();
30
20
  // Change the value of the checkbox
31
- await page.waitForSelector(ENABLED_SELECTOR, { visible: true });
32
- await page.click(ENABLED_SELECTOR);
33
- // Save
34
- if (config.enabled) {
35
- await page.waitForSelector(SAVE_BUTTON_SELECTOR);
36
- await Promise.all([
37
- page.waitForNavigation(),
38
- page.click(SAVE_BUTTON_SELECTOR),
39
- ]);
21
+ await page
22
+ .getByRole('checkbox', { name: 'Allow users to relate a' })
23
+ .click();
24
+ await page
25
+ .getByRole('button', { name: 'save' })
26
+ .first()
27
+ .click({ timeout: 90_000 });
28
+ if (await page
29
+ .getByRole('heading', { name: 'Disable Contacts to Multiple' })
30
+ .isVisible()) {
31
+ await page
32
+ .getByRole('checkbox', { name: 'Yes, I understand that this' })
33
+ .click();
34
+ await page.getByRole('button', { name: 'Disable' }).click();
40
35
  }
41
- else {
42
- await page.waitForSelector(SAVE_BUTTON_SELECTOR);
43
- await page.click(SAVE_BUTTON_SELECTOR);
44
- await page.waitForSelector(DISABLE_CONFIRM_CHECKBOX_SELECTOR, {
45
- visible: true,
46
- });
47
- await page.click(DISABLE_CONFIRM_CHECKBOX_SELECTOR);
48
- await page.waitForSelector(DISABLE_CONFIRM_BUTTON_SELECTOR);
49
- await Promise.all([
50
- page.waitForNavigation(),
51
- page.click(DISABLE_CONFIRM_BUTTON_SELECTOR),
52
- ]);
53
- }
54
- await throwPageErrors(page);
55
36
  await page.close();
56
37
  }
57
38
  async waitForProcessFinished(page) {
58
39
  await retry(async () => {
59
- const enabling = await page.$(ENABLING_IN_PROGRESS_SELECTOR);
60
- if (enabling) {
61
- const message = await enabling.evaluate((div) => div.innerText);
40
+ const enablingCount = await page
41
+ .getByText("In progress: We're enabling")
42
+ .count();
43
+ if (enablingCount > 0) {
44
+ const message = await page
45
+ .getByText("In progress: We're enabling")
46
+ .innerText();
62
47
  throw new Error(message);
63
48
  }
64
- const disabling = await page.$(DISABLING_IN_PROGRESS_SELECTOR);
65
- if (disabling) {
66
- const message = await disabling.evaluate((div) => div.innerText);
49
+ const disablingCount = await page
50
+ .getByText("In progress: We're disabling")
51
+ .count();
52
+ if (disablingCount > 0) {
53
+ const message = await page
54
+ .getByText("In progress: We're disabling")
55
+ .innerText();
67
56
  throw new Error(message);
68
57
  }
69
58
  });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/relate-contact-to-multiple-accounts/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/relate-contact-to-multiple-accounts/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAErD,MAAM,SAAS,GAAG,6BAA6B,CAAC;AAMhD,MAAM,OAAO,+BAAgC,SAAQ,kBAAkB;IAC9D,KAAK,CAAC,QAAQ,CAAC,UAAmB;QACvC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QACzD,MAAM,QAAQ,GAAG;YACf,OAAO,EAAE,MAAM,IAAI;iBAChB,SAAS,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,yBAAyB,EAAE,CAAC;iBAC1D,SAAS,EAAE;SACf,CAAC;QACF,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QACnB,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEM,KAAK,CAAC,KAAK,CAAC,MAAc;QAC/B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QACzD,MAAM,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;QACxC,0EAA0E;QAC1E,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,EAAE,CAAC;QACjE,mCAAmC;QACnC,MAAM,IAAI;aACP,SAAS,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,yBAAyB,EAAE,CAAC;aAC1D,KAAK,EAAE,CAAC;QACX,MAAM,IAAI;aACP,SAAS,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;aACrC,KAAK,EAAE;aACP,KAAK,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;QAE9B,IACE,MAAM,IAAI;aACP,SAAS,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,8BAA8B,EAAE,CAAC;aAC9D,SAAS,EAAE,EACd,CAAC;YACD,MAAM,IAAI;iBACP,SAAS,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,6BAA6B,EAAE,CAAC;iBAC9D,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;QAC9D,CAAC;QAED,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,sBAAsB,CAAC,IAAU;QACrC,MAAM,KAAK,CAAC,KAAK,IAAI,EAAE;YACrB,MAAM,aAAa,GAAG,MAAM,IAAI;iBAC7B,SAAS,CAAC,6BAA6B,CAAC;iBACxC,KAAK,EAAE,CAAC;YACX,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;gBACtB,MAAM,OAAO,GAAG,MAAM,IAAI;qBACvB,SAAS,CAAC,6BAA6B,CAAC;qBACxC,SAAS,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;YAC3B,CAAC;YACD,MAAM,cAAc,GAAG,MAAM,IAAI;iBAC9B,SAAS,CAAC,8BAA8B,CAAC;iBACzC,KAAK,EAAE,CAAC;YACX,IAAI,cAAc,GAAG,CAAC,EAAE,CAAC;gBACvB,MAAM,OAAO,GAAG,MAAM,IAAI;qBACvB,SAAS,CAAC,8BAA8B,CAAC;qBACzC,SAAS,EAAE,CAAC;gBACf,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}