sfdx-browserforce-plugin 4.8.2 → 5.0.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.
- package/README.md +69 -105
- package/lib/browserforce-command.js +8 -6
- package/lib/browserforce-command.js.map +1 -1
- package/lib/browserforce.js +15 -11
- package/lib/browserforce.js.map +1 -1
- package/lib/commands/browserforce/apply.js +6 -6
- package/lib/commands/browserforce/apply.js.map +1 -1
- package/lib/commands/browserforce/plan.js +7 -7
- package/lib/commands/browserforce/plan.js.map +1 -1
- package/lib/config-parser.js +1 -1
- package/lib/config-parser.js.map +1 -1
- package/lib/pages/login.js +4 -4
- package/lib/pages/login.js.map +1 -1
- package/lib/plugin.js +1 -1
- package/lib/plugins/activity-settings/index.e2e-spec.js +2 -2
- package/lib/plugins/activity-settings/index.js +13 -14
- package/lib/plugins/activity-settings/index.js.map +1 -1
- package/lib/plugins/company-information/index.e2e-spec.js +2 -2
- package/lib/plugins/company-information/index.js +18 -22
- package/lib/plugins/company-information/index.js.map +1 -1
- package/lib/plugins/customer-portal/available-custom-objects/index.js +16 -12
- package/lib/plugins/customer-portal/available-custom-objects/index.js.map +1 -1
- package/lib/plugins/customer-portal/available-custom-objects/index.test.js +8 -8
- package/lib/plugins/customer-portal/enabled/index.js +2 -2
- package/lib/plugins/customer-portal/enabled/index.js.map +1 -1
- package/lib/plugins/customer-portal/enabled/index.test.js +4 -4
- package/lib/plugins/customer-portal/index.e2e-spec.js +25 -19
- package/lib/plugins/customer-portal/index.e2e-spec.js.map +1 -1
- package/lib/plugins/customer-portal/index.js +10 -9
- package/lib/plugins/customer-portal/index.js.map +1 -1
- package/lib/plugins/customer-portal/index.test.js +22 -22
- package/lib/plugins/customer-portal/portals/index.js +54 -52
- package/lib/plugins/customer-portal/portals/index.js.map +1 -1
- package/lib/plugins/customer-portal/portals/index.test.js +37 -37
- package/lib/plugins/customer-portal/portals/index.test.js.map +1 -1
- package/lib/plugins/density-settings/index.e2e-spec.js +1 -1
- package/lib/plugins/density-settings/index.js +13 -16
- package/lib/plugins/density-settings/index.js.map +1 -1
- package/lib/plugins/deprecated.d.ts +4 -0
- package/lib/plugins/deprecated.js +28 -0
- package/lib/plugins/deprecated.js.map +1 -0
- package/lib/plugins/email-deliverability/index.e2e-spec.js +4 -4
- package/lib/plugins/email-deliverability/index.js +16 -17
- package/lib/plugins/email-deliverability/index.js.map +1 -1
- package/lib/plugins/high-velocity-sales-settings/index.e2e-spec.js +2 -2
- package/lib/plugins/high-velocity-sales-settings/index.js +1 -1
- package/lib/plugins/high-velocity-sales-settings/index.js.map +1 -1
- package/lib/plugins/high-velocity-sales-settings/page.js +1 -1
- package/lib/plugins/high-velocity-sales-settings/page.js.map +1 -1
- package/lib/plugins/history-tracking/index.e2e-spec.js +38 -38
- package/lib/plugins/history-tracking/index.e2e-spec.js.map +1 -1
- package/lib/plugins/history-tracking/index.js +20 -21
- package/lib/plugins/history-tracking/index.js.map +1 -1
- package/lib/plugins/home-page-layouts/index.e2e-spec.js +8 -8
- package/lib/plugins/home-page-layouts/index.js +13 -14
- package/lib/plugins/home-page-layouts/index.js.map +1 -1
- package/lib/plugins/home-page-layouts/index.test.js +29 -29
- package/lib/plugins/index.d.ts +1 -3
- package/lib/plugins/index.js +1 -3
- package/lib/plugins/index.js.map +1 -1
- package/lib/plugins/lightning-experience-settings/index.js +16 -17
- package/lib/plugins/lightning-experience-settings/index.js.map +1 -1
- package/lib/plugins/linkedin-sales-navigator-settings/index.e2e-spec.js +2 -2
- package/lib/plugins/linkedin-sales-navigator-settings/index.js.map +1 -1
- package/lib/plugins/omni-channel-settings/index.e2e-spec.js +2 -2
- package/lib/plugins/omni-channel-settings/index.js +9 -13
- package/lib/plugins/omni-channel-settings/index.js.map +1 -1
- package/lib/plugins/opportunity-splits/index.e2e-spec.js +3 -3
- package/lib/plugins/opportunity-splits/index.e2e-spec.js.map +1 -1
- package/lib/plugins/permission-sets/index.e2e-spec.js +4 -4
- package/lib/plugins/permission-sets/index.e2e-spec.js.map +1 -1
- package/lib/plugins/permission-sets/index.js +1 -1
- package/lib/plugins/permission-sets/index.js.map +1 -1
- package/lib/plugins/permission-sets/service-presence-status/index.js +25 -21
- package/lib/plugins/permission-sets/service-presence-status/index.js.map +1 -1
- package/lib/plugins/picklists/field-dependencies/index.js +6 -4
- package/lib/plugins/picklists/field-dependencies/index.js.map +1 -1
- package/lib/plugins/picklists/field-dependencies/index.test.js +13 -13
- package/lib/plugins/picklists/index.e2e-spec.js +10 -6
- package/lib/plugins/picklists/index.e2e-spec.js.map +1 -1
- package/lib/plugins/picklists/index.js +15 -8
- package/lib/plugins/picklists/index.js.map +1 -1
- package/lib/plugins/picklists/standard-value-set.js +1 -1
- package/lib/plugins/picklists/standard-value-set.js.map +1 -1
- package/lib/plugins/record-types/index.e2e-spec.js +10 -10
- package/lib/plugins/record-types/index.e2e-spec.js.map +1 -1
- package/lib/plugins/record-types/index.js +3 -3
- package/lib/plugins/record-types/index.js.map +1 -1
- package/lib/plugins/relate-contact-to-multiple-accounts/index.e2e-spec.js +2 -2
- package/lib/plugins/relate-contact-to-multiple-accounts/index.js +37 -32
- package/lib/plugins/relate-contact-to-multiple-accounts/index.js.map +1 -1
- package/lib/plugins/reports-and-dashboards/folder-sharing/index.js +17 -18
- package/lib/plugins/reports-and-dashboards/folder-sharing/index.js.map +1 -1
- package/lib/plugins/reports-and-dashboards/index.js +1 -1
- package/lib/plugins/reports-and-dashboards/index.js.map +1 -1
- package/lib/plugins/salesforce-cpq-config/formConfig.js +638 -638
- package/lib/plugins/salesforce-cpq-config/formConfig.js.map +1 -1
- package/lib/plugins/salesforce-cpq-config/index.e2e-spec.js +4 -4
- package/lib/plugins/salesforce-cpq-config/index.e2e-spec.js.map +1 -1
- package/lib/plugins/salesforce-cpq-config/index.js +43 -31
- package/lib/plugins/salesforce-cpq-config/index.js.map +1 -1
- package/lib/plugins/salesforce-to-salesforce/index.e2e-spec.js +2 -2
- package/lib/plugins/salesforce-to-salesforce/index.js +16 -17
- package/lib/plugins/salesforce-to-salesforce/index.js.map +1 -1
- package/lib/plugins/security/authentication-configuration/index.e2e-spec.js +9 -15
- package/lib/plugins/security/authentication-configuration/index.e2e-spec.js.map +1 -1
- package/lib/plugins/security/authentication-configuration/index.js +22 -24
- package/lib/plugins/security/authentication-configuration/index.js.map +1 -1
- package/lib/plugins/security/certificate-and-key-management/index.e2e-spec.js +63 -0
- package/lib/plugins/security/certificate-and-key-management/index.e2e-spec.js.map +1 -0
- package/lib/plugins/security/certificate-and-key-management/index.js +48 -30
- package/lib/plugins/security/certificate-and-key-management/index.js.map +1 -1
- package/lib/plugins/security/certificate-and-key-management/index.test.js +18 -18
- package/lib/plugins/security/index.d.ts +1 -7
- package/lib/plugins/security/index.js +2 -44
- package/lib/plugins/security/index.js.map +1 -1
- package/lib/plugins/service-channels/capacity/index.js +48 -41
- package/lib/plugins/service-channels/capacity/index.js.map +1 -1
- package/lib/plugins/service-channels/index.e2e-spec.js +14 -14
- package/lib/plugins/service-channels/index.e2e-spec.js.map +1 -1
- package/lib/plugins/service-channels/index.js +4 -3
- package/lib/plugins/service-channels/index.js.map +1 -1
- package/lib/plugins/slack/index.e2e-spec.js +3 -3
- package/lib/plugins/slack/index.js +3 -5
- package/lib/plugins/slack/index.js.map +1 -1
- package/lib/plugins/utils.js +7 -2
- package/lib/plugins/utils.js.map +1 -1
- package/oclif.manifest.json +3 -3
- package/package.json +11 -7
- package/lib/plugins/communities/index.d.ts +0 -10
- package/lib/plugins/communities/index.e2e-spec.js +0 -34
- package/lib/plugins/communities/index.e2e-spec.js.map +0 -1
- package/lib/plugins/communities/index.js +0 -45
- package/lib/plugins/communities/index.js.map +0 -1
- package/lib/plugins/defer-sharing-calculation/index.d.ts +0 -9
- package/lib/plugins/defer-sharing-calculation/index.e2e-spec.d.ts +0 -1
- package/lib/plugins/defer-sharing-calculation/index.e2e-spec.js +0 -70
- package/lib/plugins/defer-sharing-calculation/index.e2e-spec.js.map +0 -1
- package/lib/plugins/defer-sharing-calculation/index.js +0 -39
- package/lib/plugins/defer-sharing-calculation/index.js.map +0 -1
- package/lib/plugins/security/identity-provider/index.d.ts +0 -9
- package/lib/plugins/security/identity-provider/index.js +0 -81
- package/lib/plugins/security/identity-provider/index.js.map +0 -1
- package/lib/plugins/security/index.e2e-spec.d.ts +0 -1
- package/lib/plugins/security/index.e2e-spec.js +0 -82
- package/lib/plugins/security/index.e2e-spec.js.map +0 -1
- package/lib/plugins/security/login-access-policies/index.d.ts +0 -8
- package/lib/plugins/security/login-access-policies/index.e2e-spec.d.ts +0 -1
- package/lib/plugins/security/login-access-policies/index.e2e-spec.js +0 -27
- package/lib/plugins/security/login-access-policies/index.e2e-spec.js.map +0 -1
- package/lib/plugins/security/login-access-policies/index.js +0 -30
- package/lib/plugins/security/login-access-policies/index.js.map +0 -1
- package/lib/plugins/security/sharing/index.d.ts +0 -8
- package/lib/plugins/security/sharing/index.e2e-spec.d.ts +0 -1
- package/lib/plugins/security/sharing/index.e2e-spec.js +0 -29
- package/lib/plugins/security/sharing/index.e2e-spec.js.map +0 -1
- package/lib/plugins/security/sharing/index.js +0 -36
- package/lib/plugins/security/sharing/index.js.map +0 -1
- /package/lib/plugins/{communities → security/certificate-and-key-management}/index.e2e-spec.d.ts +0 -0
|
@@ -1,58 +1,54 @@
|
|
|
1
1
|
import * as queryString from 'querystring';
|
|
2
2
|
import { BrowserforcePlugin } from '../../../plugin.js';
|
|
3
3
|
import { semanticallyCleanObject } from '../../utils.js';
|
|
4
|
-
const
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
const
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
PORTAL_SELF_REG_USER_DEFAULT_PROFILE_ID: 'SelfRegUserDefaultProfile',
|
|
18
|
-
PORTAL_PROFILE_MEMBERSHIP_PROFILES: 'th.dataCell',
|
|
19
|
-
PORTAL_PROFILE_MEMBERSHIP_CHECKBOXES: 'td.dataCell input'
|
|
20
|
-
};
|
|
4
|
+
const LIST_VIEW_PATH = '_ui/core/portal/CustomerSuccessPortalSetup/d';
|
|
5
|
+
const PORTAL_PROFILE_MEMBERSHIP_PATH = '_ui/core/portal/PortalProfileMembershipPage/e';
|
|
6
|
+
const SAVE_BUTTON_SELECTOR = 'input[name="save"]';
|
|
7
|
+
const LIST_VIEW_PORTAL_LINKS_XPATH_SELECTOR = '//div[contains(@class,"pbBody")]//th[contains(@class,"dataCell")]//a[starts-with(@href, "/060")]';
|
|
8
|
+
const PORTAL_DESCRIPTION_SELECTOR = '#Description';
|
|
9
|
+
const PORTAL_ID_SELECTOR = '#portalId';
|
|
10
|
+
const PORTAL_ADMIN_ID_SELECTOR = 'Admin';
|
|
11
|
+
const PORTAL_IS_SELF_REGISTRATION_ACTIVATED_ID_SELECTOR = 'IsSelfRegistrationActivated';
|
|
12
|
+
const PORTAL_SELF_REG_USER_DEFAULT_LICENSE_ID_SELECTOR = 'SelfRegUserDefaultLicense';
|
|
13
|
+
const PORTAL_SELF_REG_USER_DEFAULT_ROLE_ID_SELECTOR = 'SelfRegUserDefaultRole';
|
|
14
|
+
const PORTAL_SELF_REG_USER_DEFAULT_PROFILE_ID_SELECTOR = 'SelfRegUserDefaultProfile';
|
|
15
|
+
const PORTAL_PROFILE_MEMBERSHIP_PROFILES_SELECTOR = 'th.dataCell';
|
|
16
|
+
const PORTAL_PROFILE_MEMBERSHIP_CHECKBOXES_SELECTOR = 'td.dataCell input';
|
|
21
17
|
export class CustomerPortalSetup extends BrowserforcePlugin {
|
|
22
18
|
async retrieve() {
|
|
23
|
-
const page = await this.browserforce.openPage(
|
|
24
|
-
await page.waitForSelector(`::-p-xpath(${
|
|
25
|
-
const customerPortalLinks = await page.$$(`xpath/.${
|
|
19
|
+
const page = await this.browserforce.openPage(LIST_VIEW_PATH);
|
|
20
|
+
await page.waitForSelector(`::-p-xpath(${LIST_VIEW_PORTAL_LINKS_XPATH_SELECTOR})`);
|
|
21
|
+
const customerPortalLinks = await page.$$(`xpath/.${LIST_VIEW_PORTAL_LINKS_XPATH_SELECTOR}`);
|
|
26
22
|
const response = await page.evaluate((...links) => {
|
|
27
23
|
return links.map((a) => {
|
|
28
24
|
return {
|
|
29
25
|
_id: a.pathname.split('/')[1],
|
|
30
26
|
name: a.text,
|
|
31
|
-
portalProfileMemberships: []
|
|
27
|
+
portalProfileMemberships: [],
|
|
32
28
|
};
|
|
33
29
|
});
|
|
34
30
|
}, ...customerPortalLinks);
|
|
35
31
|
for (const portal of response) {
|
|
36
32
|
const portalPage = await this.browserforce.openPage(`${portal._id}/e`);
|
|
37
|
-
await portalPage.waitForSelector(
|
|
38
|
-
portal.description = await portalPage.$eval(
|
|
39
|
-
portal.adminUser = await portalPage.$eval(`#${
|
|
40
|
-
portal.isSelfRegistrationActivated = await portalPage.$eval(`#${
|
|
41
|
-
portal.selfRegUserDefaultLicense = await portalPage.$eval(`#${
|
|
42
|
-
portal.selfRegUserDefaultRole = await portalPage.$eval(`#${
|
|
43
|
-
portal.selfRegUserDefaultProfile = await portalPage.$eval(`#${
|
|
33
|
+
await portalPage.waitForSelector(PORTAL_DESCRIPTION_SELECTOR);
|
|
34
|
+
portal.description = await portalPage.$eval(PORTAL_DESCRIPTION_SELECTOR, (el) => el.value);
|
|
35
|
+
portal.adminUser = await portalPage.$eval(`#${PORTAL_ADMIN_ID_SELECTOR}`, (el) => el.value);
|
|
36
|
+
portal.isSelfRegistrationActivated = await portalPage.$eval(`#${PORTAL_IS_SELF_REGISTRATION_ACTIVATED_ID_SELECTOR}`, (el) => el.checked);
|
|
37
|
+
portal.selfRegUserDefaultLicense = await portalPage.$eval(`#${PORTAL_SELF_REG_USER_DEFAULT_LICENSE_ID_SELECTOR}`, (el) => el.selectedOptions[0].text);
|
|
38
|
+
portal.selfRegUserDefaultRole = await portalPage.$eval(`#${PORTAL_SELF_REG_USER_DEFAULT_ROLE_ID_SELECTOR}`, (el) => el.selectedOptions[0].text);
|
|
39
|
+
portal.selfRegUserDefaultProfile = await portalPage.$eval(`#${PORTAL_SELF_REG_USER_DEFAULT_PROFILE_ID_SELECTOR}`, (el) => el.selectedOptions[0].text);
|
|
44
40
|
await portalPage.close();
|
|
45
41
|
// portalProfileMemberships
|
|
46
|
-
const portalProfilePage = await this.browserforce.openPage(`${
|
|
47
|
-
await portalProfilePage.waitForSelector(
|
|
48
|
-
const profiles = await portalProfilePage.$$eval(
|
|
42
|
+
const portalProfilePage = await this.browserforce.openPage(`${PORTAL_PROFILE_MEMBERSHIP_PATH}?portalId=${portal._id}&setupid=CustomerSuccessPortalSettings`);
|
|
43
|
+
await portalProfilePage.waitForSelector(PORTAL_ID_SELECTOR);
|
|
44
|
+
const profiles = await portalProfilePage.$$eval(PORTAL_PROFILE_MEMBERSHIP_PROFILES_SELECTOR, (ths) => {
|
|
49
45
|
return ths.map((th) => th.innerText.trim());
|
|
50
46
|
});
|
|
51
|
-
const checkboxes = await portalProfilePage.$$eval(
|
|
47
|
+
const checkboxes = await portalProfilePage.$$eval(PORTAL_PROFILE_MEMBERSHIP_CHECKBOXES_SELECTOR, (inputs) => {
|
|
52
48
|
return inputs.map((input) => {
|
|
53
49
|
return {
|
|
54
50
|
active: input.checked,
|
|
55
|
-
_id: input.id
|
|
51
|
+
_id: input.id,
|
|
56
52
|
};
|
|
57
53
|
});
|
|
58
54
|
});
|
|
@@ -61,7 +57,7 @@ export class CustomerPortalSetup extends BrowserforcePlugin {
|
|
|
61
57
|
portalProfileMemberships.push({
|
|
62
58
|
name: profiles[i],
|
|
63
59
|
active: checkboxes[i].active,
|
|
64
|
-
_id: checkboxes[i]._id
|
|
60
|
+
_id: checkboxes[i]._id,
|
|
65
61
|
});
|
|
66
62
|
}
|
|
67
63
|
portal.portalProfileMemberships = portalProfileMemberships;
|
|
@@ -88,7 +84,8 @@ export class CustomerPortalSetup extends BrowserforcePlugin {
|
|
|
88
84
|
// copy id of existing portal to new portal to be retained and used
|
|
89
85
|
portal._id = sourcePortal._id;
|
|
90
86
|
}
|
|
91
|
-
if (sourcePortal.portalProfileMemberships &&
|
|
87
|
+
if (sourcePortal.portalProfileMemberships &&
|
|
88
|
+
portal.portalProfileMemberships) {
|
|
92
89
|
const membershipResponse = [];
|
|
93
90
|
for (const member of portal.portalProfileMemberships) {
|
|
94
91
|
// copy id of existing member to new member to be retained and used
|
|
@@ -130,32 +127,34 @@ export class CustomerPortalSetup extends BrowserforcePlugin {
|
|
|
130
127
|
urlAttributes['Description'] = portal.description;
|
|
131
128
|
}
|
|
132
129
|
if (portal.adminUser) {
|
|
133
|
-
urlAttributes[
|
|
130
|
+
urlAttributes[PORTAL_ADMIN_ID_SELECTOR] = portal.adminUser;
|
|
134
131
|
}
|
|
135
132
|
if (portal.isSelfRegistrationActivated !== undefined) {
|
|
136
|
-
urlAttributes[
|
|
137
|
-
? 1
|
|
138
|
-
: 0;
|
|
133
|
+
urlAttributes[PORTAL_IS_SELF_REGISTRATION_ACTIVATED_ID_SELECTOR] =
|
|
134
|
+
portal.isSelfRegistrationActivated ? 1 : 0;
|
|
139
135
|
}
|
|
140
136
|
const page = await this.browserforce.openPage(`${portal._id}/e?${queryString.stringify(urlAttributes)}`);
|
|
141
|
-
await page.waitForSelector(
|
|
137
|
+
await page.waitForSelector(PORTAL_DESCRIPTION_SELECTOR);
|
|
142
138
|
if (portal.selfRegUserDefaultLicense) {
|
|
143
|
-
const licenseValue = await page.evaluate((option) => option.value, (await page.$$(`xpath/.//select[@id="${
|
|
144
|
-
await page.select(`#${
|
|
139
|
+
const licenseValue = await page.evaluate((option) => option.value, (await page.$$(`xpath/.//select[@id="${PORTAL_SELF_REG_USER_DEFAULT_LICENSE_ID_SELECTOR}"]//option[text()="${portal.selfRegUserDefaultLicense}"]`))[0]);
|
|
140
|
+
await page.select(`#${PORTAL_SELF_REG_USER_DEFAULT_LICENSE_ID_SELECTOR}`, licenseValue);
|
|
145
141
|
}
|
|
146
142
|
if (portal.selfRegUserDefaultRole) {
|
|
147
|
-
const roleValue = await page.evaluate((option) => option.value, (await page.$$(`xpath/.//select[@id="${
|
|
148
|
-
await page.select(`#${
|
|
143
|
+
const roleValue = await page.evaluate((option) => option.value, (await page.$$(`xpath/.//select[@id="${PORTAL_SELF_REG_USER_DEFAULT_ROLE_ID_SELECTOR}"]//option[text()="${portal.selfRegUserDefaultRole}"]`))[0]);
|
|
144
|
+
await page.select(`#${PORTAL_SELF_REG_USER_DEFAULT_ROLE_ID_SELECTOR}`, roleValue);
|
|
149
145
|
}
|
|
150
146
|
if (portal.selfRegUserDefaultProfile) {
|
|
151
|
-
const profileValue = await page.evaluate((option) => option.value, (await page.$$(`xpath/.//select[@id="${
|
|
152
|
-
await page.select(`#${
|
|
147
|
+
const profileValue = await page.evaluate((option) => option.value, (await page.$$(`xpath/.//select[@id="${PORTAL_SELF_REG_USER_DEFAULT_PROFILE_ID_SELECTOR}"]//option[text()="${portal.selfRegUserDefaultProfile}"]`))[0]);
|
|
148
|
+
await page.select(`#${PORTAL_SELF_REG_USER_DEFAULT_PROFILE_ID_SELECTOR}`, profileValue);
|
|
153
149
|
}
|
|
154
|
-
await page.waitForSelector(
|
|
155
|
-
await Promise.all([
|
|
150
|
+
await page.waitForSelector(SAVE_BUTTON_SELECTOR);
|
|
151
|
+
await Promise.all([
|
|
152
|
+
page.waitForNavigation(),
|
|
153
|
+
page.click(SAVE_BUTTON_SELECTOR),
|
|
154
|
+
]);
|
|
156
155
|
if ((await page.url()).includes(portal._id)) {
|
|
157
156
|
// error handling
|
|
158
|
-
await page.waitForSelector(
|
|
157
|
+
await page.waitForSelector(PORTAL_DESCRIPTION_SELECTOR);
|
|
159
158
|
await this.browserforce.throwPageErrors(page);
|
|
160
159
|
throw new Error(`saving customer portal '${portal._id}' failed`);
|
|
161
160
|
}
|
|
@@ -165,9 +164,12 @@ export class CustomerPortalSetup extends BrowserforcePlugin {
|
|
|
165
164
|
for (const member of portal.portalProfileMemberships) {
|
|
166
165
|
membershipUrlAttributes[member._id] = member.active ? 1 : 0;
|
|
167
166
|
}
|
|
168
|
-
const portalProfilePage = await this.browserforce.openPage(`${
|
|
169
|
-
await portalProfilePage.waitForSelector(
|
|
170
|
-
await Promise.all([
|
|
167
|
+
const portalProfilePage = await this.browserforce.openPage(`${PORTAL_PROFILE_MEMBERSHIP_PATH}?portalId=${portal._id}&setupid=CustomerSuccessPortalSettings&${queryString.stringify(membershipUrlAttributes)}`);
|
|
168
|
+
await portalProfilePage.waitForSelector(SAVE_BUTTON_SELECTOR);
|
|
169
|
+
await Promise.all([
|
|
170
|
+
portalProfilePage.waitForNavigation(),
|
|
171
|
+
portalProfilePage.click(SAVE_BUTTON_SELECTOR),
|
|
172
|
+
]);
|
|
171
173
|
await portalProfilePage.close();
|
|
172
174
|
}
|
|
173
175
|
await page.close();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/plugins/customer-portal/portals/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,WAAW,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AAEzD,MAAM,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/plugins/customer-portal/portals/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,22 +12,22 @@ const tests = [
|
|
|
12
12
|
isSelfRegistrationActivated: true,
|
|
13
13
|
selfRegUserDefaultLicense: 'Customer Portal Manager Custom',
|
|
14
14
|
selfRegUserDefaultRole: 'User',
|
|
15
|
-
selfRegUserDefaultProfile: 'Customer Portal Manager Custom'
|
|
16
|
-
}
|
|
15
|
+
selfRegUserDefaultProfile: 'Customer Portal Manager Custom',
|
|
16
|
+
},
|
|
17
17
|
],
|
|
18
18
|
target: [
|
|
19
19
|
{
|
|
20
20
|
name: 'Customer Portal',
|
|
21
|
-
description: 'new description'
|
|
22
|
-
}
|
|
21
|
+
description: 'new description',
|
|
22
|
+
},
|
|
23
23
|
],
|
|
24
24
|
expected: [
|
|
25
25
|
{
|
|
26
26
|
_id: 'p1',
|
|
27
27
|
name: 'Customer Portal',
|
|
28
|
-
description: 'new description'
|
|
29
|
-
}
|
|
30
|
-
]
|
|
28
|
+
description: 'new description',
|
|
29
|
+
},
|
|
30
|
+
],
|
|
31
31
|
},
|
|
32
32
|
{
|
|
33
33
|
description: 'should only return portal and portalProfileMemberships fields',
|
|
@@ -40,11 +40,11 @@ const tests = [
|
|
|
40
40
|
{
|
|
41
41
|
name: 'Customer Portal Manager Standard',
|
|
42
42
|
active: true,
|
|
43
|
-
_id: 'a1'
|
|
44
|
-
}
|
|
43
|
+
_id: 'a1',
|
|
44
|
+
},
|
|
45
45
|
],
|
|
46
|
-
_id: 'p1'
|
|
47
|
-
}
|
|
46
|
+
_id: 'p1',
|
|
47
|
+
},
|
|
48
48
|
],
|
|
49
49
|
target: [
|
|
50
50
|
{
|
|
@@ -52,10 +52,10 @@ const tests = [
|
|
|
52
52
|
portalProfileMemberships: [
|
|
53
53
|
{
|
|
54
54
|
name: 'Customer Portal Manager Standard',
|
|
55
|
-
active: false
|
|
56
|
-
}
|
|
57
|
-
]
|
|
58
|
-
}
|
|
55
|
+
active: false,
|
|
56
|
+
},
|
|
57
|
+
],
|
|
58
|
+
},
|
|
59
59
|
],
|
|
60
60
|
expected: [
|
|
61
61
|
{
|
|
@@ -65,11 +65,11 @@ const tests = [
|
|
|
65
65
|
{
|
|
66
66
|
_id: 'a1',
|
|
67
67
|
name: 'Customer Portal Manager Standard',
|
|
68
|
-
active: false
|
|
69
|
-
}
|
|
70
|
-
]
|
|
71
|
-
}
|
|
72
|
-
]
|
|
68
|
+
active: false,
|
|
69
|
+
},
|
|
70
|
+
],
|
|
71
|
+
},
|
|
72
|
+
],
|
|
73
73
|
},
|
|
74
74
|
{
|
|
75
75
|
description: 'should detect a renamed portal',
|
|
@@ -79,21 +79,21 @@ const tests = [
|
|
|
79
79
|
description: 'Customer Portal',
|
|
80
80
|
adminUser: 'User User',
|
|
81
81
|
portalProfileMemberships: [],
|
|
82
|
-
_id: 'p1'
|
|
83
|
-
}
|
|
82
|
+
_id: 'p1',
|
|
83
|
+
},
|
|
84
84
|
],
|
|
85
85
|
target: [
|
|
86
86
|
{
|
|
87
87
|
name: 'Foo Portal',
|
|
88
|
-
oldName: 'Customer Portal'
|
|
89
|
-
}
|
|
88
|
+
oldName: 'Customer Portal',
|
|
89
|
+
},
|
|
90
90
|
],
|
|
91
91
|
expected: [
|
|
92
92
|
{
|
|
93
93
|
_id: 'p1',
|
|
94
|
-
name: 'Foo Portal'
|
|
95
|
-
}
|
|
96
|
-
]
|
|
94
|
+
name: 'Foo Portal',
|
|
95
|
+
},
|
|
96
|
+
],
|
|
97
97
|
},
|
|
98
98
|
{
|
|
99
99
|
description: 'should return no change',
|
|
@@ -106,11 +106,11 @@ const tests = [
|
|
|
106
106
|
{
|
|
107
107
|
name: 'Customer Portal Manager Standard',
|
|
108
108
|
active: true,
|
|
109
|
-
_id: 'a1'
|
|
110
|
-
}
|
|
109
|
+
_id: 'a1',
|
|
110
|
+
},
|
|
111
111
|
],
|
|
112
|
-
_id: 'p1'
|
|
113
|
-
}
|
|
112
|
+
_id: 'p1',
|
|
113
|
+
},
|
|
114
114
|
],
|
|
115
115
|
target: [
|
|
116
116
|
{
|
|
@@ -118,13 +118,13 @@ const tests = [
|
|
|
118
118
|
portalProfileMemberships: [
|
|
119
119
|
{
|
|
120
120
|
name: 'Customer Portal Manager Standard',
|
|
121
|
-
active: true
|
|
122
|
-
}
|
|
123
|
-
]
|
|
124
|
-
}
|
|
121
|
+
active: true,
|
|
122
|
+
},
|
|
123
|
+
],
|
|
124
|
+
},
|
|
125
125
|
],
|
|
126
|
-
expected: undefined
|
|
127
|
-
}
|
|
126
|
+
expected: undefined,
|
|
127
|
+
},
|
|
128
128
|
];
|
|
129
129
|
describe('CustomerPortalSetup', () => {
|
|
130
130
|
describe('diff()', () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../../../src/plugins/customer-portal/portals/index.test.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEjD,MAAM,KAAK,GAAG;IACZ;QACE,WAAW,EAAE,4CAA4C;QACzD,MAAM,EAAE;YACN;gBACE,GAAG,EAAE,IAAI;gBACT,IAAI,EAAE,iBAAiB;gBACvB,WAAW,EAAE,iBAAiB;gBAC9B,SAAS,EAAE,WAAW;gBACtB,2BAA2B,EAAE,IAAI;gBACjC,yBAAyB,EAAE,gCAAgC;gBAC3D,sBAAsB,EAAE,MAAM;gBAC9B,yBAAyB,EAAE,gCAAgC;aAC5D;SACF;QACD,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,iBAAiB;gBACvB,WAAW,EAAE,iBAAiB;aAC/B;SACF;QACD,QAAQ,EAAE;YACR;gBACE,GAAG,EAAE,IAAI;gBACT,IAAI,EAAE,iBAAiB;gBACvB,WAAW,EAAE,iBAAiB;aAC/B;SACF;KACF;IACD;QACE,WAAW,
|
|
1
|
+
{"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../../../src/plugins/customer-portal/portals/index.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,32 +1,28 @@
|
|
|
1
1
|
import { BrowserforcePlugin } from '../../plugin.js';
|
|
2
|
-
const
|
|
3
|
-
|
|
4
|
-
};
|
|
5
|
-
const SELECTORS = {
|
|
6
|
-
PICKER_ITEMS: 'one-density-visual-picker one-density-visual-picker-item input'
|
|
7
|
-
};
|
|
2
|
+
const BASE_PATH = 'lightning/setup/DensitySetup/home';
|
|
3
|
+
const PICKER_ITEMS_SELECTOR = 'one-density-visual-picker one-density-visual-picker-item input';
|
|
8
4
|
export class DensitySettings extends BrowserforcePlugin {
|
|
9
5
|
async retrieve() {
|
|
10
|
-
const page = await this.browserforce.openPage(
|
|
6
|
+
const page = await this.browserforce.openPage(BASE_PATH);
|
|
11
7
|
const densities = await this.getDensities(page);
|
|
12
8
|
const selected = densities.find((input) => input.checked);
|
|
13
9
|
await page.close();
|
|
14
10
|
return {
|
|
15
|
-
density: selected.value
|
|
11
|
+
density: selected.value,
|
|
16
12
|
};
|
|
17
13
|
}
|
|
18
14
|
async apply(config) {
|
|
19
|
-
const page = await this.browserforce.openPage(
|
|
15
|
+
const page = await this.browserforce.openPage(BASE_PATH);
|
|
20
16
|
await this.setDensity(page, config.density);
|
|
21
17
|
await page.close();
|
|
22
18
|
}
|
|
23
19
|
async getDensities(page) {
|
|
24
|
-
await page.waitForSelector(
|
|
25
|
-
const elementHandles = await page.$$(
|
|
26
|
-
const result = await page.$$eval(
|
|
20
|
+
await page.waitForSelector(PICKER_ITEMS_SELECTOR);
|
|
21
|
+
const elementHandles = await page.$$(PICKER_ITEMS_SELECTOR);
|
|
22
|
+
const result = await page.$$eval(PICKER_ITEMS_SELECTOR, (radioInputs) => radioInputs.map((input) => {
|
|
27
23
|
return {
|
|
28
24
|
value: input.value,
|
|
29
|
-
checked: input.checked
|
|
25
|
+
checked: input.checked,
|
|
30
26
|
};
|
|
31
27
|
}));
|
|
32
28
|
return result.map((input, i) => {
|
|
@@ -40,9 +36,10 @@ export class DensitySettings extends BrowserforcePlugin {
|
|
|
40
36
|
throw new Error(`Could not find density "${name}" in list of densities: ${densities.map((d) => d.value)}`);
|
|
41
37
|
}
|
|
42
38
|
await Promise.all([
|
|
43
|
-
page.waitForResponse((response) => response
|
|
44
|
-
|
|
45
|
-
|
|
39
|
+
page.waitForResponse((response) => response
|
|
40
|
+
.url()
|
|
41
|
+
.includes('UserSettings.DensityUserSettings.setDefaultDensitySetting=1') && response.status() === 200),
|
|
42
|
+
densityToSelect.elementHandle.evaluate((input) => input.click()),
|
|
46
43
|
]);
|
|
47
44
|
}
|
|
48
45
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/density-settings/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAErD,MAAM,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/density-settings/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAErD,MAAM,SAAS,GAAG,mCAAmC,CAAC;AAEtD,MAAM,qBAAqB,GACzB,gEAAgE,CAAC;AAYnE,MAAM,OAAO,eAAgB,SAAQ,kBAAkB;IAC9C,KAAK,CAAC,QAAQ;QACnB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QACzD,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAChD,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC1D,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QACnB,OAAO;YACL,OAAO,EAAE,QAAS,CAAC,KAAK;SACzB,CAAC;IACJ,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,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;QAC5C,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,IAAU;QAC3B,MAAM,IAAI,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAC;QAClD,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,qBAAqB,CAAC,CAAC;QAC5D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAC9B,qBAAqB,EACrB,CAAC,WAA+B,EAAE,EAAE,CAClC,WAAW,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACxB,OAAO;gBACL,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,OAAO,EAAE,KAAK,CAAC,OAAO;aACvB,CAAC;QACJ,CAAC,CAAC,CACL,CAAC;QACF,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;YAC7B,OAAO,EAAE,GAAG,KAAK,EAAE,aAAa,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;QACxD,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,IAAU,EAAE,IAAY;QACvC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAChD,MAAM,eAAe,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC;QACxE,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CACb,2BAA2B,IAAI,2BAA2B,SAAS,CAAC,GAAG,CACrE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CACf,EAAE,CACJ,CAAC;QACJ,CAAC;QACD,MAAM,OAAO,CAAC,GAAG,CAAC;YAChB,IAAI,CAAC,eAAe,CAClB,CAAC,QAAQ,EAAE,EAAE,CACX,QAAQ;iBACL,GAAG,EAAE;iBACL,QAAQ,CACP,6DAA6D,CAC9D,IAAI,QAAQ,CAAC,MAAM,EAAE,KAAK,GAAG,CACnC;YACD,eAAe,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,KAAuB,EAAE,EAAE,CACjE,KAAK,CAAC,KAAK,EAAE,CACd;SACF,CAAC,CAAC;IACL,CAAC;CACF"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
export const DEPRECATED_DRIVERS = ['communities', 'defer-sharing-calculation'];
|
|
2
|
+
export const handleDeprecations = (definition) => {
|
|
3
|
+
for (const driverName of Object.keys(definition.settings)) {
|
|
4
|
+
if (DEPRECATED_DRIVERS.includes(driverName)) {
|
|
5
|
+
throw new Error(`The sfdx-browserforce-plugin setting '${driverName}' is deprecated and has been removed.
|
|
6
|
+
✅ Salesforce now supports this setting in the Metadata API.
|
|
7
|
+
👉 Please see the instructions at https://github.com/amtrack/sfdx-browserforce-plugin/wiki/Hall-of-Fame#${driverName}.`);
|
|
8
|
+
}
|
|
9
|
+
if (driverName === 'security') {
|
|
10
|
+
if (definition.settings[driverName]?.loginAccessPolicies !== undefined) {
|
|
11
|
+
throw new Error(`The sfdx-browserforce-plugin setting 'security.loginAccessPolicies' is deprecated and has been removed.
|
|
12
|
+
✅ Salesforce now supports this setting in the Metadata API.
|
|
13
|
+
👉 Please see the instructions at https://github.com/amtrack/sfdx-browserforce-plugin/wiki/Hall-of-Fame#security-loginaccesspolicies-administratorscanloginasanyuser.`);
|
|
14
|
+
}
|
|
15
|
+
if (definition.settings[driverName]?.identityProvider !== undefined) {
|
|
16
|
+
throw new Error(`The sfdx-browserforce-plugin setting 'security.identityProvider' is deprecated and has been removed.
|
|
17
|
+
✅ Salesforce now supports this setting in the Metadata API.
|
|
18
|
+
👉 Please see the instructions at https://github.com/amtrack/sfdx-browserforce-plugin/wiki/Hall-of-Fame#security-identityprovider.`);
|
|
19
|
+
}
|
|
20
|
+
if (definition.settings[driverName]?.sharing !== undefined) {
|
|
21
|
+
throw new Error(`The sfdx-browserforce-plugin setting 'security.sharing' is deprecated and has been removed.
|
|
22
|
+
✅ Salesforce now supports this setting in the Metadata API.
|
|
23
|
+
👉 Please see the instructions at https://github.com/amtrack/sfdx-browserforce-plugin/wiki/Hall-of-Fame#security-sharing.`);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
//# sourceMappingURL=deprecated.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deprecated.js","sourceRoot":"","sources":["../../src/plugins/deprecated.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,aAAa,EAAE,2BAA2B,CAAC,CAAC;AAE/E,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,UAAiC,EAAE,EAAE;IACtE,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC1D,IAAI,kBAAkB,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YAC5C,MAAM,IAAI,KAAK,CACb,yCAAyC,UAAU;;0GAE+C,UAAU,GAAG,CAChH,CAAC;QACJ,CAAC;QACD,IAAI,UAAU,KAAK,UAAU,EAAE,CAAC;YAC9B,IAAI,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,mBAAmB,KAAK,SAAS,EAAE,CAAC;gBACvE,MAAM,IAAI,KAAK,CACb;;sKAE4J,CAC7J,CAAC;YACJ,CAAC;YACD,IAAI,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,gBAAgB,KAAK,SAAS,EAAE,CAAC;gBACpE,MAAM,IAAI,KAAK,CACb;;mIAEyH,CAC1H,CAAC;YACJ,CAAC;YACD,IAAI,UAAU,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC3D,MAAM,IAAI,KAAK,CACb;;0HAEgH,CACjH,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;AACH,CAAC,CAAC"}
|
|
@@ -6,16 +6,16 @@ describe(EmailDeliverability.name, function () {
|
|
|
6
6
|
plugin = new EmailDeliverability(global.bf);
|
|
7
7
|
});
|
|
8
8
|
const configNone = {
|
|
9
|
-
accessLevel: 'No access'
|
|
9
|
+
accessLevel: 'No access',
|
|
10
10
|
};
|
|
11
11
|
const configAll = {
|
|
12
|
-
accessLevel: 'All email'
|
|
12
|
+
accessLevel: 'All email',
|
|
13
13
|
};
|
|
14
14
|
const configSystem = {
|
|
15
|
-
accessLevel: 'System email only'
|
|
15
|
+
accessLevel: 'System email only',
|
|
16
16
|
};
|
|
17
17
|
const configInvalid = {
|
|
18
|
-
accessLevel: 'Invalid'
|
|
18
|
+
accessLevel: 'Invalid',
|
|
19
19
|
};
|
|
20
20
|
// Note order is important here, the scratch org will be created with all access set, I have placed last so if a scratch is reused at least it is in the same state
|
|
21
21
|
it('should set "no access"', async () => {
|
|
@@ -1,28 +1,24 @@
|
|
|
1
1
|
import { BrowserforcePlugin } from '../../plugin.js';
|
|
2
|
-
const
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
const
|
|
6
|
-
ACCESS_LEVEL: 'select[id$=":sendEmailAccessControlSelect"]',
|
|
7
|
-
CONFIRM_MESSAGE: 'span[id$=":successText"]',
|
|
8
|
-
SAVE_BUTTON: 'input[id$=":saveBtn"]'
|
|
9
|
-
};
|
|
2
|
+
const BASE_PATH = 'email-admin/editOrgEmailSettings.apexp';
|
|
3
|
+
const ACCESS_LEVEL_SELECTOR = 'select[id$=":sendEmailAccessControlSelect"]';
|
|
4
|
+
const CONFIRM_MESSAGE_SELECTOR = 'span[id$=":successText"]';
|
|
5
|
+
const SAVE_BUTTON_SELECTOR = 'input[id$=":saveBtn"]';
|
|
10
6
|
const ACCESS_LEVEL_VALUES = new Map([
|
|
11
7
|
['No access', '0'],
|
|
12
8
|
['System email only', '1'],
|
|
13
|
-
['All email', '2']
|
|
9
|
+
['All email', '2'],
|
|
14
10
|
]);
|
|
15
11
|
export class EmailDeliverability extends BrowserforcePlugin {
|
|
16
12
|
async retrieve(definition) {
|
|
17
|
-
const page = await this.browserforce.openPage(
|
|
18
|
-
await page.waitForSelector(
|
|
19
|
-
const selectedOptions = await page.$$eval(`${
|
|
13
|
+
const page = await this.browserforce.openPage(BASE_PATH);
|
|
14
|
+
await page.waitForSelector(ACCESS_LEVEL_SELECTOR);
|
|
15
|
+
const selectedOptions = await page.$$eval(`${ACCESS_LEVEL_SELECTOR} > option[selected]`, (options) => options.map((option) => option.textContent ?? ''));
|
|
20
16
|
await page.close();
|
|
21
17
|
if (!selectedOptions) {
|
|
22
18
|
throw new Error('Selected access level not found...');
|
|
23
19
|
}
|
|
24
20
|
return {
|
|
25
|
-
accessLevel: selectedOptions[0]
|
|
21
|
+
accessLevel: selectedOptions[0],
|
|
26
22
|
};
|
|
27
23
|
}
|
|
28
24
|
async apply(config) {
|
|
@@ -30,10 +26,13 @@ export class EmailDeliverability extends BrowserforcePlugin {
|
|
|
30
26
|
if (accessLevelNumber === undefined) {
|
|
31
27
|
throw new Error(`Invalid email access level ${config.accessLevel}`);
|
|
32
28
|
}
|
|
33
|
-
const page = await this.browserforce.openPage(
|
|
34
|
-
await page.waitForSelector(
|
|
35
|
-
await page.select(
|
|
36
|
-
await Promise.all([
|
|
29
|
+
const page = await this.browserforce.openPage(BASE_PATH);
|
|
30
|
+
await page.waitForSelector(ACCESS_LEVEL_SELECTOR);
|
|
31
|
+
await page.select(ACCESS_LEVEL_SELECTOR, accessLevelNumber);
|
|
32
|
+
await Promise.all([
|
|
33
|
+
page.waitForSelector(CONFIRM_MESSAGE_SELECTOR),
|
|
34
|
+
page.click(SAVE_BUTTON_SELECTOR),
|
|
35
|
+
]);
|
|
37
36
|
await page.close();
|
|
38
37
|
}
|
|
39
38
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/email-deliverability/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAErD,MAAM,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/email-deliverability/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAErD,MAAM,SAAS,GAAG,wCAAwC,CAAC;AAE3D,MAAM,qBAAqB,GAAG,6CAA6C,CAAC;AAC5E,MAAM,wBAAwB,GAAG,0BAA0B,CAAC;AAC5D,MAAM,oBAAoB,GAAG,uBAAuB,CAAC;AAErD,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC;IAClC,CAAC,WAAW,EAAE,GAAG,CAAC;IAClB,CAAC,mBAAmB,EAAE,GAAG,CAAC;IAC1B,CAAC,WAAW,EAAE,GAAG,CAAC;CACnB,CAAC,CAAC;AAMH,MAAM,OAAO,mBAAoB,SAAQ,kBAAkB;IAClD,KAAK,CAAC,QAAQ,CAAC,UAAmB;QACvC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QACzD,MAAM,IAAI,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAC;QAClD,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,MAAM,CACvC,GAAG,qBAAqB,qBAAqB,EAC7C,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC,CAC/D,CAAC;QACF,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QACnB,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;QACxD,CAAC;QACD,OAAO;YACL,WAAW,EAAE,eAAe,CAAC,CAAC,CAAC;SAChC,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,KAAK,CAAC,MAAc;QAC/B,MAAM,iBAAiB,GAAG,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACtE,IAAI,iBAAiB,KAAK,SAAS,EAAE,CAAC;YACpC,MAAM,IAAI,KAAK,CAAC,8BAA8B,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;QACtE,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QACzD,MAAM,IAAI,CAAC,eAAe,CAAC,qBAAqB,CAAC,CAAC;QAClD,MAAM,IAAI,CAAC,MAAM,CAAC,qBAAqB,EAAE,iBAAiB,CAAC,CAAC;QAC5D,MAAM,OAAO,CAAC,GAAG,CAAC;YAChB,IAAI,CAAC,eAAe,CAAC,wBAAwB,CAAC;YAC9C,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC;SACjC,CAAC,CAAC;QACH,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;CACF"}
|
|
@@ -6,10 +6,10 @@ describe(HighVelocitySalesSettings.name, function () {
|
|
|
6
6
|
plugin = new HighVelocitySalesSettings(global.bf);
|
|
7
7
|
});
|
|
8
8
|
const configEnabled = {
|
|
9
|
-
setUpAndEnable: true
|
|
9
|
+
setUpAndEnable: true,
|
|
10
10
|
};
|
|
11
11
|
const configDisabled = {
|
|
12
|
-
setUpAndEnable: false
|
|
12
|
+
setUpAndEnable: false,
|
|
13
13
|
};
|
|
14
14
|
it('should enable', async () => {
|
|
15
15
|
await plugin.run(configEnabled);
|
|
@@ -35,7 +35,7 @@ export async function disableHighVelocitySalesUsingMetadata(conn) {
|
|
|
35
35
|
const settings = {
|
|
36
36
|
fullName: 'HighVelocitySales',
|
|
37
37
|
enableHighVelocitySalesSetup: false,
|
|
38
|
-
enableHighVelocitySales: false
|
|
38
|
+
enableHighVelocitySales: false,
|
|
39
39
|
};
|
|
40
40
|
await conn.metadata.update('HighVelocitySalesSettings', settings);
|
|
41
41
|
}
|