sfdx-browserforce-plugin 5.1.2 → 5.2.0-next.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +54 -16
- package/lib/browserforce-command.js +2 -2
- package/lib/browserforce-command.js.map +1 -1
- package/lib/browserforce.d.ts +5 -5
- package/lib/browserforce.js +56 -54
- package/lib/browserforce.js.map +1 -1
- package/lib/pages/login.d.ts +1 -2
- package/lib/pages/login.js +6 -20
- package/lib/pages/login.js.map +1 -1
- package/lib/plugins/activity-settings/index.js +10 -10
- package/lib/plugins/activity-settings/index.js.map +1 -1
- package/lib/plugins/company-information/index.js +22 -20
- package/lib/plugins/company-information/index.js.map +1 -1
- package/lib/plugins/customer-portal/available-custom-objects/index.js +5 -5
- package/lib/plugins/customer-portal/available-custom-objects/index.js.map +1 -1
- package/lib/plugins/customer-portal/enabled/index.js +6 -7
- package/lib/plugins/customer-portal/enabled/index.js.map +1 -1
- package/lib/plugins/customer-portal/index.e2e-spec.js +6 -13
- package/lib/plugins/customer-portal/index.e2e-spec.js.map +1 -1
- package/lib/plugins/customer-portal/portals/index.js +66 -35
- package/lib/plugins/customer-portal/portals/index.js.map +1 -1
- package/lib/plugins/density-settings/index.d.ts +1 -8
- package/lib/plugins/density-settings/index.js +42 -29
- package/lib/plugins/density-settings/index.js.map +1 -1
- package/lib/plugins/email-deliverability/index.js +8 -10
- package/lib/plugins/email-deliverability/index.js.map +1 -1
- package/lib/plugins/high-velocity-sales-settings/page.d.ts +1 -1
- package/lib/plugins/high-velocity-sales-settings/page.js +9 -11
- package/lib/plugins/high-velocity-sales-settings/page.js.map +1 -1
- package/lib/plugins/history-tracking/index.e2e-spec.js +5 -0
- package/lib/plugins/history-tracking/index.e2e-spec.js.map +1 -1
- package/lib/plugins/history-tracking/index.js +32 -20
- package/lib/plugins/history-tracking/index.js.map +1 -1
- package/lib/plugins/home-page-layouts/index.js +18 -11
- package/lib/plugins/home-page-layouts/index.js.map +1 -1
- package/lib/plugins/lightning-experience-settings/index.d.ts +2 -3
- package/lib/plugins/lightning-experience-settings/index.e2e-spec.js +8 -0
- package/lib/plugins/lightning-experience-settings/index.e2e-spec.js.map +1 -1
- package/lib/plugins/lightning-experience-settings/index.js +48 -60
- package/lib/plugins/lightning-experience-settings/index.js.map +1 -1
- package/lib/plugins/linkedin-sales-navigator-settings/page.d.ts +1 -1
- package/lib/plugins/linkedin-sales-navigator-settings/page.js +17 -12
- package/lib/plugins/linkedin-sales-navigator-settings/page.js.map +1 -1
- package/lib/plugins/omni-channel-settings/index.e2e-spec.js +4 -0
- package/lib/plugins/omni-channel-settings/index.e2e-spec.js.map +1 -1
- package/lib/plugins/omni-channel-settings/index.js +9 -14
- package/lib/plugins/omni-channel-settings/index.js.map +1 -1
- package/lib/plugins/opportunity-splits/index.js +4 -4
- package/lib/plugins/opportunity-splits/index.js.map +1 -1
- package/lib/plugins/opportunity-splits/pages/layout-selection.d.ts +1 -1
- package/lib/plugins/opportunity-splits/pages/layout-selection.js +2 -4
- package/lib/plugins/opportunity-splits/pages/layout-selection.js.map +1 -1
- package/lib/plugins/opportunity-splits/pages/overview.d.ts +1 -1
- package/lib/plugins/opportunity-splits/pages/overview.js +6 -11
- package/lib/plugins/opportunity-splits/pages/overview.js.map +1 -1
- package/lib/plugins/opportunity-splits/pages/setup.d.ts +1 -1
- package/lib/plugins/opportunity-splits/pages/setup.js +2 -4
- package/lib/plugins/opportunity-splits/pages/setup.js.map +1 -1
- package/lib/plugins/permission-sets/index.e2e-spec.js +16 -5
- package/lib/plugins/permission-sets/index.e2e-spec.js.map +1 -1
- package/lib/plugins/permission-sets/index.js +2 -2
- package/lib/plugins/permission-sets/index.js.map +1 -1
- package/lib/plugins/permission-sets/service-presence-status/index.js +35 -24
- package/lib/plugins/permission-sets/service-presence-status/index.js.map +1 -1
- package/lib/plugins/picklists/field-dependencies/pages.d.ts +2 -2
- package/lib/plugins/picklists/field-dependencies/pages.js +19 -18
- package/lib/plugins/picklists/field-dependencies/pages.js.map +1 -1
- package/lib/plugins/picklists/index.e2e-spec.js +38 -32
- package/lib/plugins/picklists/index.e2e-spec.js.map +1 -1
- package/lib/plugins/picklists/pages.d.ts +5 -4
- package/lib/plugins/picklists/pages.js +59 -66
- package/lib/plugins/picklists/pages.js.map +1 -1
- package/lib/plugins/record-types/index.d.ts +1 -0
- package/lib/plugins/record-types/index.e2e-spec.js +4 -0
- package/lib/plugins/record-types/index.e2e-spec.js.map +1 -1
- package/lib/plugins/record-types/index.js +7 -5
- package/lib/plugins/record-types/index.js.map +1 -1
- package/lib/plugins/record-types/pages.d.ts +2 -3
- package/lib/plugins/record-types/pages.js +17 -28
- package/lib/plugins/record-types/pages.js.map +1 -1
- package/lib/plugins/relate-contact-to-multiple-accounts/index.d.ts +1 -1
- package/lib/plugins/relate-contact-to-multiple-accounts/index.e2e-spec.js +1 -0
- package/lib/plugins/relate-contact-to-multiple-accounts/index.e2e-spec.js.map +1 -1
- package/lib/plugins/relate-contact-to-multiple-accounts/index.js +33 -44
- package/lib/plugins/relate-contact-to-multiple-accounts/index.js.map +1 -1
- package/lib/plugins/reports-and-dashboards/folder-sharing/index.js +16 -13
- package/lib/plugins/reports-and-dashboards/folder-sharing/index.js.map +1 -1
- package/lib/plugins/salesforce-cpq-config/formConfig.js +12 -12
- package/lib/plugins/salesforce-cpq-config/formConfig.js.map +1 -1
- package/lib/plugins/salesforce-cpq-config/index.js +77 -68
- package/lib/plugins/salesforce-cpq-config/index.js.map +1 -1
- package/lib/plugins/salesforce-to-salesforce/index.e2e-spec.js +1 -0
- package/lib/plugins/salesforce-to-salesforce/index.e2e-spec.js.map +1 -1
- package/lib/plugins/salesforce-to-salesforce/index.js +8 -16
- package/lib/plugins/salesforce-to-salesforce/index.js.map +1 -1
- package/lib/plugins/security/authentication-configuration/index.e2e-spec.js +3 -11
- package/lib/plugins/security/authentication-configuration/index.e2e-spec.js.map +1 -1
- package/lib/plugins/security/authentication-configuration/index.js +14 -13
- package/lib/plugins/security/authentication-configuration/index.js.map +1 -1
- package/lib/plugins/security/certificate-and-key-management/index.e2e-spec.js +23 -6
- package/lib/plugins/security/certificate-and-key-management/index.e2e-spec.js.map +1 -1
- package/lib/plugins/security/certificate-and-key-management/index.js +26 -28
- package/lib/plugins/security/certificate-and-key-management/index.js.map +1 -1
- package/lib/plugins/service-channels/capacity/index.js +66 -38
- package/lib/plugins/service-channels/capacity/index.js.map +1 -1
- package/lib/plugins/service-channels/index.e2e-spec.js +11 -0
- package/lib/plugins/service-channels/index.e2e-spec.js.map +1 -1
- package/lib/plugins/service-channels/index.js +2 -2
- package/lib/plugins/service-channels/index.js.map +1 -1
- package/lib/plugins/slack/index.js +12 -18
- package/lib/plugins/slack/index.js.map +1 -1
- package/lib/plugins/user-access-policies/index.e2e-spec.js +4 -2
- package/lib/plugins/user-access-policies/index.e2e-spec.js.map +1 -1
- package/lib/plugins/user-access-policies/index.js +4 -2
- package/lib/plugins/user-access-policies/index.js.map +1 -1
- package/lib/plugins/user-access-policies/page.d.ts +2 -2
- package/lib/plugins/user-access-policies/page.js +34 -54
- package/lib/plugins/user-access-policies/page.js.map +1 -1
- package/oclif.manifest.json +1 -11
- package/package.json +2 -2
|
@@ -12,21 +12,21 @@ export class OpportunitySplits extends BrowserforcePlugin {
|
|
|
12
12
|
return response;
|
|
13
13
|
}
|
|
14
14
|
async apply(config) {
|
|
15
|
-
let page;
|
|
16
15
|
if (config.enabled) {
|
|
17
|
-
page = await this.browserforce.openPage(SetupPage.PATH);
|
|
16
|
+
const page = await this.browserforce.openPage(SetupPage.PATH);
|
|
18
17
|
const setupPage = new SetupPage(page);
|
|
19
18
|
const layoutSelectionPage = await setupPage.enable();
|
|
20
19
|
const overviewPage = await layoutSelectionPage.choose();
|
|
21
20
|
await overviewPage.waitUntilCompleted();
|
|
21
|
+
await page.close();
|
|
22
22
|
}
|
|
23
23
|
else {
|
|
24
|
-
page = await this.browserforce.openPage(OverviewPage.PATH);
|
|
24
|
+
const page = await this.browserforce.openPage(OverviewPage.PATH);
|
|
25
25
|
const overviewPage = new OverviewPage(page);
|
|
26
26
|
await overviewPage.disable();
|
|
27
27
|
await overviewPage.waitUntilCompleted();
|
|
28
|
+
await page.close();
|
|
28
29
|
}
|
|
29
|
-
await page.close();
|
|
30
30
|
}
|
|
31
31
|
}
|
|
32
32
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/opportunity-splits/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/opportunity-splits/index.ts"],"names":[],"mappings":"AAAA,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,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAC9D,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;YACxC,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QACrB,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YACjE,MAAM,YAAY,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC;YAC5C,MAAM,YAAY,CAAC,OAAO,EAAE,CAAC;YAC7B,MAAM,YAAY,CAAC,kBAAkB,EAAE,CAAC;YACxC,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QACrB,CAAC;IACH,CAAC;CACF"}
|
|
@@ -7,10 +7,8 @@ export class LayoutSelectionPage {
|
|
|
7
7
|
this.page = page;
|
|
8
8
|
}
|
|
9
9
|
async choose() {
|
|
10
|
-
await
|
|
11
|
-
|
|
12
|
-
this.page.locator(SAVE_BUTTON).click(),
|
|
13
|
-
]);
|
|
10
|
+
await this.page.locator(SAVE_BUTTON).click();
|
|
11
|
+
await this.page.waitForURL((url) => url.pathname === '/opp/opportunitySplitSetupOverview.apexp');
|
|
14
12
|
return new OverviewPage(this.page);
|
|
15
13
|
}
|
|
16
14
|
}
|
|
@@ -1 +1 @@
|
|
|
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,
|
|
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,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,KAAK,EAAE,CAAC;QAC7C,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CACxB,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,KAAK,0CAA0C,CACrE,CAAC;QACF,OAAO,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrC,CAAC"}
|
|
@@ -11,27 +11,22 @@ export class OverviewPage {
|
|
|
11
11
|
}
|
|
12
12
|
async isEnabled() {
|
|
13
13
|
await this.waitUntilCompleted();
|
|
14
|
-
return (
|
|
15
|
-
(await this.page
|
|
14
|
+
return (this.page.url().includes(OverviewPage.PATH) &&
|
|
15
|
+
(await this.page.locator(DISABLE_LINK).count()) > 0);
|
|
16
16
|
}
|
|
17
17
|
async waitUntilCompleted() {
|
|
18
18
|
if (await this.isInProgress()) {
|
|
19
|
-
await this.page
|
|
20
|
-
.locator(COMPLETED)
|
|
21
|
-
.setTimeout(10 * 60 * 1000) // 10 minutes
|
|
22
|
-
.wait();
|
|
19
|
+
await this.page.locator(COMPLETED).waitFor({ timeout: 10 * 60 * 1000 }); // 10 minutes
|
|
23
20
|
}
|
|
24
21
|
}
|
|
25
22
|
async isInProgress() {
|
|
26
|
-
return (await this.page
|
|
23
|
+
return (await this.page.locator(IN_PROGRESS).count()) > 0;
|
|
27
24
|
}
|
|
28
25
|
async disable() {
|
|
29
26
|
await this.page.locator(DISABLE_LINK).click();
|
|
30
27
|
await this.page.locator(DISABLE_CONFIRM_CHECKBOX).click();
|
|
31
|
-
await
|
|
32
|
-
|
|
33
|
-
this.page.locator(DISABLE_CONFIRM_BUTTON).click(),
|
|
34
|
-
]);
|
|
28
|
+
await this.page.locator(DISABLE_CONFIRM_BUTTON).click();
|
|
29
|
+
await this.page.waitForURL((url) => url.pathname === '/opp/opportunitySplitSetupLanding.apexp');
|
|
35
30
|
return this;
|
|
36
31
|
}
|
|
37
32
|
}
|
|
@@ -1 +1 @@
|
|
|
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,
|
|
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,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC;YAC3C,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CACpD,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,kBAAkB;QAC7B,IAAI,MAAM,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;YAC9B,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,aAAa;QACxF,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,YAAY;QACvB,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC;IAC5D,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,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC,KAAK,EAAE,CAAC;QACxD,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CACxB,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,KAAK,yCAAyC,CACpE,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC"}
|
|
@@ -9,10 +9,8 @@ export class SetupPage {
|
|
|
9
9
|
}
|
|
10
10
|
async enable() {
|
|
11
11
|
await this.page.locator(SAVE_BUTTON).click();
|
|
12
|
-
await
|
|
13
|
-
|
|
14
|
-
this.page.locator(MODAL_CONFIRM_BUTTON).click(),
|
|
15
|
-
]);
|
|
12
|
+
await this.page.locator(MODAL_CONFIRM_BUTTON).click();
|
|
13
|
+
await this.page.waitForURL((url) => url.pathname === '/opp/opportunitySplitSetupLayout.apexp');
|
|
16
14
|
return new LayoutSelectionPage(this.page);
|
|
17
15
|
}
|
|
18
16
|
}
|
|
@@ -1 +1 @@
|
|
|
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,
|
|
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,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,KAAK,EAAE,CAAC;QACtD,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,CACxB,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,KAAK,wCAAwC,CACnE,CAAC;QACF,OAAO,IAAI,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5C,CAAC"}
|
|
@@ -10,12 +10,18 @@ describe(PermissionSets.name, function () {
|
|
|
10
10
|
before(() => {
|
|
11
11
|
plugin = new PermissionSets(global.bf);
|
|
12
12
|
});
|
|
13
|
-
const
|
|
13
|
+
const addConfigurePermissionSet = [
|
|
14
14
|
{
|
|
15
15
|
permissionSetName: 'ServicePresenceTest',
|
|
16
16
|
servicePresenceStatuses: ['TestStatus', 'TestStatus3'],
|
|
17
17
|
},
|
|
18
18
|
];
|
|
19
|
+
const removeConfigurePermissionSet = [
|
|
20
|
+
{
|
|
21
|
+
permissionSetName: 'ServicePresenceTest',
|
|
22
|
+
servicePresenceStatuses: [],
|
|
23
|
+
},
|
|
24
|
+
];
|
|
19
25
|
it('should create permission set and service presence status as a prerequisite', () => {
|
|
20
26
|
const sourceDeployCmd = child.spawnSync('sf', [
|
|
21
27
|
'project',
|
|
@@ -27,10 +33,15 @@ describe(PermissionSets.name, function () {
|
|
|
27
33
|
]);
|
|
28
34
|
assert.deepStrictEqual(sourceDeployCmd.status, 0, sourceDeployCmd.output.toString());
|
|
29
35
|
});
|
|
30
|
-
it('should
|
|
31
|
-
await plugin.run(
|
|
32
|
-
const res = await plugin.retrieve(
|
|
33
|
-
assert.deepStrictEqual(res,
|
|
36
|
+
it('should add permission set presence status', async () => {
|
|
37
|
+
await plugin.run(addConfigurePermissionSet);
|
|
38
|
+
const res = await plugin.retrieve(addConfigurePermissionSet);
|
|
39
|
+
assert.deepStrictEqual(res, addConfigurePermissionSet);
|
|
40
|
+
});
|
|
41
|
+
it('should remove permission set presence status', async () => {
|
|
42
|
+
await plugin.run(removeConfigurePermissionSet);
|
|
43
|
+
const res = await plugin.retrieve(removeConfigurePermissionSet);
|
|
44
|
+
assert.deepStrictEqual(res, removeConfigurePermissionSet);
|
|
34
45
|
});
|
|
35
46
|
});
|
|
36
47
|
//# sourceMappingURL=index.e2e-spec.js.map
|
|
@@ -1 +1 @@
|
|
|
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,
|
|
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,yBAAyB,GAAG;QAChC;YACE,iBAAiB,EAAE,qBAAqB;YACxC,uBAAuB,EAAE,CAAC,YAAY,EAAE,aAAa,CAAC;SACvD;KACF,CAAC;IAEF,MAAM,4BAA4B,GAAG;QACnC;YACE,iBAAiB,EAAE,qBAAqB;YACxC,uBAAuB,EAAE,EAAE;SAC5B;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,2CAA2C,EAAE,KAAK,IAAI,EAAE;QACzD,MAAM,MAAM,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;QAC5C,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAC;QAC7D,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,yBAAyB,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;QAC5D,MAAM,MAAM,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;QAC/C,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,4BAA4B,CAAC,CAAC;QAChE,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,4BAA4B,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -4,7 +4,7 @@ export class PermissionSets extends BrowserforcePlugin {
|
|
|
4
4
|
async retrieve(definition) {
|
|
5
5
|
const pluginServicePresenceStatus = new ServicePresenceStatus(this.browserforce);
|
|
6
6
|
const permissionSets = [];
|
|
7
|
-
for
|
|
7
|
+
for (const permissionSet of definition) {
|
|
8
8
|
permissionSets.push({
|
|
9
9
|
permissionSetName: permissionSet.permissionSetName,
|
|
10
10
|
servicePresenceStatuses: await pluginServicePresenceStatus.retrieve(permissionSet),
|
|
@@ -14,7 +14,7 @@ export class PermissionSets extends BrowserforcePlugin {
|
|
|
14
14
|
}
|
|
15
15
|
async apply(plan) {
|
|
16
16
|
const pluginServicePresenceStatus = new ServicePresenceStatus(this.browserforce);
|
|
17
|
-
for
|
|
17
|
+
for (const permissionSet of plan) {
|
|
18
18
|
await pluginServicePresenceStatus.apply(permissionSet);
|
|
19
19
|
}
|
|
20
20
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/permission-sets/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAO3E,MAAM,OAAO,cAAe,SAAQ,kBAAkB;IAC7C,KAAK,CAAC,QAAQ,CACnB,UAA4B;QAE5B,MAAM,2BAA2B,GAAG,IAAI,qBAAqB,CAC3D,IAAI,CAAC,YAAY,CAClB,CAAC;QAEF,MAAM,cAAc,GAAoB,EAAE,CAAC;QAE3C,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/permission-sets/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAO3E,MAAM,OAAO,cAAe,SAAQ,kBAAkB;IAC7C,KAAK,CAAC,QAAQ,CACnB,UAA4B;QAE5B,MAAM,2BAA2B,GAAG,IAAI,qBAAqB,CAC3D,IAAI,CAAC,YAAY,CAClB,CAAC;QAEF,MAAM,cAAc,GAAoB,EAAE,CAAC;QAE3C,KAAK,MAAM,aAAa,IAAI,UAAU,EAAE,CAAC;YACvC,cAAc,CAAC,IAAI,CAAC;gBAClB,iBAAiB,EAAE,aAAa,CAAC,iBAAiB;gBAClD,uBAAuB,EAAE,MAAM,2BAA2B,CAAC,QAAQ,CACjE,aAAa,CACd;aACF,CAAC,CAAC;QACL,CAAC;QAED,OAAO,cAAc,CAAC;IACxB,CAAC;IAEM,KAAK,CAAC,KAAK,CAAC,IAAqB;QACtC,MAAM,2BAA2B,GAAG,IAAI,qBAAqB,CAC3D,IAAI,CAAC,YAAY,CAClB,CAAC;QAEF,KAAK,MAAM,aAAa,IAAI,IAAI,EAAE,CAAC;YACjC,MAAM,2BAA2B,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;CACF"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
+
import { waitForPageErrors } from '../../../browserforce.js';
|
|
1
2
|
import { BrowserforcePlugin } from '../../../plugin.js';
|
|
2
3
|
const ADD_BUTTON_SELECTOR = 'a[id$=":duelingListBox:backingList_add"]';
|
|
3
4
|
const REMOVE_BUTTON_SELECTOR = 'a[id$=":duelingListBox:backingList_remove"]';
|
|
4
5
|
const SAVE_BUTTON_SELECTOR = 'input[id$=":button_pc_save"]';
|
|
5
|
-
const VALUES_AVAILABLE_SELECTOR = 'select[id$=":duelingListBox:backingList_a"]
|
|
6
|
-
const VALUES_ENABLED_SELECTOR = 'select[id$=":duelingListBox:backingList_s"]
|
|
6
|
+
const VALUES_AVAILABLE_SELECTOR = 'select[id$=":duelingListBox:backingList_a"]';
|
|
7
|
+
const VALUES_ENABLED_SELECTOR = 'select[id$=":duelingListBox:backingList_s"]';
|
|
7
8
|
export class ServicePresenceStatus extends BrowserforcePlugin {
|
|
8
9
|
async retrieve(definition) {
|
|
9
10
|
// Query for the permission set
|
|
@@ -13,9 +14,12 @@ export class ServicePresenceStatus extends BrowserforcePlugin {
|
|
|
13
14
|
.singleRecordQuery(`SELECT Id FROM PermissionSet WHERE Name='${permissionSetName}'`);
|
|
14
15
|
// Open the permission set setup page
|
|
15
16
|
const page = await this.browserforce.openPage(`${permissionSet.Id}/e?s=ServicePresenceStatusAccess`);
|
|
16
|
-
const enabledServicePresenceStatuses = await page
|
|
17
|
-
|
|
17
|
+
const enabledServicePresenceStatuses = await page
|
|
18
|
+
.locator(`${VALUES_ENABLED_SELECTOR} > option:not(:disabled)`)
|
|
19
|
+
.evaluateAll((options) => {
|
|
20
|
+
return options.map((option) => option.title);
|
|
18
21
|
});
|
|
22
|
+
await page.close();
|
|
19
23
|
return enabledServicePresenceStatuses;
|
|
20
24
|
}
|
|
21
25
|
async apply(config) {
|
|
@@ -24,34 +28,41 @@ export class ServicePresenceStatus extends BrowserforcePlugin {
|
|
|
24
28
|
const permissionSet = await this.org
|
|
25
29
|
.getConnection()
|
|
26
30
|
.singleRecordQuery(`SELECT Id FROM PermissionSet WHERE Name='${permissionSetName}'`);
|
|
27
|
-
// Open the permission set setup page
|
|
28
31
|
const page = await this.browserforce.openPage(`${permissionSet.Id}/e?s=ServicePresenceStatusAccess`);
|
|
29
32
|
if (config?.servicePresenceStatuses) {
|
|
30
|
-
await page
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
33
|
+
const availableOptions = await page
|
|
34
|
+
.locator(`${VALUES_AVAILABLE_SELECTOR} > option:not(:disabled)`)
|
|
35
|
+
.evaluateAll((options) => {
|
|
36
|
+
return options.map((option) => option.title);
|
|
37
|
+
});
|
|
38
|
+
const enabledOptions = await page
|
|
39
|
+
.locator(`${VALUES_ENABLED_SELECTOR} > option:not(:disabled)`)
|
|
40
|
+
.evaluateAll((options) => {
|
|
41
|
+
return options.map((option) => option.title);
|
|
42
|
+
});
|
|
43
|
+
for (const optionTitle of availableOptions) {
|
|
44
|
+
if (config.servicePresenceStatuses.includes(optionTitle)) {
|
|
45
|
+
await page
|
|
46
|
+
.getByRole('option', { name: optionTitle, exact: true })
|
|
47
|
+
.click();
|
|
48
|
+
await page.locator(ADD_BUTTON_SELECTOR).click();
|
|
38
49
|
}
|
|
39
50
|
}
|
|
40
|
-
|
|
41
|
-
const
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
await
|
|
47
|
-
await page.click(REMOVE_BUTTON_SELECTOR);
|
|
51
|
+
// Find first option that needs to be removed
|
|
52
|
+
for (const optionTitle of enabledOptions) {
|
|
53
|
+
if (!config.servicePresenceStatuses.includes(optionTitle)) {
|
|
54
|
+
await page
|
|
55
|
+
.getByRole('option', { name: optionTitle, exact: true })
|
|
56
|
+
.click();
|
|
57
|
+
await page.locator(REMOVE_BUTTON_SELECTOR).click();
|
|
48
58
|
}
|
|
49
59
|
}
|
|
50
60
|
}
|
|
51
61
|
// Save the settings and wait for page refresh
|
|
52
|
-
await
|
|
53
|
-
|
|
54
|
-
page.
|
|
62
|
+
await page.locator(SAVE_BUTTON_SELECTOR).click();
|
|
63
|
+
await Promise.race([
|
|
64
|
+
page.waitForURL((url) => !url.pathname.endsWith('/e')),
|
|
65
|
+
waitForPageErrors(page),
|
|
55
66
|
]);
|
|
56
67
|
// Close the page
|
|
57
68
|
await page.close();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/plugins/permission-sets/service-presence-status/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAExD,MAAM,mBAAmB,GAAG,0CAA0C,CAAC;AACvE,MAAM,sBAAsB,GAAG,6CAA6C,CAAC;AAC7E,MAAM,oBAAoB,GAAG,8BAA8B,CAAC;AAC5D,MAAM,yBAAyB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/plugins/permission-sets/service-presence-status/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Page } from '
|
|
1
|
+
import type { Page } from 'playwright';
|
|
2
2
|
export declare class FieldDependencyPage {
|
|
3
3
|
private page;
|
|
4
4
|
constructor(page: Page);
|
|
@@ -6,7 +6,7 @@ export declare class FieldDependencyPage {
|
|
|
6
6
|
clickDeleteDependencyActionForField(customFieldId: string): Promise<FieldDependencyPage>;
|
|
7
7
|
}
|
|
8
8
|
export declare class NewFieldDependencyPage {
|
|
9
|
-
protected page:
|
|
9
|
+
protected page: Page;
|
|
10
10
|
protected saveButton: string;
|
|
11
11
|
constructor(page: Page);
|
|
12
12
|
static getUrl(customObjectId: string, dependentFieldId: string, controllingFieldId: string): string;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { waitForPageErrors } from '../../../browserforce.js';
|
|
2
2
|
export class FieldDependencyPage {
|
|
3
3
|
page;
|
|
4
4
|
constructor(page) {
|
|
@@ -9,18 +9,21 @@ export class FieldDependencyPage {
|
|
|
9
9
|
}
|
|
10
10
|
async clickDeleteDependencyActionForField(customFieldId) {
|
|
11
11
|
// wait for "new" button in field dependencies releated list header
|
|
12
|
-
await this.page
|
|
12
|
+
await this.page
|
|
13
|
+
.locator('div.listRelatedObject div.pbHeader input[name="new"]')
|
|
14
|
+
.waitFor();
|
|
13
15
|
const xpath = `//a[contains(@href, "/p/dependency/NewDependencyUI/e") and contains(@href, "delID=${customFieldId.substring(0, 15)}")]`;
|
|
14
|
-
const
|
|
15
|
-
if (
|
|
16
|
+
const actionLinks = await this.page.locator(`xpath=${xpath}`).all();
|
|
17
|
+
if (actionLinks.length > 0) {
|
|
16
18
|
this.page.on('dialog', async (dialog) => {
|
|
17
19
|
await dialog.accept();
|
|
18
20
|
});
|
|
19
|
-
|
|
20
|
-
this.page.
|
|
21
|
-
this.page
|
|
21
|
+
const promise = Promise.race([
|
|
22
|
+
this.page.waitForResponse(/setup\/ui\/dependencyList.jsp/),
|
|
23
|
+
waitForPageErrors(this.page),
|
|
22
24
|
]);
|
|
23
|
-
await
|
|
25
|
+
await actionLinks[0].click();
|
|
26
|
+
await promise;
|
|
24
27
|
}
|
|
25
28
|
return new FieldDependencyPage(this.page);
|
|
26
29
|
}
|
|
@@ -35,22 +38,20 @@ export class NewFieldDependencyPage {
|
|
|
35
38
|
return `p/dependency/NewDependencyUI/e?tableEnumOrId=${customObjectId.substring(0, 15)}&setupid=CustomObjects&controller=${controllingFieldId.substring(0, 15)}&dependent=${dependentFieldId.substring(0, 15)}&retURL=/${customObjectId.substring(0, 15)}`;
|
|
36
39
|
}
|
|
37
40
|
async save() {
|
|
38
|
-
await this.page.
|
|
39
|
-
await Promise.
|
|
40
|
-
this.page.
|
|
41
|
-
this.page
|
|
41
|
+
await this.page.locator(this.saveButton).first().click();
|
|
42
|
+
await Promise.race([
|
|
43
|
+
this.page.waitForURL((url) => url.pathname === '/p/dependency/EditDependencyUI/e'),
|
|
44
|
+
waitForPageErrors(this.page),
|
|
42
45
|
]);
|
|
43
|
-
await throwPageErrors(this.page);
|
|
44
46
|
// second step in wizard
|
|
45
47
|
this.page.on('dialog', async (dialog) => {
|
|
46
48
|
await dialog.accept();
|
|
47
49
|
});
|
|
48
|
-
await this.page.
|
|
49
|
-
await Promise.
|
|
50
|
-
this.page.
|
|
51
|
-
this.page
|
|
50
|
+
await this.page.locator(this.saveButton).first().click();
|
|
51
|
+
await Promise.race([
|
|
52
|
+
this.page.waitForURL((url) => /\/01I\w{12}/.test(url.pathname)),
|
|
53
|
+
waitForPageErrors(this.page),
|
|
52
54
|
]);
|
|
53
|
-
await throwPageErrors(this.page);
|
|
54
55
|
await this.page.close();
|
|
55
56
|
}
|
|
56
57
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pages.js","sourceRoot":"","sources":["../../../../src/plugins/picklists/field-dependencies/pages.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"pages.js","sourceRoot":"","sources":["../../../../src/plugins/picklists/field-dependencies/pages.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,6 +15,12 @@ describe(Picklists.name, function () {
|
|
|
15
15
|
before(() => {
|
|
16
16
|
plugin = new Picklists(global.bf);
|
|
17
17
|
});
|
|
18
|
+
after(() => {
|
|
19
|
+
it('should remove the CustomObject', async () => {
|
|
20
|
+
const conn = global.bf.org.getConnection();
|
|
21
|
+
await conn.metadata.delete('CustomObject', ['Vehicle__c']);
|
|
22
|
+
});
|
|
23
|
+
});
|
|
18
24
|
const configNew = readJsonFile('./new.json').settings.picklists;
|
|
19
25
|
const configReplace = readJsonFile('./replace.json').settings.picklists;
|
|
20
26
|
const configReplaceAndDelete = readJsonFile('./replace-and-delete.json')
|
|
@@ -63,38 +69,38 @@ describe(Picklists.name, function () {
|
|
|
63
69
|
it('should replace and deactivate a picklist value', async () => {
|
|
64
70
|
await plugin.run(configReplaceAndDeactivate);
|
|
65
71
|
});
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
.
|
|
75
|
-
|
|
76
|
-
.
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
72
|
+
describe(FieldDependencies.name, function () {
|
|
73
|
+
this.timeout('10m');
|
|
74
|
+
let plugin;
|
|
75
|
+
before(() => {
|
|
76
|
+
plugin = new FieldDependencies(global.bf);
|
|
77
|
+
});
|
|
78
|
+
const configSet = readJsonFile('./field-dependencies/set.json').settings
|
|
79
|
+
.picklists.fieldDependencies;
|
|
80
|
+
const configUnset = readJsonFile('./field-dependencies/unset.json').settings
|
|
81
|
+
.picklists.fieldDependencies;
|
|
82
|
+
const configChange = readJsonFile('./field-dependencies/change.json')
|
|
83
|
+
.settings.picklists.fieldDependencies;
|
|
84
|
+
it('should not do anything when the dependency is already set', async () => {
|
|
85
|
+
const res = await plugin.run(configSet);
|
|
86
|
+
assert.deepStrictEqual(res, { message: 'no action necessary' });
|
|
87
|
+
});
|
|
88
|
+
it('should unset a field dependency', async () => {
|
|
89
|
+
await plugin.run(configUnset);
|
|
90
|
+
});
|
|
91
|
+
it('should not do anything when the dependency is already unset', async () => {
|
|
92
|
+
const res = await plugin.run(configUnset);
|
|
93
|
+
assert.deepStrictEqual(res, { message: 'no action necessary' });
|
|
94
|
+
});
|
|
95
|
+
it('should set a field dependency', async () => {
|
|
96
|
+
await plugin.run(configSet);
|
|
97
|
+
});
|
|
98
|
+
it('should change a field dependency', async () => {
|
|
99
|
+
await plugin.run(configChange);
|
|
100
|
+
});
|
|
101
|
+
it('should change back a field dependency', async () => {
|
|
102
|
+
await plugin.run(configSet);
|
|
103
|
+
});
|
|
98
104
|
});
|
|
99
105
|
});
|
|
100
106
|
//# sourceMappingURL=index.e2e-spec.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.e2e-spec.js","sourceRoot":"","sources":["../../../src/plugins/picklists/index.e2e-spec.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,KAAK,KAAK,MAAM,eAAe,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAElE,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC/D,MAAM,YAAY,GAAG,UAAU,CAAS;IACtC,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;AACvE,CAAC,CAAC;AAEF,QAAQ,CAAC,SAAS,CAAC,IAAI,EAAE;IACvB,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACpB,IAAI,MAAiB,CAAC;IACtB,MAAM,CAAC,GAAG,EAAE;QACV,MAAM,GAAG,IAAI,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;IAEH,MAAM,SAAS,GAAG,YAAY,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC;IAChE,MAAM,aAAa,GAAG,YAAY,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC;IACxE,MAAM,sBAAsB,GAAG,YAAY,CAAC,2BAA2B,CAAC;SACrE,QAAQ,CAAC,SAAS,CAAC;IACtB,MAAM,gBAAgB,GAAG,YAAY,CAAC,mBAAmB,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC;IAC9E,MAAM,cAAc,GAAG,YAAY,CAAC,iBAAiB,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC;IAC1E,MAAM,0BAA0B,GAAG,YAAY,CAC7C,+BAA+B,CAChC,CAAC,QAAQ,CAAC,SAAS,CAAC;IAErB,EAAE,CAAC,0CAA0C,EAAE,GAAG,EAAE;QAClD,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,wDAAwD,EAAE,KAAK,IAAI,EAAE;QACtE,MAAM,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC9B,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,2DAA2D,EAAE,KAAK,IAAI,EAAE;QACzE,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACxC,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,qBAAqB,EAAE,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,gCAAgC,EAAE,KAAK,IAAI,EAAE;QAC9C,MAAM,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;QACzD,MAAM,MAAM,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,8DAA8D,EAAE,KAAK,IAAI,EAAE;QAC5E,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC;QACrD,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,qBAAqB,EAAE,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;QAChD,MAAM,MAAM,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,gCAAgC,EAAE,KAAK,IAAI,EAAE;QAC9C,MAAM,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,+DAA+D,EAAE,KAAK,IAAI,EAAE;QAC7E,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;IACH,EAAE,CAAC,gDAAgD,EAAE,KAAK,IAAI,EAAE;QAC9D,MAAM,MAAM,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.e2e-spec.js","sourceRoot":"","sources":["../../../src/plugins/picklists/index.e2e-spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Page } from '
|
|
1
|
+
import type { Page } from 'playwright';
|
|
2
2
|
type PicklistValue = {
|
|
3
3
|
value: string;
|
|
4
4
|
active: boolean;
|
|
@@ -13,21 +13,21 @@ export declare class PicklistPage {
|
|
|
13
13
|
clickActivateDeactivateActionForValue(picklistValueApiName: string, active: boolean): Promise<PicklistPage>;
|
|
14
14
|
}
|
|
15
15
|
export declare class DefaultPicklistAddPage {
|
|
16
|
-
protected page:
|
|
16
|
+
protected page: Page;
|
|
17
17
|
protected saveButton: string;
|
|
18
18
|
constructor(page: Page);
|
|
19
19
|
add(newValue: string): Promise<void>;
|
|
20
20
|
save(): Promise<void>;
|
|
21
21
|
}
|
|
22
22
|
export declare class StatusPicklistAddPage {
|
|
23
|
-
protected page:
|
|
23
|
+
protected page: Page;
|
|
24
24
|
protected saveButton: string;
|
|
25
25
|
constructor(page: Page);
|
|
26
26
|
add(newValue: string, statusCategory: string): Promise<void>;
|
|
27
27
|
save(): Promise<void>;
|
|
28
28
|
}
|
|
29
29
|
export declare class PicklistReplacePage {
|
|
30
|
-
protected page:
|
|
30
|
+
protected page: Page;
|
|
31
31
|
protected saveButton: string;
|
|
32
32
|
constructor(page: Page);
|
|
33
33
|
replace(value: string, newValue: string, replaceAllBlankValues?: boolean): Promise<void>;
|
|
@@ -36,5 +36,6 @@ export declare class PicklistReplacePage {
|
|
|
36
36
|
export declare class PicklistReplaceAndDeletePage extends PicklistReplacePage {
|
|
37
37
|
constructor(page: Page);
|
|
38
38
|
replaceAndDelete(newValue?: string): Promise<void>;
|
|
39
|
+
save(): Promise<void>;
|
|
39
40
|
}
|
|
40
41
|
export {};
|