sfdx-browserforce-plugin 5.1.2 → 5.2.0-next.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +54 -16
- package/lib/browserforce-command.js +2 -2
- package/lib/browserforce-command.js.map +1 -1
- package/lib/browserforce.d.ts +7 -3
- package/lib/browserforce.js +57 -32
- package/lib/browserforce.js.map +1 -1
- package/lib/pages/login.d.ts +1 -1
- package/lib/pages/login.js +5 -5
- package/lib/pages/login.js.map +1 -1
- package/lib/plugins/activity-settings/index.js +9 -6
- package/lib/plugins/activity-settings/index.js.map +1 -1
- package/lib/plugins/company-information/index.js +26 -16
- 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 +5 -6
- package/lib/plugins/customer-portal/enabled/index.js.map +1 -1
- package/lib/plugins/customer-portal/portals/index.js +68 -32
- 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 +37 -29
- package/lib/plugins/density-settings/index.js.map +1 -1
- package/lib/plugins/email-deliverability/index.js +11 -8
- 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 +7 -8
- package/lib/plugins/high-velocity-sales-settings/page.js.map +1 -1
- package/lib/plugins/history-tracking/index.js +21 -14
- package/lib/plugins/history-tracking/index.js.map +1 -1
- package/lib/plugins/home-page-layouts/index.js +16 -12
- package/lib/plugins/home-page-layouts/index.js.map +1 -1
- package/lib/plugins/lightning-experience-settings/index.d.ts +2 -2
- package/lib/plugins/lightning-experience-settings/index.js +42 -38
- package/lib/plugins/lightning-experience-settings/index.js.map +1 -1
- package/lib/plugins/linkedin-sales-navigator-settings/index.js +2 -2
- package/lib/plugins/linkedin-sales-navigator-settings/index.js.map +1 -1
- package/lib/plugins/linkedin-sales-navigator-settings/page.d.ts +4 -2
- package/lib/plugins/linkedin-sales-navigator-settings/page.js +18 -8
- 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 +6 -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/service-presence-status/index.js +32 -25
- package/lib/plugins/permission-sets/service-presence-status/index.js.map +1 -1
- package/lib/plugins/picklists/field-dependencies/pages.d.ts +1 -1
- package/lib/plugins/picklists/field-dependencies/pages.js +9 -17
- package/lib/plugins/picklists/field-dependencies/pages.js.map +1 -1
- package/lib/plugins/picklists/pages.d.ts +2 -1
- package/lib/plugins/picklists/pages.js +35 -63
- package/lib/plugins/picklists/pages.js.map +1 -1
- package/lib/plugins/record-types/pages.d.ts +1 -1
- package/lib/plugins/record-types/pages.js +15 -23
- 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.js +32 -42
- package/lib/plugins/relate-contact-to-multiple-accounts/index.js.map +1 -1
- package/lib/plugins/reports-and-dashboards/folder-sharing/index.js +18 -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 +87 -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.js +18 -13
- package/lib/plugins/security/authentication-configuration/index.js.map +1 -1
- package/lib/plugins/security/certificate-and-key-management/index.js +16 -21
- package/lib/plugins/security/certificate-and-key-management/index.js.map +1 -1
- package/lib/plugins/service-channels/capacity/index.js +64 -35
- package/lib/plugins/service-channels/capacity/index.js.map +1 -1
- package/lib/plugins/service-channels/index.e2e-spec.js +4 -0
- package/lib/plugins/service-channels/index.e2e-spec.js.map +1 -1
- package/lib/plugins/slack/index.js +13 -14
- 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 -51
- package/lib/plugins/user-access-policies/page.js.map +1 -1
- package/oclif.manifest.json +1 -11
- package/package.json +2 -2
|
@@ -94,11 +94,9 @@ export class CertificateAndKeyManagement extends BrowserforcePlugin {
|
|
|
94
94
|
urlAttributes['exp'] = certificate.exportable ? 1 : 0;
|
|
95
95
|
}
|
|
96
96
|
const page = await this.browserforce.openPage(`${CERT_PREFIX_PATH}/e?${queryString.stringify(urlAttributes)}`);
|
|
97
|
-
await page.
|
|
98
|
-
await
|
|
99
|
-
|
|
100
|
-
page.click(SAVE_BUTTON_SELECTOR),
|
|
101
|
-
]);
|
|
97
|
+
await page.locator(SAVE_BUTTON_SELECTOR).first().waitFor();
|
|
98
|
+
await page.locator(SAVE_BUTTON_SELECTOR).first().click();
|
|
99
|
+
await page.waitForLoadState('load');
|
|
102
100
|
await page.close();
|
|
103
101
|
}
|
|
104
102
|
}
|
|
@@ -106,8 +104,7 @@ export class CertificateAndKeyManagement extends BrowserforcePlugin {
|
|
|
106
104
|
if (plan.importFromKeystore) {
|
|
107
105
|
for (const certificate of plan.importFromKeystore) {
|
|
108
106
|
const page = await this.browserforce.openPage(`${KEYSTORE_IMPORT_PATH}`);
|
|
109
|
-
await page.
|
|
110
|
-
const elementHandle = (await page.$(FILE_UPLOAD_SELECTOR));
|
|
107
|
+
await page.locator(FILE_UPLOAD_SELECTOR).waitFor();
|
|
111
108
|
// TODO: make relative to this.command.flags.definitionfile
|
|
112
109
|
if (!certificate.filePath) {
|
|
113
110
|
throw new Error(`To import a certificate, the filePath is mandatory.`);
|
|
@@ -116,21 +113,21 @@ export class CertificateAndKeyManagement extends BrowserforcePlugin {
|
|
|
116
113
|
if (!existsSync(filePath)) {
|
|
117
114
|
throw new Error(`file does not exist: ${filePath}`);
|
|
118
115
|
}
|
|
119
|
-
await
|
|
116
|
+
await page.locator(FILE_UPLOAD_SELECTOR).setInputFiles(filePath);
|
|
120
117
|
if (certificate.password) {
|
|
121
|
-
await page.
|
|
122
|
-
await page
|
|
118
|
+
await page.locator(KEYSTORE_PASSWORD_SELECTOR).waitFor();
|
|
119
|
+
await page
|
|
120
|
+
.locator(KEYSTORE_PASSWORD_SELECTOR)
|
|
121
|
+
.fill(certificate.password);
|
|
123
122
|
}
|
|
124
|
-
await page.
|
|
125
|
-
await
|
|
126
|
-
|
|
127
|
-
page.click(SAVE_BUTTON_SELECTOR),
|
|
128
|
-
]);
|
|
123
|
+
await page.locator(SAVE_BUTTON_SELECTOR).first().waitFor();
|
|
124
|
+
await page.locator(SAVE_BUTTON_SELECTOR).first().click();
|
|
125
|
+
await page.waitForLoadState('load');
|
|
129
126
|
try {
|
|
130
127
|
await this.browserforce.throwPageErrors(page);
|
|
131
128
|
}
|
|
132
129
|
catch (e) {
|
|
133
|
-
if (e.message === 'Data Not Available') {
|
|
130
|
+
if (e instanceof Error && e.message === 'Data Not Available') {
|
|
134
131
|
throw new Error('Failed to import certificate from Keystore. Please enable Identity Provider first. https://salesforce.stackexchange.com/questions/61618/import-keystore-in-certificate-and-key-management');
|
|
135
132
|
}
|
|
136
133
|
throw e;
|
|
@@ -143,11 +140,9 @@ export class CertificateAndKeyManagement extends BrowserforcePlugin {
|
|
|
143
140
|
.tooling.query(`SELECT Id FROM Certificate WHERE DeveloperName = '${certificate.name.toLowerCase()}'`);
|
|
144
141
|
const importedCert = certsResponse.records[0];
|
|
145
142
|
const certPage = await this.browserforce.openPage(`${importedCert.Id}/e?MasterLabel=${certificate.name}&DeveloperName=${certificate.name}`);
|
|
146
|
-
await certPage.
|
|
147
|
-
await
|
|
148
|
-
|
|
149
|
-
certPage.click(SAVE_BUTTON_SELECTOR),
|
|
150
|
-
]);
|
|
143
|
+
await certPage.locator(SAVE_BUTTON_SELECTOR).first().waitFor();
|
|
144
|
+
await certPage.locator(SAVE_BUTTON_SELECTOR).first().click();
|
|
145
|
+
await certPage.waitForLoadState('load');
|
|
151
146
|
await this.browserforce.throwPageErrors(certPage);
|
|
152
147
|
await certPage.close();
|
|
153
148
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/plugins/security/certificate-and-key-management/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAChC,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/plugins/security/certificate-and-key-management/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,8 +6,8 @@ const REMOVE_BUTTON_SELECTOR = 'a[id$=":duelingListBox:backingList_remove"]';
|
|
|
6
6
|
const SAVE_BUTTON_SELECTOR = 'input[id$=":save"]';
|
|
7
7
|
const STATUS_FIELD_SELECTOR = 'select[id$=":statusFieldSection:editCapacityModel"]';
|
|
8
8
|
const STATUS_CHANGE_CAPACITY_SELECTOR = 'input[name*=":statusChangeCapacityCheck"]';
|
|
9
|
-
const VALUES_COMPLETED_SELECTOR = 'select[id$=":statusFieldValues:duelingListBox:backingList_a"]
|
|
10
|
-
const VALUES_IN_PROGRESS_SELECTOR = 'select[id$=":statusFieldValues:duelingListBox:backingList_s"]
|
|
9
|
+
const VALUES_COMPLETED_SELECTOR = 'select[id$=":statusFieldValues:duelingListBox:backingList_a"]';
|
|
10
|
+
const VALUES_IN_PROGRESS_SELECTOR = 'select[id$=":statusFieldValues:duelingListBox:backingList_s"]';
|
|
11
11
|
export class Capacity extends BrowserforcePlugin {
|
|
12
12
|
async retrieve(definition) {
|
|
13
13
|
// Query for the service channel
|
|
@@ -18,17 +18,32 @@ export class Capacity extends BrowserforcePlugin {
|
|
|
18
18
|
// Open the service channel setup page
|
|
19
19
|
const page = await this.browserforce.openPage(`${serviceChannel.Id}/e`);
|
|
20
20
|
// Retrieve the service channel config
|
|
21
|
-
|
|
21
|
+
const capacityModelCount = await page
|
|
22
|
+
.locator(CAPACITY_MODEL_SELECTOR)
|
|
23
|
+
.count();
|
|
24
|
+
if (capacityModelCount === 0) {
|
|
25
|
+
await page.close();
|
|
22
26
|
return {};
|
|
23
27
|
}
|
|
24
|
-
const capacityModel = (await page
|
|
28
|
+
const capacityModel = (await page
|
|
29
|
+
.locator(`${CAPACITY_MODEL_SELECTOR} > option[selected]`)
|
|
30
|
+
.evaluate((el) => el.value)) ?? '';
|
|
25
31
|
if (capacityModel === 'StatusBased') {
|
|
26
|
-
const statusField = (await page
|
|
27
|
-
|
|
28
|
-
|
|
32
|
+
const statusField = (await page
|
|
33
|
+
.locator(`${STATUS_FIELD_SELECTOR} > option[selected]`)
|
|
34
|
+
.evaluate((el) => el.value)) ?? '';
|
|
35
|
+
const valuesForInProgress = await page
|
|
36
|
+
.locator(`${VALUES_IN_PROGRESS_SELECTOR} > option:not(:disabled)`)
|
|
37
|
+
.evaluateAll((options) => {
|
|
38
|
+
return options.map((option) => option.title);
|
|
29
39
|
});
|
|
30
|
-
const checkAgentCapacityOnReopenedWorkItems = await page
|
|
31
|
-
|
|
40
|
+
const checkAgentCapacityOnReopenedWorkItems = await page
|
|
41
|
+
.locator(STATUS_CHANGE_CAPACITY_SELECTOR)
|
|
42
|
+
.evaluate((el) => el.getAttribute('checked') === 'checked' ? true : false);
|
|
43
|
+
const checkAgentCapacityOnReassignedWorkItems = await page
|
|
44
|
+
.locator(OWNER_CHANGE_CAPACITY_SELECTOR)
|
|
45
|
+
.evaluate((el) => el.getAttribute('checked') === 'checked' ? true : false);
|
|
46
|
+
await page.close();
|
|
32
47
|
return {
|
|
33
48
|
capacityModel,
|
|
34
49
|
statusField,
|
|
@@ -37,6 +52,7 @@ export class Capacity extends BrowserforcePlugin {
|
|
|
37
52
|
checkAgentCapacityOnReassignedWorkItems,
|
|
38
53
|
};
|
|
39
54
|
}
|
|
55
|
+
await page.close();
|
|
40
56
|
return { capacityModel };
|
|
41
57
|
}
|
|
42
58
|
diff(state, definition) {
|
|
@@ -82,50 +98,63 @@ export class Capacity extends BrowserforcePlugin {
|
|
|
82
98
|
// Update the service channel config
|
|
83
99
|
const configCapacity = config.capacity;
|
|
84
100
|
if (configCapacity?.capacityModel) {
|
|
85
|
-
await page
|
|
86
|
-
|
|
101
|
+
await page
|
|
102
|
+
.locator(CAPACITY_MODEL_SELECTOR)
|
|
103
|
+
.selectOption(configCapacity.capacityModel);
|
|
87
104
|
}
|
|
88
105
|
if (configCapacity?.statusField) {
|
|
89
|
-
await page
|
|
90
|
-
|
|
106
|
+
await page
|
|
107
|
+
.locator(STATUS_FIELD_SELECTOR)
|
|
108
|
+
.selectOption(configCapacity.statusField);
|
|
91
109
|
}
|
|
110
|
+
await page.waitForLoadState('networkidle');
|
|
92
111
|
if (configCapacity?.valuesForInProgress) {
|
|
93
|
-
await page
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
112
|
+
const completedOptions = await page
|
|
113
|
+
.locator(`${VALUES_COMPLETED_SELECTOR} > option:not(:disabled)`)
|
|
114
|
+
.evaluateAll((options) => {
|
|
115
|
+
return options.map((option) => option.title);
|
|
116
|
+
});
|
|
117
|
+
const inProgressOptions = await page
|
|
118
|
+
.locator(`${VALUES_IN_PROGRESS_SELECTOR} > option:not(:disabled)`)
|
|
119
|
+
.evaluateAll((options) => {
|
|
120
|
+
return options.map((option) => option.title);
|
|
121
|
+
});
|
|
122
|
+
for (const optionTitle of completedOptions) {
|
|
123
|
+
if (configCapacity.valuesForInProgress.includes(optionTitle)) {
|
|
124
|
+
await page
|
|
125
|
+
.getByRole('option', { name: optionTitle, exact: true })
|
|
126
|
+
.click();
|
|
127
|
+
await page.locator(ADD_BUTTON_SELECTOR).click();
|
|
128
|
+
await page.waitForLoadState('domcontentloaded');
|
|
101
129
|
}
|
|
102
130
|
}
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
await
|
|
110
|
-
await page.click(REMOVE_BUTTON_SELECTOR);
|
|
131
|
+
for (const optionTitle of inProgressOptions) {
|
|
132
|
+
if (!configCapacity.valuesForInProgress.includes(optionTitle)) {
|
|
133
|
+
await page
|
|
134
|
+
.getByRole('option', { name: optionTitle, exact: true })
|
|
135
|
+
.click();
|
|
136
|
+
await page.locator(REMOVE_BUTTON_SELECTOR).click();
|
|
137
|
+
await page.waitForLoadState('domcontentloaded');
|
|
111
138
|
}
|
|
112
139
|
}
|
|
113
140
|
}
|
|
114
141
|
if (configCapacity?.checkAgentCapacityOnReassignedWorkItems !== undefined) {
|
|
115
|
-
await page
|
|
142
|
+
await page
|
|
143
|
+
.locator(STATUS_CHANGE_CAPACITY_SELECTOR)
|
|
144
|
+
.evaluate((e, v) => {
|
|
116
145
|
e.checked = v;
|
|
117
146
|
}, configCapacity.checkAgentCapacityOnReassignedWorkItems);
|
|
118
147
|
}
|
|
119
148
|
if (configCapacity?.checkAgentCapacityOnReopenedWorkItems !== undefined) {
|
|
120
|
-
await page
|
|
149
|
+
await page
|
|
150
|
+
.locator(OWNER_CHANGE_CAPACITY_SELECTOR)
|
|
151
|
+
.evaluate((e, v) => {
|
|
121
152
|
e.checked = v;
|
|
122
153
|
}, configCapacity.checkAgentCapacityOnReopenedWorkItems);
|
|
123
154
|
}
|
|
124
155
|
// Save the settings and wait for page refresh
|
|
125
|
-
await
|
|
126
|
-
|
|
127
|
-
page.click(SAVE_BUTTON_SELECTOR),
|
|
128
|
-
]);
|
|
156
|
+
await page.locator(SAVE_BUTTON_SELECTOR).first().click();
|
|
157
|
+
await page.waitForLoadState('load');
|
|
129
158
|
// Close the page
|
|
130
159
|
await page.close();
|
|
131
160
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/plugins/service-channels/capacity/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAExD,MAAM,mBAAmB,GAAG,0CAA0C,CAAC;AACvE,MAAM,uBAAuB,GAC3B,uDAAuD,CAAC;AAC1D,MAAM,8BAA8B,GAClC,0CAA0C,CAAC;AAC7C,MAAM,sBAAsB,GAAG,6CAA6C,CAAC;AAC7E,MAAM,oBAAoB,GAAG,oBAAoB,CAAC;AAClD,MAAM,qBAAqB,GACzB,qDAAqD,CAAC;AACxD,MAAM,+BAA+B,GACnC,2CAA2C,CAAC;AAC9C,MAAM,yBAAyB,GAC7B,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/plugins/service-channels/capacity/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -33,6 +33,10 @@ describe(ServiceChannels.name, function () {
|
|
|
33
33
|
},
|
|
34
34
|
},
|
|
35
35
|
];
|
|
36
|
+
it('should disable status based capacity model', async () => {
|
|
37
|
+
const omnniChannelPlugin = new OmniChannelSettings(global.bf);
|
|
38
|
+
await omnniChannelPlugin.run({ enableStatusBasedCapacityModel: false });
|
|
39
|
+
});
|
|
36
40
|
it('should create service channel as a prerequisite', () => {
|
|
37
41
|
const sourceDeployCmd = child.spawnSync('sf', [
|
|
38
42
|
'project',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.e2e-spec.js","sourceRoot":"","sources":["../../../src/plugins/service-channels/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,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAExE,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAE/D,QAAQ,CAAC,eAAe,CAAC,IAAI,EAAE;IAC7B,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACpB,IAAI,MAAuB,CAAC;IAC5B,MAAM,CAAC,GAAG,EAAE;QACV,MAAM,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;IAEH,MAAM,wBAAwB,GAAG;QAC/B;YACE,2BAA2B,EAAE,UAAU;YACvC,QAAQ,EAAE;gBACR,aAAa,EAAE,aAAa;gBAC5B,WAAW,EAAE,WAAW;gBACxB,mBAAmB,EAAE,CAAC,YAAY,EAAE,YAAY,CAAC;gBACjD,qCAAqC,EAAE,IAAI;gBAC3C,uCAAuC,EAAE,IAAI;aAC9C;SACF;QACD;YACE,2BAA2B,EAAE,UAAU;YACvC,QAAQ,EAAE;gBACR,aAAa,EAAE,aAAa;gBAC5B,WAAW,EAAE,eAAe;gBAC5B,mBAAmB,EAAE,CAAC,aAAa,EAAE,WAAW,CAAC;gBACjD,qCAAqC,EAAE,IAAI;gBAC3C,uCAAuC,EAAE,IAAI;aAC9C;SACF;KACF,CAAC;
|
|
1
|
+
{"version":3,"file":"index.e2e-spec.js","sourceRoot":"","sources":["../../../src/plugins/service-channels/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,eAAe,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AAExE,MAAM,SAAS,GAAG,aAAa,CAAC,IAAI,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAE/D,QAAQ,CAAC,eAAe,CAAC,IAAI,EAAE;IAC7B,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACpB,IAAI,MAAuB,CAAC;IAC5B,MAAM,CAAC,GAAG,EAAE;QACV,MAAM,GAAG,IAAI,eAAe,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;IAEH,MAAM,wBAAwB,GAAG;QAC/B;YACE,2BAA2B,EAAE,UAAU;YACvC,QAAQ,EAAE;gBACR,aAAa,EAAE,aAAa;gBAC5B,WAAW,EAAE,WAAW;gBACxB,mBAAmB,EAAE,CAAC,YAAY,EAAE,YAAY,CAAC;gBACjD,qCAAqC,EAAE,IAAI;gBAC3C,uCAAuC,EAAE,IAAI;aAC9C;SACF;QACD;YACE,2BAA2B,EAAE,UAAU;YACvC,QAAQ,EAAE;gBACR,aAAa,EAAE,aAAa;gBAC5B,WAAW,EAAE,eAAe;gBAC5B,mBAAmB,EAAE,CAAC,aAAa,EAAE,WAAW,CAAC;gBACjD,qCAAqC,EAAE,IAAI;gBAC3C,uCAAuC,EAAE,IAAI;aAC9C;SACF;KACF,CAAC;IACF,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;QAC1D,MAAM,kBAAkB,GAAG,IAAI,mBAAmB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC9D,MAAM,kBAAkB,CAAC,GAAG,CAAC,EAAE,8BAA8B,EAAE,KAAK,EAAE,CAAC,CAAC;IAC1E,CAAC,CAAC,CAAC;IAEH,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;IAEH,EAAE,CAAC,6DAA6D,EAAE,KAAK,IAAI,EAAE;QAC3E,MAAM,kBAAkB,GAAG,IAAI,mBAAmB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC9D,MAAM,kBAAkB,CAAC,GAAG,CAAC,EAAE,8BAA8B,EAAE,IAAI,EAAE,CAAC,CAAC;IACzE,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,mEAAmE,EAAE,KAAK,IAAI,EAAE;QACjF,MAAM,MAAM,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;QAC3C,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC;QAC5D,MAAM,CAAC,eAAe,CAAC,GAAG,EAAE,wBAAwB,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -6,15 +6,12 @@ const TOAST_MESSAGE = 'div[id^="toastDescription"]';
|
|
|
6
6
|
export class Slack extends BrowserforcePlugin {
|
|
7
7
|
async retrieve(definition) {
|
|
8
8
|
const page = await this.browserforce.openPage(BASE_PATH);
|
|
9
|
+
await page.locator(TOS_CHECKBOX).waitFor();
|
|
9
10
|
const response = {
|
|
10
|
-
agreeToTermsAndConditions: await page
|
|
11
|
-
.locator(TOS_CHECKBOX)
|
|
12
|
-
.map((checkbox) => checkbox.checked)
|
|
13
|
-
.wait(),
|
|
11
|
+
agreeToTermsAndConditions: await page.locator(TOS_CHECKBOX).isChecked(),
|
|
14
12
|
enableSalesCloudForSlack: await page
|
|
15
13
|
.locator(SALES_CLOUD_FOR_SLACK_CHECKBOX)
|
|
16
|
-
.
|
|
17
|
-
.wait(),
|
|
14
|
+
.isChecked(),
|
|
18
15
|
};
|
|
19
16
|
await page.close();
|
|
20
17
|
return response;
|
|
@@ -27,19 +24,21 @@ export class Slack extends BrowserforcePlugin {
|
|
|
27
24
|
const page = await this.browserforce.openPage(BASE_PATH);
|
|
28
25
|
if (state.agreeToTermsAndConditions !== config.agreeToTermsAndConditions) {
|
|
29
26
|
await Promise.all([
|
|
30
|
-
page.locator(TOAST_MESSAGE).
|
|
31
|
-
|
|
32
|
-
|
|
27
|
+
page.locator(TOAST_MESSAGE).waitFor({ state: 'visible' }),
|
|
28
|
+
page
|
|
29
|
+
.locator(TOS_CHECKBOX)
|
|
30
|
+
.evaluate((checkbox) => checkbox.click()),
|
|
33
31
|
]);
|
|
34
|
-
await page.
|
|
32
|
+
await page.locator(TOAST_MESSAGE).waitFor({ state: 'hidden' });
|
|
35
33
|
}
|
|
36
34
|
if (state.enableSalesCloudForSlack !== config.enableSalesCloudForSlack) {
|
|
37
35
|
await Promise.all([
|
|
38
|
-
page.locator(TOAST_MESSAGE).
|
|
39
|
-
|
|
40
|
-
|
|
36
|
+
page.locator(TOAST_MESSAGE).waitFor({ state: 'visible' }),
|
|
37
|
+
page
|
|
38
|
+
.locator(SALES_CLOUD_FOR_SLACK_CHECKBOX)
|
|
39
|
+
.evaluate((checkbox) => checkbox.click()),
|
|
41
40
|
]);
|
|
42
|
-
await page.
|
|
41
|
+
await page.locator(TOAST_MESSAGE).waitFor({ state: 'hidden' });
|
|
43
42
|
}
|
|
44
43
|
await page.close();
|
|
45
44
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/slack/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAErD,MAAM,SAAS,GAAG,0CAA0C,CAAC;AAE7D,MAAM,YAAY,GAChB,2DAA2D,CAAC;AAC9D,MAAM,8BAA8B,GAClC,+DAA+D,CAAC;AAClE,MAAM,aAAa,GAAG,6BAA6B,CAAC;AAOpD,MAAM,OAAO,KAAM,SAAQ,kBAAkB;IACpC,KAAK,CAAC,QAAQ,CAAC,UAAmB;QACvC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QACzD,MAAM,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/slack/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAErD,MAAM,SAAS,GAAG,0CAA0C,CAAC;AAE7D,MAAM,YAAY,GAChB,2DAA2D,CAAC;AAC9D,MAAM,8BAA8B,GAClC,+DAA+D,CAAC;AAClE,MAAM,aAAa,GAAG,6BAA6B,CAAC;AAOpD,MAAM,OAAO,KAAM,SAAQ,kBAAkB;IACpC,KAAK,CAAC,QAAQ,CAAC,UAAmB;QACvC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QACzD,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,EAAE,CAAC;QAC3C,MAAM,QAAQ,GAAG;YACf,yBAAyB,EAAE,MAAM,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,SAAS,EAAE;YACvE,wBAAwB,EAAE,MAAM,IAAI;iBACjC,OAAO,CAAC,8BAA8B,CAAC;iBACvC,SAAS,EAAE;SACf,CAAC;QACF,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QACnB,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEM,KAAK,CAAC,KAAK,CAAC,MAAc;QAC/B,IAAI,MAAM,CAAC,yBAAyB,KAAK,KAAK,EAAE,CAAC;YAC/C,MAAM,IAAI,KAAK,CACb,yDAAyD,CAC1D,CAAC;QACJ,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,EAAE,CAAC;QACpC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QACzD,IAAI,KAAK,CAAC,yBAAyB,KAAK,MAAM,CAAC,yBAAyB,EAAE,CAAC;YACzE,MAAM,OAAO,CAAC,GAAG,CAAC;gBAChB,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;gBACzD,IAAI;qBACD,OAAO,CAAC,YAAY,CAAC;qBACrB,QAAQ,CAAC,CAAC,QAA0B,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;aAC9D,CAAC,CAAC;YACH,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QACjE,CAAC;QACD,IAAI,KAAK,CAAC,wBAAwB,KAAK,MAAM,CAAC,wBAAwB,EAAE,CAAC;YACvE,MAAM,OAAO,CAAC,GAAG,CAAC;gBAChB,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC;gBACzD,IAAI;qBACD,OAAO,CAAC,8BAA8B,CAAC;qBACvC,QAAQ,CAAC,CAAC,QAA0B,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;aAC9D,CAAC,CAAC;YACH,MAAM,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QACjE,CAAC;QACD,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;CACF"}
|
|
@@ -16,8 +16,10 @@ describe(UserAccessPolicies.name, function () {
|
|
|
16
16
|
});
|
|
17
17
|
const configActivate = readJsonFile('./activate.json').settings.userAccessPolicies;
|
|
18
18
|
const configDeactivate = readJsonFile('./deactivate.json').settings.userAccessPolicies;
|
|
19
|
-
const multiConfig = readJsonFile('./multiple-policies.json').settings
|
|
20
|
-
|
|
19
|
+
const multiConfig = readJsonFile('./multiple-policies.json').settings
|
|
20
|
+
.userAccessPolicies;
|
|
21
|
+
const changeTriggerConfig = readJsonFile('./change-trigger-type.json')
|
|
22
|
+
.settings.userAccessPolicies;
|
|
21
23
|
it('should deploy a CustomObject for testing', () => {
|
|
22
24
|
const sourceDeployCmd = child.spawnSync('sf', [
|
|
23
25
|
'project',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.e2e-spec.js","sourceRoot":"","sources":["../../../src/plugins/user-access-policies/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,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEhD,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,kBAAkB,CAAC,IAAI,EAAE;IAChC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACpB,IAAI,MAA0B,CAAC;IAC/B,MAAM,CAAC,GAAG,EAAE;QACV,MAAM,GAAG,IAAI,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,MAAM,cAAc,
|
|
1
|
+
{"version":3,"file":"index.e2e-spec.js","sourceRoot":"","sources":["../../../src/plugins/user-access-policies/index.e2e-spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -58,7 +58,7 @@ export class UserAccessPolicies extends BrowserforcePlugin {
|
|
|
58
58
|
}
|
|
59
59
|
}
|
|
60
60
|
isValidTriggerType(value) {
|
|
61
|
-
return value === 'Create' || value === 'Update' || value === 'CreateAndUpdate';
|
|
61
|
+
return (value === 'Create' || value === 'Update' || value === 'CreateAndUpdate');
|
|
62
62
|
}
|
|
63
63
|
needsPolicyChange(policy, currentState, currentTriggerType) {
|
|
64
64
|
if (currentState !== policy.active) {
|
|
@@ -91,7 +91,9 @@ export class UserAccessPolicies extends BrowserforcePlugin {
|
|
|
91
91
|
}
|
|
92
92
|
else {
|
|
93
93
|
const triggerOn = policy.on ||
|
|
94
|
-
(this.isValidTriggerType(currentTriggerType)
|
|
94
|
+
(this.isValidTriggerType(currentTriggerType)
|
|
95
|
+
? currentTriggerType
|
|
96
|
+
: DEFAULT_TRIGGER_TYPE);
|
|
95
97
|
await policiesPage.activatePolicy(triggerOn);
|
|
96
98
|
await page.close();
|
|
97
99
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/user-access-policies/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AAInD,MAAM,oBAAoB,GAAsB,iBAAiB,CAAC;AAYlE,MAAM,OAAO,kBAAmB,SAAQ,kBAAkB;IAChD,KAAK,CAAC,aAAa,CAAC,cAAwB;QAKlD,MAAM,WAAW,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC;QAC9D,MAAM,KAAK,GAAG,+FAA+F,WAAW,CAAC,IAAI,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/user-access-policies/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Page } from '
|
|
1
|
+
import type { Page } from 'playwright';
|
|
2
2
|
export declare class UserAccessPoliciesPage {
|
|
3
3
|
private page;
|
|
4
4
|
constructor(page: Page);
|
|
@@ -22,7 +22,7 @@ export declare class UserAccessPoliciesPage {
|
|
|
22
22
|
private handleConfirmationModal;
|
|
23
23
|
/**
|
|
24
24
|
* Wait for a button to become enabled
|
|
25
|
-
* @param button - The button
|
|
25
|
+
* @param button - The button locator to wait for
|
|
26
26
|
* @param timeout - Maximum time to wait in milliseconds (default: 10000)
|
|
27
27
|
*/
|
|
28
28
|
private waitForButtonEnabled;
|
|
@@ -13,16 +13,10 @@ export class UserAccessPoliciesPage {
|
|
|
13
13
|
*/
|
|
14
14
|
async activatePolicy(triggerOn = 'CreateAndUpdate') {
|
|
15
15
|
try {
|
|
16
|
-
const
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
if (buttons.length > 0) {
|
|
21
|
-
automateButton = buttons[0];
|
|
22
|
-
}
|
|
23
|
-
if (!automateButton) {
|
|
24
|
-
throw new Error('Automate Policy button not found on page');
|
|
25
|
-
}
|
|
16
|
+
const automateButton = this.page.getByRole('button', {
|
|
17
|
+
name: 'Automate Policy',
|
|
18
|
+
});
|
|
19
|
+
await automateButton.waitFor({ state: 'visible', timeout: 5000 });
|
|
26
20
|
await this.waitForButtonEnabled(automateButton);
|
|
27
21
|
await automateButton.click();
|
|
28
22
|
await this.handleActivationModal(triggerOn);
|
|
@@ -37,16 +31,10 @@ export class UserAccessPoliciesPage {
|
|
|
37
31
|
*/
|
|
38
32
|
async deactivatePolicy() {
|
|
39
33
|
try {
|
|
40
|
-
const
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
if (buttons.length > 0) {
|
|
45
|
-
deactivateButton = buttons[0];
|
|
46
|
-
}
|
|
47
|
-
if (!deactivateButton) {
|
|
48
|
-
throw new Error('Deactivate button not found on page');
|
|
49
|
-
}
|
|
34
|
+
const deactivateButton = this.page.getByRole('button', {
|
|
35
|
+
name: 'Deactivate',
|
|
36
|
+
});
|
|
37
|
+
await deactivateButton.waitFor({ state: 'visible', timeout: 5000 });
|
|
50
38
|
await deactivateButton.click();
|
|
51
39
|
await this.handleConfirmationModal();
|
|
52
40
|
await throwPageErrors(this.page);
|
|
@@ -59,16 +47,18 @@ export class UserAccessPoliciesPage {
|
|
|
59
47
|
* Handle the activation modal (select trigger option and click Activate)
|
|
60
48
|
*/
|
|
61
49
|
async handleActivationModal(triggerOn) {
|
|
62
|
-
const
|
|
63
|
-
await
|
|
64
|
-
await
|
|
65
|
-
const radioButtons =
|
|
66
|
-
|
|
50
|
+
const modalHeader = this.page.locator('lightning-modal-header.automate_policy_modal');
|
|
51
|
+
await modalHeader.waitFor({ state: 'visible', timeout: 10000 });
|
|
52
|
+
await this.page.waitForTimeout(500);
|
|
53
|
+
const radioButtons = this.page.locator('input[type="radio"]');
|
|
54
|
+
const radioCount = await radioButtons.count();
|
|
55
|
+
if (radioCount < 3) {
|
|
67
56
|
throw new Error('Modal did not load - radio buttons not found');
|
|
68
57
|
}
|
|
69
58
|
let radioButton = null;
|
|
70
|
-
for (
|
|
71
|
-
const
|
|
59
|
+
for (let i = 0; i < radioCount; i++) {
|
|
60
|
+
const button = radioButtons.nth(i);
|
|
61
|
+
const value = await button.getAttribute('value');
|
|
72
62
|
if (value === triggerOn) {
|
|
73
63
|
radioButton = button;
|
|
74
64
|
break;
|
|
@@ -77,34 +67,29 @@ export class UserAccessPoliciesPage {
|
|
|
77
67
|
if (!radioButton) {
|
|
78
68
|
throw new Error(`Radio button with value "${triggerOn}" not found`);
|
|
79
69
|
}
|
|
80
|
-
const radioId = await
|
|
70
|
+
const radioId = await radioButton.getAttribute('id');
|
|
81
71
|
if (radioId) {
|
|
82
|
-
const label =
|
|
72
|
+
const label = this.page.locator(`label[for="${radioId}"]`);
|
|
83
73
|
await label.click();
|
|
84
74
|
}
|
|
85
|
-
const
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
await
|
|
92
|
-
await new Promise((resolve) => setTimeout(resolve, 1000));
|
|
75
|
+
const activateButton = this.page.getByRole('button', {
|
|
76
|
+
name: 'Activate',
|
|
77
|
+
exact: true,
|
|
78
|
+
});
|
|
79
|
+
await activateButton.waitFor({ state: 'visible', timeout: 5000 });
|
|
80
|
+
await activateButton.click();
|
|
81
|
+
await this.page.waitForTimeout(1000);
|
|
93
82
|
}
|
|
94
83
|
/**
|
|
95
84
|
* Handle confirmation modal that may appear after deactivation
|
|
96
85
|
*/
|
|
97
86
|
async handleConfirmationModal() {
|
|
98
87
|
try {
|
|
99
|
-
await
|
|
100
|
-
const
|
|
101
|
-
await
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
throw new Error('Deactivate button not found in confirmation modal');
|
|
105
|
-
}
|
|
106
|
-
await buttons[0].click();
|
|
107
|
-
await new Promise((resolve) => setTimeout(resolve, 1000));
|
|
88
|
+
await this.page.waitForTimeout(500);
|
|
89
|
+
const deactivateButton = this.page.locator('lightning-modal-footer button:has-text("Deactivate")');
|
|
90
|
+
await deactivateButton.waitFor({ state: 'visible', timeout: 5000 });
|
|
91
|
+
await deactivateButton.click();
|
|
92
|
+
await this.page.waitForTimeout(1000);
|
|
108
93
|
}
|
|
109
94
|
catch (e) {
|
|
110
95
|
throw new Error(`Failed to handle deactivation confirmation modal: ${e.message}`);
|
|
@@ -112,19 +97,17 @@ export class UserAccessPoliciesPage {
|
|
|
112
97
|
}
|
|
113
98
|
/**
|
|
114
99
|
* Wait for a button to become enabled
|
|
115
|
-
* @param button - The button
|
|
100
|
+
* @param button - The button locator to wait for
|
|
116
101
|
* @param timeout - Maximum time to wait in milliseconds (default: 10000)
|
|
117
102
|
*/
|
|
118
103
|
async waitForButtonEnabled(button, timeout = 10000) {
|
|
119
104
|
const startTime = Date.now();
|
|
120
105
|
while (Date.now() - startTime < timeout) {
|
|
121
|
-
const isDisabled = await
|
|
122
|
-
return btn.disabled;
|
|
123
|
-
}, button);
|
|
106
|
+
const isDisabled = await button.isDisabled();
|
|
124
107
|
if (!isDisabled) {
|
|
125
108
|
return;
|
|
126
109
|
}
|
|
127
|
-
await
|
|
110
|
+
await this.page.waitForTimeout(500);
|
|
128
111
|
}
|
|
129
112
|
throw new Error(`Button did not become enabled within ${timeout}ms`);
|
|
130
113
|
}
|