sfdx-browserforce-plugin 5.0.1 → 5.1.0
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/package.json +2 -5
- package/lib/browserforce-command.d.ts +0 -15
- package/lib/browserforce-command.js +0 -61
- package/lib/browserforce-command.js.map +0 -1
- package/lib/browserforce.d.ts +0 -25
- package/lib/browserforce.js +0 -169
- package/lib/browserforce.js.map +0 -1
- package/lib/commands/browserforce/apply.d.ts +0 -10
- package/lib/commands/browserforce/apply.js +0 -54
- package/lib/commands/browserforce/apply.js.map +0 -1
- package/lib/commands/browserforce/plan.d.ts +0 -10
- package/lib/commands/browserforce/plan.js +0 -56
- package/lib/commands/browserforce/plan.js.map +0 -1
- package/lib/config-parser.d.ts +0 -16
- package/lib/config-parser.js +0 -24
- package/lib/config-parser.js.map +0 -1
- package/lib/index.d.ts +0 -1
- package/lib/index.js +0 -2
- package/lib/index.js.map +0 -1
- package/lib/jsforce-utils.d.ts +0 -5
- package/lib/jsforce-utils.js +0 -14
- package/lib/jsforce-utils.js.map +0 -1
- package/lib/pages/login.d.ts +0 -8
- package/lib/pages/login.js +0 -39
- package/lib/pages/login.js.map +0 -1
- package/lib/plugin.d.ts +0 -17
- package/lib/plugin.js +0 -30
- package/lib/plugin.js.map +0 -1
- package/lib/plugins/activity-settings/index.d.ts +0 -9
- package/lib/plugins/activity-settings/index.e2e-spec.d.ts +0 -1
- package/lib/plugins/activity-settings/index.e2e-spec.js +0 -36
- package/lib/plugins/activity-settings/index.e2e-spec.js.map +0 -1
- package/lib/plugins/activity-settings/index.js +0 -31
- package/lib/plugins/activity-settings/index.js.map +0 -1
- package/lib/plugins/company-information/index.d.ts +0 -8
- package/lib/plugins/company-information/index.e2e-spec.d.ts +0 -1
- package/lib/plugins/company-information/index.e2e-spec.js +0 -37
- package/lib/plugins/company-information/index.e2e-spec.js.map +0 -1
- package/lib/plugins/company-information/index.js +0 -50
- package/lib/plugins/company-information/index.js.map +0 -1
- package/lib/plugins/customer-portal/available-custom-objects/index.d.ts +0 -14
- package/lib/plugins/customer-portal/available-custom-objects/index.js +0 -114
- package/lib/plugins/customer-portal/available-custom-objects/index.js.map +0 -1
- package/lib/plugins/customer-portal/available-custom-objects/index.test.d.ts +0 -1
- package/lib/plugins/customer-portal/available-custom-objects/index.test.js +0 -39
- package/lib/plugins/customer-portal/available-custom-objects/index.test.js.map +0 -1
- package/lib/plugins/customer-portal/enabled/index.d.ts +0 -6
- package/lib/plugins/customer-portal/enabled/index.js +0 -27
- package/lib/plugins/customer-portal/enabled/index.js.map +0 -1
- package/lib/plugins/customer-portal/enabled/index.test.d.ts +0 -1
- package/lib/plugins/customer-portal/enabled/index.test.js +0 -34
- package/lib/plugins/customer-portal/enabled/index.test.js.map +0 -1
- package/lib/plugins/customer-portal/index.d.ts +0 -15
- package/lib/plugins/customer-portal/index.e2e-spec.d.ts +0 -1
- package/lib/plugins/customer-portal/index.e2e-spec.js +0 -202
- package/lib/plugins/customer-portal/index.e2e-spec.js.map +0 -1
- package/lib/plugins/customer-portal/index.js +0 -59
- package/lib/plugins/customer-portal/index.js.map +0 -1
- package/lib/plugins/customer-portal/index.test.d.ts +0 -1
- package/lib/plugins/customer-portal/index.test.js +0 -84
- package/lib/plugins/customer-portal/index.test.js.map +0 -1
- package/lib/plugins/customer-portal/portals/index.d.ts +0 -25
- package/lib/plugins/customer-portal/portals/index.js +0 -180
- package/lib/plugins/customer-portal/portals/index.js.map +0 -1
- package/lib/plugins/customer-portal/portals/index.test.d.ts +0 -1
- package/lib/plugins/customer-portal/portals/index.test.js +0 -140
- package/lib/plugins/customer-portal/portals/index.test.js.map +0 -1
- package/lib/plugins/density-settings/index.d.ts +0 -17
- package/lib/plugins/density-settings/index.e2e-spec.d.ts +0 -1
- package/lib/plugins/density-settings/index.e2e-spec.js +0 -39
- package/lib/plugins/density-settings/index.e2e-spec.js.map +0 -1
- package/lib/plugins/density-settings/index.js +0 -46
- package/lib/plugins/density-settings/index.js.map +0 -1
- package/lib/plugins/deprecated.d.ts +0 -4
- package/lib/plugins/deprecated.js +0 -28
- package/lib/plugins/deprecated.js.map +0 -1
- package/lib/plugins/email-deliverability/index.d.ts +0 -9
- package/lib/plugins/email-deliverability/index.e2e-spec.d.ts +0 -1
- package/lib/plugins/email-deliverability/index.e2e-spec.js +0 -55
- package/lib/plugins/email-deliverability/index.e2e-spec.js.map +0 -1
- package/lib/plugins/email-deliverability/index.js +0 -39
- package/lib/plugins/email-deliverability/index.js.map +0 -1
- package/lib/plugins/high-velocity-sales-settings/index.d.ts +0 -10
- package/lib/plugins/high-velocity-sales-settings/index.e2e-spec.d.ts +0 -1
- package/lib/plugins/high-velocity-sales-settings/index.e2e-spec.js +0 -29
- package/lib/plugins/high-velocity-sales-settings/index.e2e-spec.js.map +0 -1
- package/lib/plugins/high-velocity-sales-settings/index.js +0 -42
- package/lib/plugins/high-velocity-sales-settings/index.js.map +0 -1
- package/lib/plugins/high-velocity-sales-settings/page.d.ts +0 -7
- package/lib/plugins/high-velocity-sales-settings/page.js +0 -29
- package/lib/plugins/high-velocity-sales-settings/page.js.map +0 -1
- package/lib/plugins/history-tracking/index.d.ts +0 -17
- package/lib/plugins/history-tracking/index.e2e-spec.d.ts +0 -1
- package/lib/plugins/history-tracking/index.e2e-spec.js +0 -106
- package/lib/plugins/history-tracking/index.e2e-spec.js.map +0 -1
- package/lib/plugins/history-tracking/index.js +0 -169
- package/lib/plugins/history-tracking/index.js.map +0 -1
- package/lib/plugins/home-page-layouts/index.d.ts +0 -14
- package/lib/plugins/home-page-layouts/index.e2e-spec.d.ts +0 -1
- package/lib/plugins/home-page-layouts/index.e2e-spec.js +0 -47
- package/lib/plugins/home-page-layouts/index.e2e-spec.js.map +0 -1
- package/lib/plugins/home-page-layouts/index.js +0 -90
- package/lib/plugins/home-page-layouts/index.js.map +0 -1
- package/lib/plugins/home-page-layouts/index.test.d.ts +0 -1
- package/lib/plugins/home-page-layouts/index.test.js +0 -104
- package/lib/plugins/home-page-layouts/index.test.js.map +0 -1
- package/lib/plugins/index.d.ts +0 -23
- package/lib/plugins/index.js +0 -24
- package/lib/plugins/index.js.map +0 -1
- package/lib/plugins/lightning-experience-settings/index.d.ts +0 -17
- package/lib/plugins/lightning-experience-settings/index.e2e-spec.d.ts +0 -1
- package/lib/plugins/lightning-experience-settings/index.e2e-spec.js +0 -39
- package/lib/plugins/lightning-experience-settings/index.e2e-spec.js.map +0 -1
- package/lib/plugins/lightning-experience-settings/index.js +0 -61
- package/lib/plugins/lightning-experience-settings/index.js.map +0 -1
- package/lib/plugins/linkedin-sales-navigator-settings/index.d.ts +0 -8
- package/lib/plugins/linkedin-sales-navigator-settings/index.e2e-spec.d.ts +0 -1
- package/lib/plugins/linkedin-sales-navigator-settings/index.e2e-spec.js +0 -29
- package/lib/plugins/linkedin-sales-navigator-settings/index.e2e-spec.js.map +0 -1
- package/lib/plugins/linkedin-sales-navigator-settings/index.js +0 -15
- package/lib/plugins/linkedin-sales-navigator-settings/index.js.map +0 -1
- package/lib/plugins/linkedin-sales-navigator-settings/page.d.ts +0 -8
- package/lib/plugins/linkedin-sales-navigator-settings/page.js +0 -32
- package/lib/plugins/linkedin-sales-navigator-settings/page.js.map +0 -1
- package/lib/plugins/omni-channel-settings/index.d.ts +0 -9
- package/lib/plugins/omni-channel-settings/index.e2e-spec.d.ts +0 -1
- package/lib/plugins/omni-channel-settings/index.e2e-spec.js +0 -26
- package/lib/plugins/omni-channel-settings/index.e2e-spec.js.map +0 -1
- package/lib/plugins/omni-channel-settings/index.js +0 -29
- package/lib/plugins/omni-channel-settings/index.js.map +0 -1
- package/lib/plugins/opportunity-splits/index.d.ts +0 -9
- package/lib/plugins/opportunity-splits/index.e2e-spec.d.ts +0 -1
- package/lib/plugins/opportunity-splits/index.e2e-spec.js +0 -46
- package/lib/plugins/opportunity-splits/index.e2e-spec.js.map +0 -1
- package/lib/plugins/opportunity-splits/index.js +0 -32
- package/lib/plugins/opportunity-splits/index.js.map +0 -1
- package/lib/plugins/opportunity-splits/pages/layout-selection.d.ts +0 -8
- package/lib/plugins/opportunity-splits/pages/layout-selection.js +0 -17
- package/lib/plugins/opportunity-splits/pages/layout-selection.js.map +0 -1
- package/lib/plugins/opportunity-splits/pages/overview.d.ts +0 -10
- package/lib/plugins/opportunity-splits/pages/overview.js +0 -38
- package/lib/plugins/opportunity-splits/pages/overview.js.map +0 -1
- package/lib/plugins/opportunity-splits/pages/setup.d.ts +0 -8
- package/lib/plugins/opportunity-splits/pages/setup.js +0 -19
- package/lib/plugins/opportunity-splits/pages/setup.js.map +0 -1
- package/lib/plugins/permission-sets/index.d.ts +0 -10
- package/lib/plugins/permission-sets/index.e2e-spec.d.ts +0 -1
- package/lib/plugins/permission-sets/index.e2e-spec.js +0 -36
- package/lib/plugins/permission-sets/index.e2e-spec.js.map +0 -1
- package/lib/plugins/permission-sets/index.js +0 -22
- package/lib/plugins/permission-sets/index.js.map +0 -1
- package/lib/plugins/permission-sets/service-presence-status/index.d.ts +0 -10
- package/lib/plugins/permission-sets/service-presence-status/index.js +0 -60
- package/lib/plugins/permission-sets/service-presence-status/index.js.map +0 -1
- package/lib/plugins/picklists/field-dependencies/index.d.ts +0 -11
- package/lib/plugins/picklists/field-dependencies/index.js +0 -56
- package/lib/plugins/picklists/field-dependencies/index.js.map +0 -1
- package/lib/plugins/picklists/field-dependencies/index.test.d.ts +0 -1
- package/lib/plugins/picklists/field-dependencies/index.test.js +0 -64
- package/lib/plugins/picklists/field-dependencies/index.test.js.map +0 -1
- package/lib/plugins/picklists/field-dependencies/pages.d.ts +0 -14
- package/lib/plugins/picklists/field-dependencies/pages.js +0 -57
- package/lib/plugins/picklists/field-dependencies/pages.js.map +0 -1
- package/lib/plugins/picklists/index.d.ts +0 -23
- package/lib/plugins/picklists/index.e2e-spec.d.ts +0 -1
- package/lib/plugins/picklists/index.e2e-spec.js +0 -100
- package/lib/plugins/picklists/index.e2e-spec.js.map +0 -1
- package/lib/plugins/picklists/index.js +0 -153
- package/lib/plugins/picklists/index.js.map +0 -1
- package/lib/plugins/picklists/pages.d.ts +0 -40
- package/lib/plugins/picklists/pages.js +0 -194
- package/lib/plugins/picklists/pages.js.map +0 -1
- package/lib/plugins/picklists/standard-value-set.d.ts +0 -1
- package/lib/plugins/picklists/standard-value-set.js +0 -80
- package/lib/plugins/picklists/standard-value-set.js.map +0 -1
- package/lib/plugins/record-types/index.d.ts +0 -13
- package/lib/plugins/record-types/index.e2e-spec.d.ts +0 -1
- package/lib/plugins/record-types/index.e2e-spec.js +0 -73
- package/lib/plugins/record-types/index.e2e-spec.js.map +0 -1
- package/lib/plugins/record-types/index.js +0 -70
- package/lib/plugins/record-types/index.js.map +0 -1
- package/lib/plugins/record-types/pages.d.ts +0 -15
- package/lib/plugins/record-types/pages.js +0 -64
- package/lib/plugins/record-types/pages.js.map +0 -1
- package/lib/plugins/relate-contact-to-multiple-accounts/index.d.ts +0 -11
- package/lib/plugins/relate-contact-to-multiple-accounts/index.e2e-spec.d.ts +0 -1
- package/lib/plugins/relate-contact-to-multiple-accounts/index.e2e-spec.js +0 -29
- package/lib/plugins/relate-contact-to-multiple-accounts/index.e2e-spec.js.map +0 -1
- package/lib/plugins/relate-contact-to-multiple-accounts/index.js +0 -72
- package/lib/plugins/relate-contact-to-multiple-accounts/index.js.map +0 -1
- package/lib/plugins/reports-and-dashboards/folder-sharing/index.d.ts +0 -8
- package/lib/plugins/reports-and-dashboards/folder-sharing/index.e2e-spec.d.ts +0 -1
- package/lib/plugins/reports-and-dashboards/folder-sharing/index.e2e-spec.js +0 -3
- package/lib/plugins/reports-and-dashboards/folder-sharing/index.e2e-spec.js.map +0 -1
- package/lib/plugins/reports-and-dashboards/folder-sharing/index.js +0 -50
- package/lib/plugins/reports-and-dashboards/folder-sharing/index.js.map +0 -1
- package/lib/plugins/reports-and-dashboards/index.d.ts +0 -11
- package/lib/plugins/reports-and-dashboards/index.e2e-spec.d.ts +0 -1
- package/lib/plugins/reports-and-dashboards/index.e2e-spec.js +0 -3
- package/lib/plugins/reports-and-dashboards/index.e2e-spec.js.map +0 -1
- package/lib/plugins/reports-and-dashboards/index.js +0 -29
- package/lib/plugins/reports-and-dashboards/index.js.map +0 -1
- package/lib/plugins/salesforce-cpq-config/formConfig.d.ts +0 -17
- package/lib/plugins/salesforce-cpq-config/formConfig.js +0 -649
- package/lib/plugins/salesforce-cpq-config/formConfig.js.map +0 -1
- package/lib/plugins/salesforce-cpq-config/index.d.ts +0 -7
- package/lib/plugins/salesforce-cpq-config/index.e2e-spec.d.ts +0 -1
- package/lib/plugins/salesforce-cpq-config/index.e2e-spec.js +0 -37
- package/lib/plugins/salesforce-cpq-config/index.e2e-spec.js.map +0 -1
- package/lib/plugins/salesforce-cpq-config/index.js +0 -195
- package/lib/plugins/salesforce-cpq-config/index.js.map +0 -1
- package/lib/plugins/salesforce-to-salesforce/index.d.ts +0 -9
- package/lib/plugins/salesforce-to-salesforce/index.e2e-spec.d.ts +0 -1
- package/lib/plugins/salesforce-to-salesforce/index.e2e-spec.js +0 -34
- package/lib/plugins/salesforce-to-salesforce/index.e2e-spec.js.map +0 -1
- package/lib/plugins/salesforce-to-salesforce/index.js +0 -44
- package/lib/plugins/salesforce-to-salesforce/index.js.map +0 -1
- package/lib/plugins/security/authentication-configuration/index.d.ts +0 -11
- package/lib/plugins/security/authentication-configuration/index.e2e-spec.d.ts +0 -1
- package/lib/plugins/security/authentication-configuration/index.e2e-spec.js +0 -101
- package/lib/plugins/security/authentication-configuration/index.e2e-spec.js.map +0 -1
- package/lib/plugins/security/authentication-configuration/index.js +0 -62
- package/lib/plugins/security/authentication-configuration/index.js.map +0 -1
- package/lib/plugins/security/certificate-and-key-management/index.d.ts +0 -23
- package/lib/plugins/security/certificate-and-key-management/index.e2e-spec.d.ts +0 -1
- package/lib/plugins/security/certificate-and-key-management/index.e2e-spec.js +0 -63
- package/lib/plugins/security/certificate-and-key-management/index.e2e-spec.js.map +0 -1
- package/lib/plugins/security/certificate-and-key-management/index.js +0 -159
- package/lib/plugins/security/certificate-and-key-management/index.js.map +0 -1
- package/lib/plugins/security/certificate-and-key-management/index.test.d.ts +0 -1
- package/lib/plugins/security/certificate-and-key-management/index.test.js +0 -61
- package/lib/plugins/security/certificate-and-key-management/index.test.js.map +0 -1
- package/lib/plugins/security/index.d.ts +0 -13
- package/lib/plugins/security/index.js +0 -42
- package/lib/plugins/security/index.js.map +0 -1
- package/lib/plugins/service-channels/capacity/index.d.ts +0 -18
- package/lib/plugins/service-channels/capacity/index.js +0 -133
- package/lib/plugins/service-channels/capacity/index.js.map +0 -1
- package/lib/plugins/service-channels/index.d.ts +0 -12
- package/lib/plugins/service-channels/index.e2e-spec.d.ts +0 -1
- package/lib/plugins/service-channels/index.e2e-spec.js +0 -57
- package/lib/plugins/service-channels/index.e2e-spec.js.map +0 -1
- package/lib/plugins/service-channels/index.js +0 -38
- package/lib/plugins/service-channels/index.js.map +0 -1
- package/lib/plugins/slack/index.d.ts +0 -9
- package/lib/plugins/slack/index.e2e-spec.d.ts +0 -1
- package/lib/plugins/slack/index.e2e-spec.js +0 -47
- package/lib/plugins/slack/index.e2e-spec.js.map +0 -1
- package/lib/plugins/slack/index.js +0 -47
- package/lib/plugins/slack/index.js.map +0 -1
- package/lib/plugins/utils.d.ts +0 -3
- package/lib/plugins/utils.js +0 -47
- package/lib/plugins/utils.js.map +0 -1
- package/oclif.manifest.json +0 -163
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { ElementHandle, Page } from 'puppeteer';
|
|
2
|
-
import { BrowserforcePlugin } from '../../plugin.js';
|
|
3
|
-
type Config = {
|
|
4
|
-
activeThemeName: string;
|
|
5
|
-
};
|
|
6
|
-
type Theme = {
|
|
7
|
-
developerName: string;
|
|
8
|
-
isActive: boolean;
|
|
9
|
-
rowElementHandle: ElementHandle;
|
|
10
|
-
};
|
|
11
|
-
export declare class LightningExperienceSettings extends BrowserforcePlugin {
|
|
12
|
-
retrieve(): Promise<Config>;
|
|
13
|
-
apply(config: Config): Promise<void>;
|
|
14
|
-
getThemeData(page: Page): Promise<Theme[]>;
|
|
15
|
-
setActiveTheme(page: Page, themeDeveloperName: string): Promise<void>;
|
|
16
|
-
}
|
|
17
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import assert from 'assert';
|
|
2
|
-
import { LightningExperienceSettings } from './index.js';
|
|
3
|
-
describe(LightningExperienceSettings.name, function () {
|
|
4
|
-
describe('activeThemeName', () => {
|
|
5
|
-
let plugin;
|
|
6
|
-
before(() => {
|
|
7
|
-
plugin = new LightningExperienceSettings(global.bf);
|
|
8
|
-
});
|
|
9
|
-
const configLightningLite = { activeThemeName: 'LightningLite' };
|
|
10
|
-
const configLightning = { activeThemeName: 'Lightning' };
|
|
11
|
-
it('should activate LightningLite theme', async () => {
|
|
12
|
-
await plugin.run(configLightningLite);
|
|
13
|
-
});
|
|
14
|
-
it('LightningLite theme should already be activated', async () => {
|
|
15
|
-
const state = await plugin.retrieve();
|
|
16
|
-
assert.deepStrictEqual(state, configLightningLite);
|
|
17
|
-
});
|
|
18
|
-
it('should activate Lightning theme', async () => {
|
|
19
|
-
await plugin.apply(configLightning);
|
|
20
|
-
});
|
|
21
|
-
it('Lightning theme should already be activated', async () => {
|
|
22
|
-
const state = await plugin.retrieve();
|
|
23
|
-
assert.deepStrictEqual(state, configLightning);
|
|
24
|
-
});
|
|
25
|
-
it('should throw for invalid theme', async () => {
|
|
26
|
-
let err;
|
|
27
|
-
try {
|
|
28
|
-
await plugin.run({ activeThemeName: 'Foo' });
|
|
29
|
-
}
|
|
30
|
-
catch (e) {
|
|
31
|
-
err = e;
|
|
32
|
-
}
|
|
33
|
-
assert.throws(() => {
|
|
34
|
-
throw err;
|
|
35
|
-
}, /Could not find theme/);
|
|
36
|
-
});
|
|
37
|
-
});
|
|
38
|
-
});
|
|
39
|
-
//# sourceMappingURL=index.e2e-spec.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.e2e-spec.js","sourceRoot":"","sources":["../../../src/plugins/lightning-experience-settings/index.e2e-spec.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,2BAA2B,EAAE,MAAM,YAAY,CAAC;AAEzD,QAAQ,CAAC,2BAA2B,CAAC,IAAI,EAAE;IACzC,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;QAC/B,IAAI,MAAmC,CAAC;QACxC,MAAM,CAAC,GAAG,EAAE;YACV,MAAM,GAAG,IAAI,2BAA2B,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;QAEH,MAAM,mBAAmB,GAAG,EAAE,eAAe,EAAE,eAAe,EAAE,CAAC;QACjE,MAAM,eAAe,GAAG,EAAE,eAAe,EAAE,WAAW,EAAE,CAAC;QACzD,EAAE,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;YACnD,MAAM,MAAM,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;QACxC,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;YAC/D,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,QAAQ,EAAE,CAAC;YACtC,MAAM,CAAC,eAAe,CAAC,KAAK,EAAE,mBAAmB,CAAC,CAAC;QACrD,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,iCAAiC,EAAE,KAAK,IAAI,EAAE;YAC/C,MAAM,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;YAC3D,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,QAAQ,EAAE,CAAC;YACtC,MAAM,CAAC,eAAe,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;QACH,EAAE,CAAC,gCAAgC,EAAE,KAAK,IAAI,EAAE;YAC9C,IAAI,GAAG,CAAC;YACR,IAAI,CAAC;gBACH,MAAM,MAAM,CAAC,GAAG,CAAC,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC,CAAC;YAC/C,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,GAAG,GAAG,CAAC,CAAC;YACV,CAAC;YACD,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE;gBACjB,MAAM,GAAG,CAAC;YACZ,CAAC,EAAE,sBAAsB,CAAC,CAAC;QAC7B,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
import { BrowserforcePlugin } from '../../plugin.js';
|
|
2
|
-
const BASE_PATH = 'lightning/setup/ThemingAndBranding/home';
|
|
3
|
-
// Spring 25 changed "lightning-datatable" to "one-theme-datatable"
|
|
4
|
-
const THEME_ROW_SELECTOR = '#setupComponent table > tbody > tr';
|
|
5
|
-
const DEVELOPER_NAMES_SELECTOR = `${THEME_ROW_SELECTOR} > td:nth-child(2) > lightning-primitive-cell-factory lightning-base-formatted-text`;
|
|
6
|
-
const STATES_SELECTOR = `${THEME_ROW_SELECTOR} > td:nth-child(6) > lightning-primitive-cell-factory`;
|
|
7
|
-
export class LightningExperienceSettings extends BrowserforcePlugin {
|
|
8
|
-
async retrieve() {
|
|
9
|
-
const page = await this.browserforce.openPage(BASE_PATH);
|
|
10
|
-
const themes = await this.getThemeData(page);
|
|
11
|
-
const activeTheme = themes.find((theme) => theme.isActive);
|
|
12
|
-
const response = {
|
|
13
|
-
activeThemeName: activeTheme.developerName,
|
|
14
|
-
};
|
|
15
|
-
await page.close();
|
|
16
|
-
return response;
|
|
17
|
-
}
|
|
18
|
-
async apply(config) {
|
|
19
|
-
const page = await this.browserforce.openPage(BASE_PATH);
|
|
20
|
-
await this.setActiveTheme(page, config.activeThemeName);
|
|
21
|
-
await page.close();
|
|
22
|
-
}
|
|
23
|
-
async getThemeData(page) {
|
|
24
|
-
await page.waitForSelector(THEME_ROW_SELECTOR);
|
|
25
|
-
const rowElementHandles = await page.$$(THEME_ROW_SELECTOR);
|
|
26
|
-
await page.waitForSelector(DEVELOPER_NAMES_SELECTOR);
|
|
27
|
-
const developerNames = await page.$$eval(DEVELOPER_NAMES_SELECTOR, (cells) => cells.map((cell) => cell.innerText));
|
|
28
|
-
const states = await page.$$eval(STATES_SELECTOR, (cells) => cells.map((cell) => cell.shadowRoot?.querySelector('lightning-primitive-icon') !== null));
|
|
29
|
-
return developerNames.map((developerName, i) => {
|
|
30
|
-
return {
|
|
31
|
-
developerName,
|
|
32
|
-
isActive: states[i],
|
|
33
|
-
rowElementHandle: rowElementHandles[i],
|
|
34
|
-
};
|
|
35
|
-
});
|
|
36
|
-
}
|
|
37
|
-
async setActiveTheme(page, themeDeveloperName) {
|
|
38
|
-
const data = await this.getThemeData(page);
|
|
39
|
-
const theme = data.find((theme) => theme.developerName === themeDeveloperName);
|
|
40
|
-
if (!theme) {
|
|
41
|
-
throw new Error(`Could not find theme "${themeDeveloperName}" in list of themes: ${data.map((d) => d.developerName)}`);
|
|
42
|
-
}
|
|
43
|
-
const newActiveThemeRowElementHandle = theme.rowElementHandle;
|
|
44
|
-
await page.waitForSelector(`${THEME_ROW_SELECTOR} lightning-button-menu`, {
|
|
45
|
-
visible: true,
|
|
46
|
-
});
|
|
47
|
-
const menuButton = await newActiveThemeRowElementHandle.$('td lightning-primitive-cell-factory lightning-primitive-cell-actions lightning-button-menu');
|
|
48
|
-
await page.evaluate((e) => e.click(), menuButton);
|
|
49
|
-
await page.waitForSelector(`${THEME_ROW_SELECTOR} lightning-button-menu slot lightning-menu-item`, {
|
|
50
|
-
visible: true,
|
|
51
|
-
});
|
|
52
|
-
const menuItems = await menuButton.$$('slot lightning-menu-item');
|
|
53
|
-
// second last item: [show, activate, preview]
|
|
54
|
-
const activateMenuItem = menuItems[menuItems.length - 2];
|
|
55
|
-
await Promise.all([
|
|
56
|
-
page.waitForNavigation(),
|
|
57
|
-
page.evaluate((e) => e.click(), activateMenuItem),
|
|
58
|
-
]);
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/lightning-experience-settings/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAErD,MAAM,SAAS,GAAG,yCAAyC,CAAC;AAE5D,mEAAmE;AACnE,MAAM,kBAAkB,GAAG,oCAAoC,CAAC;AAChE,MAAM,wBAAwB,GAAG,GAAG,kBAAkB,qFAAqF,CAAC;AAC5I,MAAM,eAAe,GAAG,GAAG,kBAAkB,uDAAuD,CAAC;AAYrG,MAAM,OAAO,2BAA4B,SAAQ,kBAAkB;IAC1D,KAAK,CAAC,QAAQ;QACnB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QACzD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAC7C,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC3D,MAAM,QAAQ,GAAG;YACf,eAAe,EAAE,WAAY,CAAC,aAAa;SAC5C,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,cAAc,CAAC,IAAI,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC;QACxD,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,IAAU;QAC3B,MAAM,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,CAAC;QAC/C,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC;QAC5D,MAAM,IAAI,CAAC,eAAe,CAAC,wBAAwB,CAAC,CAAC;QACrD,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,MAAM,CACtC,wBAAwB,EACxB,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAA0B,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CACrE,CAAC;QACF,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC,KAAK,EAAE,EAAE,CAC1D,KAAK,CAAC,GAAG,CACP,CAAC,IAAI,EAAE,EAAE,CACP,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,0BAA0B,CAAC,KAAK,IAAI,CACtE,CACF,CAAC;QACF,OAAO,cAAc,CAAC,GAAG,CAAC,CAAC,aAAa,EAAE,CAAC,EAAE,EAAE;YAC7C,OAAO;gBACL,aAAa;gBACb,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;gBACnB,gBAAgB,EAAE,iBAAiB,CAAC,CAAC,CAAC;aACvC,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,IAAU,EAAE,kBAA0B;QACzD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CACrB,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,aAAa,KAAK,kBAAkB,CACtD,CAAC;QACF,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAI,KAAK,CACb,yBAAyB,kBAAkB,wBAAwB,IAAI,CAAC,GAAG,CACzE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CACvB,EAAE,CACJ,CAAC;QACJ,CAAC;QACD,MAAM,8BAA8B,GAAG,KAAK,CAAC,gBAAgB,CAAC;QAC9D,MAAM,IAAI,CAAC,eAAe,CAAC,GAAG,kBAAkB,wBAAwB,EAAE;YACxE,OAAO,EAAE,IAAI;SACd,CAAC,CAAC;QACH,MAAM,UAAU,GAAG,MAAM,8BAA8B,CAAC,CAAC,CACvD,4FAA4F,CAC7F,CAAC;QACF,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAc,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,UAAU,CAAC,CAAC;QAC/D,MAAM,IAAI,CAAC,eAAe,CACxB,GAAG,kBAAkB,iDAAiD,EACtE;YACE,OAAO,EAAE,IAAI;SACd,CACF,CAAC;QACF,MAAM,SAAS,GAAG,MAAM,UAAW,CAAC,EAAE,CAAC,0BAA0B,CAAC,CAAC;QACnE,8CAA8C;QAC9C,MAAM,gBAAgB,GAAG,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACzD,MAAM,OAAO,CAAC,GAAG,CAAC;YAChB,IAAI,CAAC,iBAAiB,EAAE;YACxB,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAc,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,gBAAgB,CAAC;SAC/D,CAAC,CAAC;IACL,CAAC;CACF"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { BrowserforcePlugin } from '../../plugin.js';
|
|
2
|
-
export type Config = {
|
|
3
|
-
enabled: boolean;
|
|
4
|
-
};
|
|
5
|
-
export declare class LinkedInSalesNavigatorSettings extends BrowserforcePlugin {
|
|
6
|
-
retrieve(definition?: Config): Promise<Config>;
|
|
7
|
-
apply(config: Config): Promise<void>;
|
|
8
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import assert from 'assert';
|
|
2
|
-
import { LinkedInSalesNavigatorSettings } from './index.js';
|
|
3
|
-
describe(LinkedInSalesNavigatorSettings.name, function () {
|
|
4
|
-
let plugin;
|
|
5
|
-
before(() => {
|
|
6
|
-
plugin = new LinkedInSalesNavigatorSettings(global.bf);
|
|
7
|
-
});
|
|
8
|
-
const configEnabled = {
|
|
9
|
-
enabled: true,
|
|
10
|
-
};
|
|
11
|
-
const configDisabled = {
|
|
12
|
-
enabled: false,
|
|
13
|
-
};
|
|
14
|
-
it('should enable', async () => {
|
|
15
|
-
await plugin.run(configEnabled);
|
|
16
|
-
});
|
|
17
|
-
it('should already be enabled', async () => {
|
|
18
|
-
const res = await plugin.run(configEnabled);
|
|
19
|
-
assert.deepStrictEqual(res, { message: 'no action necessary' });
|
|
20
|
-
});
|
|
21
|
-
it('should disable', async () => {
|
|
22
|
-
await plugin.run(configDisabled);
|
|
23
|
-
});
|
|
24
|
-
it('should already be disabled', async () => {
|
|
25
|
-
const res = await plugin.run(configDisabled);
|
|
26
|
-
assert.deepStrictEqual(res, { message: 'no action necessary' });
|
|
27
|
-
});
|
|
28
|
-
});
|
|
29
|
-
//# sourceMappingURL=index.e2e-spec.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.e2e-spec.js","sourceRoot":"","sources":["../../../src/plugins/linkedin-sales-navigator-settings/index.e2e-spec.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAU,8BAA8B,EAAE,MAAM,YAAY,CAAC;AAEpE,QAAQ,CAAC,8BAA8B,CAAC,IAAI,EAAE;IAC5C,IAAI,MAAsC,CAAC;IAC3C,MAAM,CAAC,GAAG,EAAE;QACV,MAAM,GAAG,IAAI,8BAA8B,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,MAAM,aAAa,GAAW;QAC5B,OAAO,EAAE,IAAI;KACd,CAAC;IACF,MAAM,cAAc,GAAW;QAC7B,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,2BAA2B,EAAE,KAAK,IAAI,EAAE;QACzC,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,4BAA4B,EAAE,KAAK,IAAI,EAAE;QAC1C,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,15 +0,0 @@
|
|
|
1
|
-
import { BrowserforcePlugin } from '../../plugin.js';
|
|
2
|
-
import { LinkedInSalesNavigatorPage } from './page.js';
|
|
3
|
-
export class LinkedInSalesNavigatorSettings extends BrowserforcePlugin {
|
|
4
|
-
async retrieve(definition) {
|
|
5
|
-
const result = { enabled: false };
|
|
6
|
-
const page = new LinkedInSalesNavigatorPage(await this.browserforce.openPage(LinkedInSalesNavigatorPage.getUrl()));
|
|
7
|
-
result.enabled = await page.getStatus();
|
|
8
|
-
return result;
|
|
9
|
-
}
|
|
10
|
-
async apply(config) {
|
|
11
|
-
const page = new LinkedInSalesNavigatorPage(await this.browserforce.openPage(LinkedInSalesNavigatorPage.getUrl()));
|
|
12
|
-
await page.setStatus(config.enabled);
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/linkedin-sales-navigator-settings/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,0BAA0B,EAAE,MAAM,WAAW,CAAC;AAMvD,MAAM,OAAO,8BAA+B,SAAQ,kBAAkB;IAC7D,KAAK,CAAC,QAAQ,CAAC,UAAmB;QACvC,MAAM,MAAM,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QAClC,MAAM,IAAI,GAAG,IAAI,0BAA0B,CACzC,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,0BAA0B,CAAC,MAAM,EAAE,CAAC,CACtE,CAAC;QACF,MAAM,CAAC,OAAO,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QACxC,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,KAAK,CAAC,KAAK,CAAC,MAAc;QAC/B,MAAM,IAAI,GAAG,IAAI,0BAA0B,CACzC,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,0BAA0B,CAAC,MAAM,EAAE,CAAC,CACtE,CAAC;QACF,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACvC,CAAC;CACF"}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { throwPageErrors } from '../../browserforce.js';
|
|
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
|
-
const ACCEPT_BUTTON = 'section[data-aura-class="setup_sales_linkedinLinkedInSetupAcceptTermsModal"] div div button:not(:disabled):nth-child(2)';
|
|
5
|
-
export class LinkedInSalesNavigatorPage {
|
|
6
|
-
page;
|
|
7
|
-
constructor(page) {
|
|
8
|
-
this.page = page;
|
|
9
|
-
}
|
|
10
|
-
static getUrl() {
|
|
11
|
-
return 'lightning/setup/LinkedInSalesNavigatorPage/home';
|
|
12
|
-
}
|
|
13
|
-
async getStatus() {
|
|
14
|
-
const isEnabled = await this.page
|
|
15
|
-
.locator(ENABLE_TOGGLE)
|
|
16
|
-
.map((checkbox) => checkbox.checked)
|
|
17
|
-
.wait();
|
|
18
|
-
await this.page.close();
|
|
19
|
-
return isEnabled;
|
|
20
|
-
}
|
|
21
|
-
async setStatus(enable) {
|
|
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());
|
|
24
|
-
if (enable) {
|
|
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());
|
|
27
|
-
}
|
|
28
|
-
await throwPageErrors(this.page);
|
|
29
|
-
await this.page.close();
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
//# sourceMappingURL=page.js.map
|
|
@@ -1 +0,0 @@
|
|
|
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,9 +0,0 @@
|
|
|
1
|
-
import { BrowserforcePlugin } from '../../plugin.js';
|
|
2
|
-
type Config = {
|
|
3
|
-
enableStatusBasedCapacityModel?: boolean;
|
|
4
|
-
};
|
|
5
|
-
export declare class OmniChannelSettings extends BrowserforcePlugin {
|
|
6
|
-
retrieve(definition?: Config): Promise<Config>;
|
|
7
|
-
apply(config: Config): Promise<void>;
|
|
8
|
-
}
|
|
9
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import assert from 'assert';
|
|
2
|
-
import { OmniChannelSettings } from './index.js';
|
|
3
|
-
describe(OmniChannelSettings.name, function () {
|
|
4
|
-
this.timeout('10m');
|
|
5
|
-
let plugin;
|
|
6
|
-
before(() => {
|
|
7
|
-
plugin = new OmniChannelSettings(global.bf);
|
|
8
|
-
});
|
|
9
|
-
const configEnableStatusBasedCapacityModel = {
|
|
10
|
-
enableStatusBasedCapacityModel: true,
|
|
11
|
-
};
|
|
12
|
-
const configDisableStatusBasedCapacityModel = {
|
|
13
|
-
enableStatusBasedCapacityModel: false,
|
|
14
|
-
};
|
|
15
|
-
it('should enable status based capacity model', async () => {
|
|
16
|
-
await plugin.run(configEnableStatusBasedCapacityModel);
|
|
17
|
-
const res = await plugin.retrieve();
|
|
18
|
-
assert.deepStrictEqual(res, configEnableStatusBasedCapacityModel);
|
|
19
|
-
});
|
|
20
|
-
it('should disable status based capacity model', async () => {
|
|
21
|
-
await plugin.run(configDisableStatusBasedCapacityModel);
|
|
22
|
-
const res = await plugin.retrieve();
|
|
23
|
-
assert.deepStrictEqual(res, configDisableStatusBasedCapacityModel);
|
|
24
|
-
});
|
|
25
|
-
});
|
|
26
|
-
//# sourceMappingURL=index.e2e-spec.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.e2e-spec.js","sourceRoot":"","sources":["../../../src/plugins/omni-channel-settings/index.e2e-spec.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAEjD,QAAQ,CAAC,mBAAmB,CAAC,IAAI,EAAE;IACjC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACpB,IAAI,MAA2B,CAAC;IAChC,MAAM,CAAC,GAAG,EAAE;QACV,MAAM,GAAG,IAAI,mBAAmB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,MAAM,oCAAoC,GAAG;QAC3C,8BAA8B,EAAE,IAAI;KACrC,CAAC;IACF,MAAM,qCAAqC,GAAG;QAC5C,8BAA8B,EAAE,KAAK;KACtC,CAAC;IAEF,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;QACzD,MAAM,MAAM,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;QACvD,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpC,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,oCAAoC,CAAC,CAAC;IACpE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;QAC1D,MAAM,MAAM,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;QACxD,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpC,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,qCAAqC,CAAC,CAAC;IACrE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { BrowserforcePlugin } from '../../plugin.js';
|
|
2
|
-
const BASE_PATH = 'omnichannel/settings.apexp';
|
|
3
|
-
const SAVE_BUTTON_SELECTOR = 'input[id$=":save"]';
|
|
4
|
-
const STATUS_CAPACITY_TOGGLE_SELECTOR = 'input[id$=":toggleOmniStatusCapModelPref"]';
|
|
5
|
-
export class OmniChannelSettings extends BrowserforcePlugin {
|
|
6
|
-
async retrieve(definition) {
|
|
7
|
-
// Open the omni-channel setup page
|
|
8
|
-
const page = await this.browserforce.openPage(BASE_PATH);
|
|
9
|
-
// Retrieve the service channel config
|
|
10
|
-
await page.waitForSelector(STATUS_CAPACITY_TOGGLE_SELECTOR);
|
|
11
|
-
const enableStatusBasedCapacityModel = await page.$eval(STATUS_CAPACITY_TOGGLE_SELECTOR, (el) => (el.getAttribute('checked') === 'checked' ? true : false));
|
|
12
|
-
return { enableStatusBasedCapacityModel };
|
|
13
|
-
}
|
|
14
|
-
async apply(config) {
|
|
15
|
-
// Open the omni-channel setup page
|
|
16
|
-
const page = await this.browserforce.openPage(BASE_PATH);
|
|
17
|
-
// Click the checkbox
|
|
18
|
-
const capacityModel = await page.waitForSelector(STATUS_CAPACITY_TOGGLE_SELECTOR);
|
|
19
|
-
await capacityModel.click();
|
|
20
|
-
// Save the settings
|
|
21
|
-
const saveButton = await page.waitForSelector(SAVE_BUTTON_SELECTOR);
|
|
22
|
-
await saveButton.click();
|
|
23
|
-
// Wait for the page to refresh
|
|
24
|
-
await page.waitForNavigation();
|
|
25
|
-
// Close the page
|
|
26
|
-
await page.close();
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/omni-channel-settings/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAErD,MAAM,SAAS,GAAG,4BAA4B,CAAC;AAE/C,MAAM,oBAAoB,GAAG,oBAAoB,CAAC;AAClD,MAAM,+BAA+B,GACnC,4CAA4C,CAAC;AAM/C,MAAM,OAAO,mBAAoB,SAAQ,kBAAkB;IAClD,KAAK,CAAC,QAAQ,CAAC,UAAmB;QACvC,mCAAmC;QACnC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAEzD,sCAAsC;QACtC,MAAM,IAAI,CAAC,eAAe,CAAC,+BAA+B,CAAC,CAAC;QAC5D,MAAM,8BAA8B,GAAG,MAAM,IAAI,CAAC,KAAK,CACrD,+BAA+B,EAC/B,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAClE,CAAC;QAEF,OAAO,EAAE,8BAA8B,EAAE,CAAC;IAC5C,CAAC;IAEM,KAAK,CAAC,KAAK,CAAC,MAAc;QAC/B,mCAAmC;QACnC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAEzD,qBAAqB;QACrB,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,eAAe,CAC9C,+BAA+B,CAChC,CAAC;QACF,MAAM,aAAa,CAAC,KAAK,EAAE,CAAC;QAE5B,oBAAoB;QACpB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,oBAAoB,CAAC,CAAC;QACpE,MAAM,UAAU,CAAC,KAAK,EAAE,CAAC;QAEzB,+BAA+B;QAC/B,MAAM,IAAI,CAAC,iBAAiB,EAAE,CAAC;QAE/B,iBAAiB;QACjB,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;CACF"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { BrowserforcePlugin } from '../../plugin.js';
|
|
2
|
-
type Config = {
|
|
3
|
-
enabled: boolean;
|
|
4
|
-
};
|
|
5
|
-
export declare class OpportunitySplits extends BrowserforcePlugin {
|
|
6
|
-
retrieve(definition?: Config): Promise<Config>;
|
|
7
|
-
apply(config: Config): Promise<void>;
|
|
8
|
-
}
|
|
9
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
import assert from 'assert';
|
|
2
|
-
import * as child from 'child_process';
|
|
3
|
-
import { fileURLToPath } from 'node:url';
|
|
4
|
-
import * as path from 'path';
|
|
5
|
-
import { OpportunitySplits } from './index.js';
|
|
6
|
-
const __dirname = fileURLToPath(new URL('.', import.meta.url));
|
|
7
|
-
describe(OpportunitySplits.name, function () {
|
|
8
|
-
this.timeout('15m');
|
|
9
|
-
this.slow('1m');
|
|
10
|
-
let plugin;
|
|
11
|
-
before(() => {
|
|
12
|
-
plugin = new OpportunitySplits(global.bf);
|
|
13
|
-
});
|
|
14
|
-
const configEnabled = {
|
|
15
|
-
enabled: true,
|
|
16
|
-
};
|
|
17
|
-
const configDisabled = {
|
|
18
|
-
enabled: false,
|
|
19
|
-
};
|
|
20
|
-
it('should enable Opportunity Teams as prerequisite', () => {
|
|
21
|
-
const sourceDeployCmd = child.spawnSync('sf', [
|
|
22
|
-
'project',
|
|
23
|
-
'deploy',
|
|
24
|
-
'start',
|
|
25
|
-
'-d',
|
|
26
|
-
path.join(__dirname, 'sfdx-source'),
|
|
27
|
-
'--json',
|
|
28
|
-
]);
|
|
29
|
-
assert.deepStrictEqual(sourceDeployCmd.status, 0, sourceDeployCmd.output.toString());
|
|
30
|
-
});
|
|
31
|
-
it('should enable', async () => {
|
|
32
|
-
await plugin.run(configEnabled);
|
|
33
|
-
});
|
|
34
|
-
it('should be enabled', async () => {
|
|
35
|
-
const state = await plugin.retrieve();
|
|
36
|
-
assert.deepStrictEqual(state, configEnabled);
|
|
37
|
-
});
|
|
38
|
-
it('should disable', async () => {
|
|
39
|
-
await plugin.apply(configDisabled);
|
|
40
|
-
});
|
|
41
|
-
it('should be disabled', async () => {
|
|
42
|
-
const state = await plugin.retrieve();
|
|
43
|
-
assert.deepStrictEqual(state, configDisabled);
|
|
44
|
-
});
|
|
45
|
-
});
|
|
46
|
-
//# sourceMappingURL=index.e2e-spec.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.e2e-spec.js","sourceRoot":"","sources":["../../../src/plugins/opportunity-splits/index.e2e-spec.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,KAAK,KAAK,MAAM,eAAe,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE/C,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAE/D,QAAQ,CAAC,iBAAiB,CAAC,IAAI,EAAE;IAC/B,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACpB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChB,IAAI,MAAyB,CAAC;IAC9B,MAAM,CAAC,GAAG,EAAE;QACV,MAAM,GAAG,IAAI,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,MAAM,aAAa,GAAG;QACpB,OAAO,EAAE,IAAI;KACd,CAAC;IACF,MAAM,cAAc,GAAG;QACrB,OAAO,EAAE,KAAK;KACf,CAAC;IACF,EAAE,CAAC,iDAAiD,EAAE,GAAG,EAAE;QACzD,MAAM,eAAe,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE;YAC5C,SAAS;YACT,QAAQ;YACR,OAAO;YACP,IAAI;YACJ,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC;YACnC,QAAQ;SACT,CAAC,CAAC;QACH,MAAM,CAAC,eAAe,CACpB,eAAe,CAAC,MAAM,EACtB,CAAC,EACD,eAAe,CAAC,MAAM,CAAC,QAAQ,EAAE,CAClC,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,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,KAAK,GAAG,MAAM,MAAM,CAAC,QAAQ,EAAE,CAAC;QACtC,MAAM,CAAC,eAAe,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,gBAAgB,EAAE,KAAK,IAAI,EAAE;QAC9B,MAAM,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,oBAAoB,EAAE,KAAK,IAAI,EAAE;QAClC,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,QAAQ,EAAE,CAAC;QACtC,MAAM,CAAC,eAAe,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;IAChD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { BrowserforcePlugin } from '../../plugin.js';
|
|
2
|
-
import { OverviewPage } from './pages/overview.js';
|
|
3
|
-
import { SetupPage } from './pages/setup.js';
|
|
4
|
-
export class OpportunitySplits extends BrowserforcePlugin {
|
|
5
|
-
async retrieve(definition) {
|
|
6
|
-
const page = await this.browserforce.openPage(OverviewPage.PATH);
|
|
7
|
-
const overviewPage = new OverviewPage(page);
|
|
8
|
-
const response = {
|
|
9
|
-
enabled: await overviewPage.isEnabled(),
|
|
10
|
-
};
|
|
11
|
-
await page.close();
|
|
12
|
-
return response;
|
|
13
|
-
}
|
|
14
|
-
async apply(config) {
|
|
15
|
-
let page;
|
|
16
|
-
if (config.enabled) {
|
|
17
|
-
page = await this.browserforce.openPage(SetupPage.PATH);
|
|
18
|
-
const setupPage = new SetupPage(page);
|
|
19
|
-
const layoutSelectionPage = await setupPage.enable();
|
|
20
|
-
const overviewPage = await layoutSelectionPage.choose();
|
|
21
|
-
await overviewPage.waitUntilCompleted();
|
|
22
|
-
}
|
|
23
|
-
else {
|
|
24
|
-
page = await this.browserforce.openPage(OverviewPage.PATH);
|
|
25
|
-
const overviewPage = new OverviewPage(page);
|
|
26
|
-
await overviewPage.disable();
|
|
27
|
-
await overviewPage.waitUntilCompleted();
|
|
28
|
-
}
|
|
29
|
-
await page.close();
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/opportunity-splits/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAM7C,MAAM,OAAO,iBAAkB,SAAQ,kBAAkB;IAChD,KAAK,CAAC,QAAQ,CAAC,UAAmB;QACvC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QACjE,MAAM,YAAY,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC;QAC5C,MAAM,QAAQ,GAAG;YACf,OAAO,EAAE,MAAM,YAAY,CAAC,SAAS,EAAE;SACxC,CAAC;QACF,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QACnB,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEM,KAAK,CAAC,KAAK,CAAC,MAAc;QAC/B,IAAI,IAAU,CAAC;QACf,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACxD,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC;YACtC,MAAM,mBAAmB,GAAG,MAAM,SAAS,CAAC,MAAM,EAAE,CAAC;YACrD,MAAM,YAAY,GAAG,MAAM,mBAAmB,CAAC,MAAM,EAAE,CAAC;YACxD,MAAM,YAAY,CAAC,kBAAkB,EAAE,CAAC;QAC1C,CAAC;aAAM,CAAC;YACN,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YAC3D,MAAM,YAAY,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC;YAC5C,MAAM,YAAY,CAAC,OAAO,EAAE,CAAC;YAC7B,MAAM,YAAY,CAAC,kBAAkB,EAAE,CAAC;QAC1C,CAAC;QACD,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;CACF"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { OverviewPage } from './overview.js';
|
|
2
|
-
const SAVE_BUTTON = 'input[id$=":save"]';
|
|
3
|
-
export class LayoutSelectionPage {
|
|
4
|
-
static PATH = 'opp/opportunitySplitSetupLayout.apexp?setupid=OpportunitySplitSetup';
|
|
5
|
-
page;
|
|
6
|
-
constructor(page) {
|
|
7
|
-
this.page = page;
|
|
8
|
-
}
|
|
9
|
-
async choose() {
|
|
10
|
-
await Promise.all([
|
|
11
|
-
this.page.waitForNavigation(),
|
|
12
|
-
this.page.locator(SAVE_BUTTON).click(),
|
|
13
|
-
]);
|
|
14
|
-
return new OverviewPage(this.page);
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
//# sourceMappingURL=layout-selection.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"layout-selection.js","sourceRoot":"","sources":["../../../../src/plugins/opportunity-splits/pages/layout-selection.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C,MAAM,WAAW,GAAG,oBAAoB,CAAC;AAEzC,MAAM,OAAO,mBAAmB;IAC9B,MAAM,CAAC,IAAI,GACT,qEAAqE,CAAC;IAChE,IAAI,CAAO;IAEnB,YAAY,IAAU;QACpB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEM,KAAK,CAAC,MAAM;QACjB,MAAM,OAAO,CAAC,GAAG,CAAC;YAChB,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE;YAC7B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,KAAK,EAAE;SACvC,CAAC,CAAC;QACH,OAAO,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { Page } from 'puppeteer';
|
|
2
|
-
export declare class OverviewPage {
|
|
3
|
-
static PATH: string;
|
|
4
|
-
private page;
|
|
5
|
-
constructor(page: Page);
|
|
6
|
-
isEnabled(): Promise<boolean>;
|
|
7
|
-
waitUntilCompleted(): Promise<void>;
|
|
8
|
-
isInProgress(): Promise<boolean>;
|
|
9
|
-
disable(): Promise<OverviewPage>;
|
|
10
|
-
}
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
const IN_PROGRESS = '#enablingInProgress, #disablingInProgress';
|
|
2
|
-
const COMPLETED = '#prefSettingSucceeded';
|
|
3
|
-
const DISABLE_LINK = 'div[id*=":disable_form:"] a';
|
|
4
|
-
const DISABLE_CONFIRM_CHECKBOX = 'input#dis_confirm';
|
|
5
|
-
const DISABLE_CONFIRM_BUTTON = 'input#splitsDisableConfirmDialog_overlayConfirmButton';
|
|
6
|
-
export class OverviewPage {
|
|
7
|
-
static PATH = 'opp/opportunitySplitSetupOverview.apexp?setupid=OpportunitySplitSetup';
|
|
8
|
-
page;
|
|
9
|
-
constructor(page) {
|
|
10
|
-
this.page = page;
|
|
11
|
-
}
|
|
12
|
-
async isEnabled() {
|
|
13
|
-
await this.waitUntilCompleted();
|
|
14
|
-
return ((await this.page.url()).includes(OverviewPage.PATH) &&
|
|
15
|
-
(await this.page.$(DISABLE_LINK)) !== null);
|
|
16
|
-
}
|
|
17
|
-
async waitUntilCompleted() {
|
|
18
|
-
if (await this.isInProgress()) {
|
|
19
|
-
await this.page
|
|
20
|
-
.locator(COMPLETED)
|
|
21
|
-
.setTimeout(10 * 60 * 1000) // 10 minutes
|
|
22
|
-
.wait();
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
async isInProgress() {
|
|
26
|
-
return (await this.page.$(IN_PROGRESS)) !== null;
|
|
27
|
-
}
|
|
28
|
-
async disable() {
|
|
29
|
-
await this.page.locator(DISABLE_LINK).click();
|
|
30
|
-
await this.page.locator(DISABLE_CONFIRM_CHECKBOX).click();
|
|
31
|
-
await Promise.all([
|
|
32
|
-
this.page.waitForNavigation(),
|
|
33
|
-
this.page.locator(DISABLE_CONFIRM_BUTTON).click(),
|
|
34
|
-
]);
|
|
35
|
-
return this;
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
//# sourceMappingURL=overview.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"overview.js","sourceRoot":"","sources":["../../../../src/plugins/opportunity-splits/pages/overview.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,GAAG,2CAA2C,CAAC;AAChE,MAAM,SAAS,GAAG,uBAAuB,CAAC;AAC1C,MAAM,YAAY,GAAG,6BAA6B,CAAC;AACnD,MAAM,wBAAwB,GAAG,mBAAmB,CAAC;AACrD,MAAM,sBAAsB,GAC1B,uDAAuD,CAAC;AAE1D,MAAM,OAAO,YAAY;IACvB,MAAM,CAAC,IAAI,GACT,uEAAuE,CAAC;IAClE,IAAI,CAAO;IAEnB,YAAY,IAAU;QACpB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEM,KAAK,CAAC,SAAS;QACpB,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAChC,OAAO,CACL,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC;YACnD,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,KAAK,IAAI,CAC3C,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,kBAAkB;QAC7B,IAAI,MAAM,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;YAC9B,MAAM,IAAI,CAAC,IAAI;iBACZ,OAAO,CAAC,SAAS,CAAC;iBAClB,UAAU,CAAC,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,aAAa;iBACxC,IAAI,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,YAAY;QACvB,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,KAAK,IAAI,CAAC;IACnD,CAAC;IAEM,KAAK,CAAC,OAAO;QAClB,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,KAAK,EAAE,CAAC;QAC9C,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC,KAAK,EAAE,CAAC;QAC1D,MAAM,OAAO,CAAC,GAAG,CAAC;YAChB,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE;YAC7B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC,KAAK,EAAE;SAClD,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC"}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { LayoutSelectionPage } from './layout-selection.js';
|
|
2
|
-
const SAVE_BUTTON = 'input[id$=":form:SaveButton"]';
|
|
3
|
-
const MODAL_CONFIRM_BUTTON = 'input[id="splitsMassOperationConfirmDialog_overlayConfirmButton"]';
|
|
4
|
-
export class SetupPage {
|
|
5
|
-
static PATH = 'opp/opportunitySplitSetupEdit.apexp?setupid=OpportunitySplitSetup';
|
|
6
|
-
page;
|
|
7
|
-
constructor(page) {
|
|
8
|
-
this.page = page;
|
|
9
|
-
}
|
|
10
|
-
async enable() {
|
|
11
|
-
await this.page.locator(SAVE_BUTTON).click();
|
|
12
|
-
await Promise.all([
|
|
13
|
-
this.page.waitForNavigation(),
|
|
14
|
-
this.page.locator(MODAL_CONFIRM_BUTTON).click(),
|
|
15
|
-
]);
|
|
16
|
-
return new LayoutSelectionPage(this.page);
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
//# sourceMappingURL=setup.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"setup.js","sourceRoot":"","sources":["../../../../src/plugins/opportunity-splits/pages/setup.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,MAAM,WAAW,GAAG,+BAA+B,CAAC;AACpD,MAAM,oBAAoB,GACxB,mEAAmE,CAAC;AAEtE,MAAM,OAAO,SAAS;IACpB,MAAM,CAAC,IAAI,GACT,mEAAmE,CAAC;IAC9D,IAAI,CAAO;IAEnB,YAAY,IAAU;QACpB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEM,KAAK,CAAC,MAAM;QACjB,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,KAAK,EAAE,CAAC;QAC7C,MAAM,OAAO,CAAC,GAAG,CAAC;YAChB,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE;YAC7B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,KAAK,EAAE;SAChD,CAAC,CAAC;QACH,OAAO,IAAI,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { BrowserforcePlugin } from '../../plugin.js';
|
|
2
|
-
type PermissionSet = {
|
|
3
|
-
permissionSetName: string;
|
|
4
|
-
servicePresenceStatuses: string[];
|
|
5
|
-
};
|
|
6
|
-
export declare class PermissionSets extends BrowserforcePlugin {
|
|
7
|
-
retrieve(definition?: PermissionSet[]): Promise<PermissionSet[]>;
|
|
8
|
-
apply(plan: PermissionSet[]): Promise<void>;
|
|
9
|
-
}
|
|
10
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import assert from 'assert';
|
|
2
|
-
import * as child from 'child_process';
|
|
3
|
-
import { fileURLToPath } from 'node:url';
|
|
4
|
-
import * as path from 'path';
|
|
5
|
-
import { PermissionSets } from './index.js';
|
|
6
|
-
const __dirname = fileURLToPath(new URL('.', import.meta.url));
|
|
7
|
-
describe(PermissionSets.name, function () {
|
|
8
|
-
this.timeout('10m');
|
|
9
|
-
let plugin;
|
|
10
|
-
before(() => {
|
|
11
|
-
plugin = new PermissionSets(global.bf);
|
|
12
|
-
});
|
|
13
|
-
const configurePermissionSet = [
|
|
14
|
-
{
|
|
15
|
-
permissionSetName: 'ServicePresenceTest',
|
|
16
|
-
servicePresenceStatuses: ['TestStatus', 'TestStatus3'],
|
|
17
|
-
},
|
|
18
|
-
];
|
|
19
|
-
it('should create permission set and service presence status as a prerequisite', () => {
|
|
20
|
-
const sourceDeployCmd = child.spawnSync('sf', [
|
|
21
|
-
'project',
|
|
22
|
-
'deploy',
|
|
23
|
-
'start',
|
|
24
|
-
'-d',
|
|
25
|
-
path.join(__dirname, 'sfdx-source'),
|
|
26
|
-
'--json',
|
|
27
|
-
]);
|
|
28
|
-
assert.deepStrictEqual(sourceDeployCmd.status, 0, sourceDeployCmd.output.toString());
|
|
29
|
-
});
|
|
30
|
-
it('should configure permission set presence status', async () => {
|
|
31
|
-
await plugin.run(configurePermissionSet);
|
|
32
|
-
const res = await plugin.retrieve(configurePermissionSet);
|
|
33
|
-
assert.deepStrictEqual(res, configurePermissionSet);
|
|
34
|
-
});
|
|
35
|
-
});
|
|
36
|
-
//# sourceMappingURL=index.e2e-spec.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.e2e-spec.js","sourceRoot":"","sources":["../../../src/plugins/permission-sets/index.e2e-spec.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,KAAK,KAAK,MAAM,eAAe,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAE5C,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAE/D,QAAQ,CAAC,cAAc,CAAC,IAAI,EAAE;IAC5B,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACpB,IAAI,MAAsB,CAAC;IAC3B,MAAM,CAAC,GAAG,EAAE;QACV,MAAM,GAAG,IAAI,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;IAEH,MAAM,sBAAsB,GAAG;QAC7B;YACE,iBAAiB,EAAE,qBAAqB;YACxC,uBAAuB,EAAE,CAAC,YAAY,EAAE,aAAa,CAAC;SACvD;KACF,CAAC;IAEF,EAAE,CAAC,4EAA4E,EAAE,GAAG,EAAE;QACpF,MAAM,eAAe,GAAG,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE;YAC5C,SAAS;YACT,QAAQ;YACR,OAAO;YACP,IAAI;YACJ,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC;YACnC,QAAQ;SACT,CAAC,CAAC;QACH,MAAM,CAAC,eAAe,CACpB,eAAe,CAAC,MAAM,EACtB,CAAC,EACD,eAAe,CAAC,MAAM,CAAC,QAAQ,EAAE,CAClC,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iDAAiD,EAAE,KAAK,IAAI,EAAE;QAC/D,MAAM,MAAM,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;QACzC,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC;QAC1D,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,sBAAsB,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|