sfdx-browserforce-plugin 2.11.2 → 3.0.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.
Files changed (182) hide show
  1. package/README.md +10 -10
  2. package/lib/browserforce-command.js +25 -19
  3. package/lib/browserforce-command.js.map +1 -1
  4. package/lib/browserforce.js +11 -28
  5. package/lib/browserforce.js.map +1 -1
  6. package/lib/commands/browserforce/apply.js +14 -14
  7. package/lib/commands/browserforce/apply.js.map +1 -1
  8. package/lib/commands/browserforce/plan.js +16 -15
  9. package/lib/commands/browserforce/plan.js.map +1 -1
  10. package/lib/config-parser.js +1 -1
  11. package/lib/config-parser.js.map +1 -1
  12. package/lib/jsforce-utils.js.map +1 -1
  13. package/lib/plugin.js +11 -30
  14. package/lib/plugin.js.map +1 -1
  15. package/lib/plugins/activity-settings/index.e2e-spec.js +41 -0
  16. package/lib/plugins/activity-settings/index.e2e-spec.js.map +1 -0
  17. package/lib/plugins/activity-settings/index.js +1 -4
  18. package/lib/plugins/activity-settings/index.js.map +1 -1
  19. package/lib/plugins/communities/index.e2e-spec.js +39 -0
  20. package/lib/plugins/communities/index.e2e-spec.js.map +1 -0
  21. package/lib/plugins/communities/index.js +2 -7
  22. package/lib/plugins/communities/index.js.map +1 -1
  23. package/lib/plugins/company-information/index.e2e-spec.js +42 -0
  24. package/lib/plugins/company-information/index.e2e-spec.js.map +1 -0
  25. package/lib/plugins/company-information/index.js +8 -12
  26. package/lib/plugins/company-information/index.js.map +1 -1
  27. package/lib/plugins/customer-portal/available-custom-objects/index.js +20 -48
  28. package/lib/plugins/customer-portal/available-custom-objects/index.js.map +1 -1
  29. package/lib/plugins/customer-portal/available-custom-objects/index.test.js +44 -0
  30. package/lib/plugins/customer-portal/available-custom-objects/index.test.js.map +1 -0
  31. package/lib/plugins/customer-portal/enabled/index.js +3 -11
  32. package/lib/plugins/customer-portal/enabled/index.js.map +1 -1
  33. package/lib/plugins/customer-portal/enabled/index.test.js +39 -0
  34. package/lib/plugins/customer-portal/enabled/index.test.js.map +1 -0
  35. package/lib/plugins/customer-portal/index.e2e-spec.js +222 -0
  36. package/lib/plugins/customer-portal/index.e2e-spec.js.map +1 -0
  37. package/lib/plugins/customer-portal/index.js +17 -13
  38. package/lib/plugins/customer-portal/index.js.map +1 -1
  39. package/lib/plugins/customer-portal/index.test.js +89 -0
  40. package/lib/plugins/customer-portal/index.test.js.map +1 -0
  41. package/lib/plugins/customer-portal/portals/index.js +17 -25
  42. package/lib/plugins/customer-portal/portals/index.js.map +1 -1
  43. package/lib/plugins/customer-portal/portals/index.test.js +145 -0
  44. package/lib/plugins/customer-portal/portals/index.test.js.map +1 -0
  45. package/lib/plugins/defer-sharing-calculation/index.e2e-spec.js +96 -0
  46. package/lib/plugins/defer-sharing-calculation/index.e2e-spec.js.map +1 -0
  47. package/lib/plugins/defer-sharing-calculation/index.js +2 -7
  48. package/lib/plugins/defer-sharing-calculation/index.js.map +1 -1
  49. package/lib/plugins/density-settings/index.e2e-spec.js +44 -0
  50. package/lib/plugins/density-settings/index.e2e-spec.js.map +1 -0
  51. package/lib/plugins/density-settings/index.js +8 -6
  52. package/lib/plugins/density-settings/index.js.map +1 -1
  53. package/lib/plugins/email-deliverability/index.e2e-spec.js +60 -0
  54. package/lib/plugins/email-deliverability/index.e2e-spec.js.map +1 -0
  55. package/lib/plugins/email-deliverability/index.js +7 -10
  56. package/lib/plugins/email-deliverability/index.js.map +1 -1
  57. package/lib/plugins/high-velocity-sales-settings/index.e2e-spec.js +34 -0
  58. package/lib/plugins/high-velocity-sales-settings/index.e2e-spec.js.map +1 -0
  59. package/lib/plugins/high-velocity-sales-settings/index.js +1 -2
  60. package/lib/plugins/high-velocity-sales-settings/index.js.map +1 -1
  61. package/lib/plugins/high-velocity-sales-settings/page.js +13 -4
  62. package/lib/plugins/high-velocity-sales-settings/page.js.map +1 -1
  63. package/lib/plugins/home-page-layouts/index.e2e-spec.js +52 -0
  64. package/lib/plugins/home-page-layouts/index.e2e-spec.js.map +1 -0
  65. package/lib/plugins/home-page-layouts/index.js +14 -32
  66. package/lib/plugins/home-page-layouts/index.js.map +1 -1
  67. package/lib/plugins/home-page-layouts/index.test.js +109 -0
  68. package/lib/plugins/home-page-layouts/index.test.js.map +1 -0
  69. package/lib/plugins/lightning-experience-settings/index.e2e-spec.js +44 -0
  70. package/lib/plugins/lightning-experience-settings/index.e2e-spec.js.map +1 -0
  71. package/lib/plugins/lightning-experience-settings/index.js +11 -9
  72. package/lib/plugins/lightning-experience-settings/index.js.map +1 -1
  73. package/lib/plugins/opportunity-splits/index.e2e-spec.js +70 -0
  74. package/lib/plugins/opportunity-splits/index.e2e-spec.js.map +1 -0
  75. package/lib/plugins/opportunity-splits/pages/layout-selection.js +1 -4
  76. package/lib/plugins/opportunity-splits/pages/layout-selection.js.map +1 -1
  77. package/lib/plugins/opportunity-splits/pages/overview.js +1 -4
  78. package/lib/plugins/opportunity-splits/pages/overview.js.map +1 -1
  79. package/lib/plugins/opportunity-splits/pages/setup.js +1 -4
  80. package/lib/plugins/opportunity-splits/pages/setup.js.map +1 -1
  81. package/lib/plugins/picklists/field-dependencies/index.js +15 -10
  82. package/lib/plugins/picklists/field-dependencies/index.js.map +1 -1
  83. package/lib/plugins/picklists/field-dependencies/index.test.js +69 -0
  84. package/lib/plugins/picklists/field-dependencies/index.test.js.map +1 -0
  85. package/lib/plugins/picklists/field-dependencies/pages.js +3 -12
  86. package/lib/plugins/picklists/field-dependencies/pages.js.map +1 -1
  87. package/lib/plugins/picklists/index.e2e-spec.js +118 -0
  88. package/lib/plugins/picklists/index.e2e-spec.js.map +1 -0
  89. package/lib/plugins/picklists/index.js +36 -27
  90. package/lib/plugins/picklists/index.js.map +1 -1
  91. package/lib/plugins/picklists/pages.js +7 -28
  92. package/lib/plugins/picklists/pages.js.map +1 -1
  93. package/lib/plugins/picklists/standard-value-set.js +1 -1
  94. package/lib/plugins/picklists/standard-value-set.js.map +1 -1
  95. package/lib/plugins/record-types/index.e2e-spec.js +99 -0
  96. package/lib/plugins/record-types/index.e2e-spec.js.map +1 -0
  97. package/lib/plugins/record-types/index.js +1 -2
  98. package/lib/plugins/record-types/index.js.map +1 -1
  99. package/lib/plugins/record-types/pages.js +4 -10
  100. package/lib/plugins/record-types/pages.js.map +1 -1
  101. package/lib/plugins/relate-contact-to-multiple-accounts/index.e2e-spec.js +34 -0
  102. package/lib/plugins/relate-contact-to-multiple-accounts/index.e2e-spec.js.map +1 -0
  103. package/lib/plugins/relate-contact-to-multiple-accounts/index.js +3 -12
  104. package/lib/plugins/relate-contact-to-multiple-accounts/index.js.map +1 -1
  105. package/lib/plugins/reports-and-dashboards/folder-sharing/index.e2e-spec.js +3 -0
  106. package/lib/plugins/reports-and-dashboards/folder-sharing/index.e2e-spec.js.map +1 -0
  107. package/lib/plugins/reports-and-dashboards/folder-sharing/index.js +1 -4
  108. package/lib/plugins/reports-and-dashboards/folder-sharing/index.js.map +1 -1
  109. package/lib/plugins/reports-and-dashboards/index.e2e-spec.js +3 -0
  110. package/lib/plugins/reports-and-dashboards/index.e2e-spec.js.map +1 -0
  111. package/lib/plugins/reports-and-dashboards/index.js +6 -6
  112. package/lib/plugins/reports-and-dashboards/index.js.map +1 -1
  113. package/lib/plugins/salesforce-to-salesforce/index.e2e-spec.js +39 -0
  114. package/lib/plugins/salesforce-to-salesforce/index.e2e-spec.js.map +1 -0
  115. package/lib/plugins/salesforce-to-salesforce/index.js +1 -4
  116. package/lib/plugins/salesforce-to-salesforce/index.js.map +1 -1
  117. package/lib/plugins/security/certificate-and-key-management/index.js +25 -36
  118. package/lib/plugins/security/certificate-and-key-management/index.js.map +1 -1
  119. package/lib/plugins/security/certificate-and-key-management/index.test.js +66 -0
  120. package/lib/plugins/security/certificate-and-key-management/index.test.js.map +1 -0
  121. package/lib/plugins/security/identity-provider/index.js +13 -24
  122. package/lib/plugins/security/identity-provider/index.js.map +1 -1
  123. package/lib/plugins/security/index.e2e-spec.js +86 -0
  124. package/lib/plugins/security/index.e2e-spec.js.map +1 -0
  125. package/lib/plugins/security/index.js +24 -15
  126. package/lib/plugins/security/index.js.map +1 -1
  127. package/lib/plugins/security/login-access-policies/index.e2e-spec.js +32 -0
  128. package/lib/plugins/security/login-access-policies/index.e2e-spec.js.map +1 -0
  129. package/lib/plugins/security/login-access-policies/index.js +2 -5
  130. package/lib/plugins/security/login-access-policies/index.js.map +1 -1
  131. package/lib/plugins/security/sharing/index.e2e-spec.js +34 -0
  132. package/lib/plugins/security/sharing/index.e2e-spec.js.map +1 -0
  133. package/lib/plugins/security/sharing/index.js +5 -11
  134. package/lib/plugins/security/sharing/index.js.map +1 -1
  135. package/lib/plugins/utils.js +38 -41
  136. package/lib/plugins/utils.js.map +1 -1
  137. package/oclif.manifest.json +104 -112
  138. package/package.json +12 -10
  139. package/lib/browserforce-command.d.ts +0 -15
  140. package/lib/browserforce.d.ts +0 -26
  141. package/lib/commands/browserforce/apply.d.ts +0 -6
  142. package/lib/commands/browserforce/plan.d.ts +0 -6
  143. package/lib/config-parser.d.ts +0 -16
  144. package/lib/index.d.ts +0 -1
  145. package/lib/jsforce-utils.d.ts +0 -5
  146. package/lib/plugin.d.ts +0 -11
  147. package/lib/plugins/activity-settings/index.d.ts +0 -9
  148. package/lib/plugins/communities/index.d.ts +0 -10
  149. package/lib/plugins/company-information/index.d.ts +0 -9
  150. package/lib/plugins/customer-portal/available-custom-objects/index.d.ts +0 -14
  151. package/lib/plugins/customer-portal/enabled/index.d.ts +0 -7
  152. package/lib/plugins/customer-portal/index.d.ts +0 -15
  153. package/lib/plugins/customer-portal/portals/index.d.ts +0 -25
  154. package/lib/plugins/defer-sharing-calculation/index.d.ts +0 -9
  155. package/lib/plugins/density-settings/index.d.ts +0 -17
  156. package/lib/plugins/email-deliverability/index.d.ts +0 -9
  157. package/lib/plugins/high-velocity-sales-settings/index.d.ts +0 -11
  158. package/lib/plugins/high-velocity-sales-settings/page.d.ts +0 -7
  159. package/lib/plugins/home-page-layouts/index.d.ts +0 -14
  160. package/lib/plugins/index.d.ts +0 -18
  161. package/lib/plugins/lightning-experience-settings/index.d.ts +0 -17
  162. package/lib/plugins/opportunity-splits/index.d.ts +0 -9
  163. package/lib/plugins/opportunity-splits/pages/layout-selection.d.ts +0 -8
  164. package/lib/plugins/opportunity-splits/pages/overview.d.ts +0 -10
  165. package/lib/plugins/opportunity-splits/pages/setup.d.ts +0 -8
  166. package/lib/plugins/picklists/field-dependencies/index.d.ts +0 -11
  167. package/lib/plugins/picklists/field-dependencies/pages.d.ts +0 -14
  168. package/lib/plugins/picklists/index.d.ts +0 -23
  169. package/lib/plugins/picklists/pages.d.ts +0 -40
  170. package/lib/plugins/picklists/standard-value-set.d.ts +0 -1
  171. package/lib/plugins/record-types/index.d.ts +0 -13
  172. package/lib/plugins/record-types/pages.d.ts +0 -15
  173. package/lib/plugins/relate-contact-to-multiple-accounts/index.d.ts +0 -9
  174. package/lib/plugins/reports-and-dashboards/folder-sharing/index.d.ts +0 -8
  175. package/lib/plugins/reports-and-dashboards/index.d.ts +0 -11
  176. package/lib/plugins/salesforce-to-salesforce/index.d.ts +0 -9
  177. package/lib/plugins/security/certificate-and-key-management/index.d.ts +0 -23
  178. package/lib/plugins/security/identity-provider/index.d.ts +0 -10
  179. package/lib/plugins/security/index.d.ts +0 -17
  180. package/lib/plugins/security/login-access-policies/index.d.ts +0 -8
  181. package/lib/plugins/security/sharing/index.d.ts +0 -8
  182. package/lib/plugins/utils.d.ts +0 -4
@@ -0,0 +1,145 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const assert_1 = __importDefault(require("assert"));
7
+ const _1 = require(".");
8
+ const tests = [
9
+ {
10
+ description: 'should only return necessary portal fields',
11
+ source: [
12
+ {
13
+ _id: 'p1',
14
+ name: 'Customer Portal',
15
+ description: 'Customer Portal',
16
+ adminUser: 'User User',
17
+ isSelfRegistrationActivated: true,
18
+ selfRegUserDefaultLicense: 'Customer Portal Manager Custom',
19
+ selfRegUserDefaultRole: 'User',
20
+ selfRegUserDefaultProfile: 'Customer Portal Manager Custom'
21
+ }
22
+ ],
23
+ target: [
24
+ {
25
+ name: 'Customer Portal',
26
+ description: 'new description'
27
+ }
28
+ ],
29
+ expected: [
30
+ {
31
+ _id: 'p1',
32
+ name: 'Customer Portal',
33
+ description: 'new description'
34
+ }
35
+ ]
36
+ },
37
+ {
38
+ description: 'should only return portal and portalProfileMemberships fields',
39
+ source: [
40
+ {
41
+ name: 'Customer Portal',
42
+ description: 'Customer Portal',
43
+ adminUser: 'User User',
44
+ portalProfileMemberships: [
45
+ {
46
+ name: 'Customer Portal Manager Standard',
47
+ active: true,
48
+ _id: 'a1'
49
+ }
50
+ ],
51
+ _id: 'p1'
52
+ }
53
+ ],
54
+ target: [
55
+ {
56
+ name: 'Customer Portal',
57
+ portalProfileMemberships: [
58
+ {
59
+ name: 'Customer Portal Manager Standard',
60
+ active: false
61
+ }
62
+ ]
63
+ }
64
+ ],
65
+ expected: [
66
+ {
67
+ _id: 'p1',
68
+ name: 'Customer Portal',
69
+ portalProfileMemberships: [
70
+ {
71
+ _id: 'a1',
72
+ name: 'Customer Portal Manager Standard',
73
+ active: false
74
+ }
75
+ ]
76
+ }
77
+ ]
78
+ },
79
+ {
80
+ description: 'should detect a renamed portal',
81
+ source: [
82
+ {
83
+ name: 'Customer Portal',
84
+ description: 'Customer Portal',
85
+ adminUser: 'User User',
86
+ portalProfileMemberships: [],
87
+ _id: 'p1'
88
+ }
89
+ ],
90
+ target: [
91
+ {
92
+ name: 'Foo Portal',
93
+ oldName: 'Customer Portal'
94
+ }
95
+ ],
96
+ expected: [
97
+ {
98
+ _id: 'p1',
99
+ name: 'Foo Portal'
100
+ }
101
+ ]
102
+ },
103
+ {
104
+ description: 'should return no change',
105
+ source: [
106
+ {
107
+ name: 'Customer Portal',
108
+ description: 'Customer Portal',
109
+ adminUser: 'User User',
110
+ portalProfileMemberships: [
111
+ {
112
+ name: 'Customer Portal Manager Standard',
113
+ active: true,
114
+ _id: 'a1'
115
+ }
116
+ ],
117
+ _id: 'p1'
118
+ }
119
+ ],
120
+ target: [
121
+ {
122
+ name: 'Customer Portal',
123
+ portalProfileMemberships: [
124
+ {
125
+ name: 'Customer Portal Manager Standard',
126
+ active: true
127
+ }
128
+ ]
129
+ }
130
+ ],
131
+ expected: undefined
132
+ }
133
+ ];
134
+ describe('CustomerPortalSetup', () => {
135
+ describe('diff()', () => {
136
+ const p = new _1.CustomerPortalSetup(global.bf);
137
+ for (const t of tests) {
138
+ it(t.description, () => {
139
+ const actual = p.diff(t.source, t.target);
140
+ assert_1.default.deepStrictEqual(actual, t.expected);
141
+ });
142
+ }
143
+ });
144
+ });
145
+ //# sourceMappingURL=index.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../../../src/plugins/customer-portal/portals/index.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,96 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ const assert_1 = __importDefault(require("assert"));
30
+ const child = __importStar(require("child_process"));
31
+ const path = __importStar(require("path"));
32
+ const _1 = require(".");
33
+ describe(_1.DeferSharingCalculation.name, function () {
34
+ let plugin;
35
+ before(() => {
36
+ plugin = new _1.DeferSharingCalculation(global.bf);
37
+ });
38
+ const configSuspend = {
39
+ suspend: true
40
+ };
41
+ const configResume = {
42
+ suspend: false
43
+ };
44
+ it('should assign the user defer sharing permissions', () => {
45
+ const sourceDeployCmd = child.spawnSync('sf', [
46
+ 'project',
47
+ 'deploy',
48
+ 'start',
49
+ '-d',
50
+ path.join(__dirname, 'sfdx-source'),
51
+ '--json'
52
+ ]);
53
+ assert_1.default.deepStrictEqual(sourceDeployCmd.status, 0, sourceDeployCmd.output.toString());
54
+ const permSetAssignCmd = child.spawnSync('sf', ['org', 'assign', 'permset', '-n', 'Defer_Sharing']);
55
+ assert_1.default.deepStrictEqual(permSetAssignCmd.status, 0, permSetAssignCmd.output.toString());
56
+ });
57
+ it('should suspend', async () => {
58
+ await plugin.run(configSuspend);
59
+ });
60
+ it('should already be suspended', async () => {
61
+ const res = await plugin.run(configSuspend);
62
+ assert_1.default.deepStrictEqual(res, { message: 'no action necessary' });
63
+ });
64
+ it('should resume', async () => {
65
+ await plugin.run(configResume);
66
+ });
67
+ it('should already be resumed', async () => {
68
+ let err;
69
+ let res;
70
+ try {
71
+ res = await plugin.run(configResume);
72
+ }
73
+ catch (e) {
74
+ err = e;
75
+ assert_1.default.throws(() => {
76
+ throw err;
77
+ }, /Sharing recalculation is currently in progress, please wait until this has completed to plan/);
78
+ }
79
+ if (!err) {
80
+ assert_1.default.deepStrictEqual(res, { message: 'no action necessary' });
81
+ }
82
+ });
83
+ it('should delete the PermissionSetAssignment', async () => {
84
+ const permSetUnassignCmd = child.spawnSync('sf', [
85
+ 'data',
86
+ 'delete',
87
+ 'record',
88
+ '-s',
89
+ 'PermissionSetAssignment',
90
+ '-w',
91
+ 'PermissionSet.Name=Defer_Sharing'
92
+ ]);
93
+ assert_1.default.deepStrictEqual(permSetUnassignCmd.status, 0, permSetUnassignCmd.output.toString());
94
+ });
95
+ });
96
+ //# sourceMappingURL=index.e2e-spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.e2e-spec.js","sourceRoot":"","sources":["../../../src/plugins/defer-sharing-calculation/index.e2e-spec.ts"],"names":[],"mappings":"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"}
@@ -27,19 +27,14 @@ class DeferSharingCalculation extends plugin_1.BrowserforcePlugin {
27
27
  }
28
28
  async apply(config) {
29
29
  const page = await this.browserforce.openPage(PATHS.BASE);
30
- const button = config.suspend
31
- ? SELECTORS.SUSPEND_BUTTON
32
- : SELECTORS.RESUME_BUTTON;
30
+ const button = config.suspend ? SELECTORS.SUSPEND_BUTTON : SELECTORS.RESUME_BUTTON;
33
31
  await page.waitForSelector(button);
34
32
  await Promise.all([page.waitForNavigation(), page.click(button)]);
35
33
  await page.close();
36
34
  if (!config.suspend) {
37
35
  const refreshedPage = await this.browserforce.openPage(PATHS.BASE);
38
36
  await refreshedPage.waitForSelector(SELECTORS.RECALCULATE_BUTTON);
39
- await Promise.all([
40
- refreshedPage.waitForNavigation(),
41
- refreshedPage.click(SELECTORS.RECALCULATE_BUTTON)
42
- ]);
37
+ await Promise.all([refreshedPage.waitForNavigation(), refreshedPage.click(SELECTORS.RECALCULATE_BUTTON)]);
43
38
  await refreshedPage.close();
44
39
  }
45
40
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/defer-sharing-calculation/index.ts"],"names":[],"mappings":";;;AAAA,yCAAkD;AAElD,MAAM,KAAK,GAAG;IACZ,IAAI,EAAE,6BAA6B;CACpC,CAAC;AACF,MAAM,SAAS,GAAG;IAChB,cAAc,EAAE,4BAA4B;IAC5C,aAAa,EAAE,2BAA2B;IAC1C,kBAAkB,EAAE,2BAA2B;CAChD,CAAC;AAMF,MAAa,uBAAwB,SAAQ,2BAAkB;IACtD,KAAK,CAAC,QAAQ,CAAC,UAAmB;QACvC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC1D,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;QACrD,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;QAEpD,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,KAAK,CACxC,SAAS,CAAC,cAAc,EACxB,CAAC,EAAoB,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,CACtC,CAAC;QACF,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,KAAK,CACvC,SAAS,CAAC,aAAa,EACvB,CAAC,EAAoB,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,CACtC,CAAC;QACF,IAAI,iBAAiB,IAAI,gBAAgB,EAAE;YACzC,MAAM,IAAI,KAAK,CACb,8FAA8F,CAC/F,CAAC;SACH;QACD,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QACnB,OAAO;YACL,OAAO,EAAE,iBAAiB;SAC3B,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,KAAK,CAAC,MAAc;QAC/B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC1D,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO;YAC3B,CAAC,CAAC,SAAS,CAAC,cAAc;YAC1B,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC;QAC5B,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QACnC,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAClE,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QACnB,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;YACnB,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACnE,MAAM,aAAa,CAAC,eAAe,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC;YAClE,MAAM,OAAO,CAAC,GAAG,CAAC;gBAChB,aAAa,CAAC,iBAAiB,EAAE;gBACjC,aAAa,CAAC,KAAK,CAAC,SAAS,CAAC,kBAAkB,CAAC;aAClD,CAAC,CAAC;YACH,MAAM,aAAa,CAAC,KAAK,EAAE,CAAC;SAC7B;IACH,CAAC;CACF;AA3CD,0DA2CC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/defer-sharing-calculation/index.ts"],"names":[],"mappings":";;;AAAA,yCAAkD;AAElD,MAAM,KAAK,GAAG;IACZ,IAAI,EAAE,6BAA6B;CACpC,CAAC;AACF,MAAM,SAAS,GAAG;IAChB,cAAc,EAAE,4BAA4B;IAC5C,aAAa,EAAE,2BAA2B;IAC1C,kBAAkB,EAAE,2BAA2B;CAChD,CAAC;AAMF,MAAa,uBAAwB,SAAQ,2BAAkB;IACtD,KAAK,CAAC,QAAQ,CAAC,UAAmB;QACvC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC1D,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;QACrD,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;QAEpD,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,cAAc,EAAE,CAAC,EAAoB,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;QAC5G,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC,EAAoB,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;QAC1G,IAAI,iBAAiB,IAAI,gBAAgB,EAAE;YACzC,MAAM,IAAI,KAAK,CAAC,8FAA8F,CAAC,CAAC;SACjH;QACD,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QACnB,OAAO;YACL,OAAO,EAAE,iBAAiB;SAC3B,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,KAAK,CAAC,MAAc;QAC/B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC1D,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC;QACnF,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QACnC,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAClE,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QACnB,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;YACnB,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACnE,MAAM,aAAa,CAAC,eAAe,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC;YAClE,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,aAAa,CAAC,iBAAiB,EAAE,EAAE,aAAa,CAAC,KAAK,CAAC,SAAS,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;YAC1G,MAAM,aAAa,CAAC,KAAK,EAAE,CAAC;SAC7B;IACH,CAAC;CACF;AA9BD,0DA8BC"}
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const assert_1 = __importDefault(require("assert"));
7
+ const _1 = require(".");
8
+ describe(_1.DensitySettings.name, function () {
9
+ let plugin;
10
+ before(() => {
11
+ plugin = new _1.DensitySettings(global.bf);
12
+ });
13
+ const configComfy = {
14
+ density: 'Comfy'
15
+ };
16
+ const configCompact = { density: 'Compact' };
17
+ it('should set to Compact', async () => {
18
+ await plugin.run(configCompact);
19
+ });
20
+ it('should be set to Compact', async () => {
21
+ const res = await plugin.retrieve();
22
+ assert_1.default.deepStrictEqual(res, configCompact);
23
+ });
24
+ it('should set to Comfy', async () => {
25
+ await plugin.apply(configComfy);
26
+ });
27
+ it('should be set to Comfy', async () => {
28
+ const res = await plugin.retrieve();
29
+ assert_1.default.deepStrictEqual(res, configComfy);
30
+ });
31
+ it('should throw for invalid density', async () => {
32
+ let err;
33
+ try {
34
+ await plugin.run({ density: 'Foo' });
35
+ }
36
+ catch (e) {
37
+ err = e;
38
+ }
39
+ assert_1.default.throws(() => {
40
+ throw err;
41
+ }, /Could not find density/);
42
+ });
43
+ });
44
+ //# sourceMappingURL=index.e2e-spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.e2e-spec.js","sourceRoot":"","sources":["../../../src/plugins/density-settings/index.e2e-spec.ts"],"names":[],"mappings":";;;;;AAAA,oDAA4B;AAC5B,wBAAoC;AAEpC,QAAQ,CAAC,kBAAe,CAAC,IAAI,EAAE;IAC7B,IAAI,MAAM,CAAC;IACX,MAAM,CAAC,GAAG,EAAE;QACV,MAAM,GAAG,IAAI,kBAAe,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;IAEH,MAAM,WAAW,GAAG;QAClB,OAAO,EAAE,OAAO;KACjB,CAAC;IACF,MAAM,aAAa,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;IAE7C,EAAE,CAAC,uBAAuB,EAAE,KAAK,IAAI,EAAE;QACrC,MAAM,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,0BAA0B,EAAE,KAAK,IAAI,EAAE;QACxC,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpC,gBAAM,CAAC,eAAe,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,qBAAqB,EAAE,KAAK,IAAI,EAAE;QACnC,MAAM,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,wBAAwB,EAAE,KAAK,IAAI,EAAE;QACtC,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpC,gBAAM,CAAC,eAAe,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,kCAAkC,EAAE,KAAK,IAAI,EAAE;QAChD,IAAI,GAAG,CAAC;QACR,IAAI;YACF,MAAM,MAAM,CAAC,GAAG,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;SACtC;QAAC,OAAO,CAAC,EAAE;YACV,GAAG,GAAG,CAAC,CAAC;SACT;QACD,gBAAM,CAAC,MAAM,CAAC,GAAG,EAAE;YACjB,MAAM,GAAG,CAAC;QACZ,CAAC,EAAE,wBAAwB,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -15,7 +15,7 @@ class DensitySettings extends plugin_1.BrowserforcePlugin {
15
15
  const selected = densities.find((input) => input.checked);
16
16
  await page.close();
17
17
  return {
18
- density: selected?.value
18
+ density: selected.value
19
19
  };
20
20
  }
21
21
  async apply(config) {
@@ -26,7 +26,7 @@ class DensitySettings extends plugin_1.BrowserforcePlugin {
26
26
  async getDensities(page) {
27
27
  await page.waitForSelector(SELECTORS.PICKER_ITEMS);
28
28
  const elementHandles = await page.$$(SELECTORS.PICKER_ITEMS);
29
- const result = await page.$$eval(SELECTORS.PICKER_ITEMS, (radioInputs) => radioInputs.map(input => {
29
+ const result = await page.$$eval(SELECTORS.PICKER_ITEMS, (radioInputs) => radioInputs.map((input) => {
30
30
  return {
31
31
  value: input.value,
32
32
  checked: input.checked
@@ -38,11 +38,13 @@ class DensitySettings extends plugin_1.BrowserforcePlugin {
38
38
  }
39
39
  async setDensity(page, name) {
40
40
  const densities = await this.getDensities(page);
41
- const densityToSelect = densities.find(input => input.value === name);
41
+ const densityToSelect = densities.find((input) => input.value === name);
42
+ if (!densityToSelect) {
43
+ throw new Error(`Could not find density "${name}" in list of densities: ${densities.map((d) => d.value)}`);
44
+ }
42
45
  await Promise.all([
43
- page.waitForResponse(response => response
44
- .url()
45
- .includes('UserSettings.DensityUserSettings.setDefaultDensitySetting=1') && response.status() === 200),
46
+ page.waitForResponse((response) => response.url().includes('UserSettings.DensityUserSettings.setDefaultDensitySetting=1') &&
47
+ response.status() === 200),
46
48
  densityToSelect.elementHandle.evaluate((input) => input.click())
47
49
  ]);
48
50
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/density-settings/index.ts"],"names":[],"mappings":";;;AACA,yCAAkD;AAElD,MAAM,KAAK,GAAG;IACZ,IAAI,EAAE,mCAAmC;CAC1C,CAAC;AAEF,MAAM,SAAS,GAAG;IAChB,YAAY,EACV,uEAAuE;CAC1E,CAAC;AAYF,MAAa,eAAgB,SAAQ,2BAAkB;IAC9C,KAAK,CAAC,QAAQ;QACnB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC1D,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAChD,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC1D,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QACnB,OAAO;YACL,OAAO,EAAE,QAAQ,EAAE,KAAK;SACzB,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,KAAK,CAAC,MAAc;QAC/B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC1D,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;QAC5C,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,IAAU;QAC3B,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QACnD,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QAC7D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAC9B,SAAS,CAAC,YAAY,EACtB,CAAC,WAA+B,EAAE,EAAE,CAClC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YACtB,OAAO;gBACL,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,OAAO,EAAE,KAAK,CAAC,OAAO;aACvB,CAAC;QACJ,CAAC,CAAC,CACL,CAAC;QACF,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;YAC7B,OAAO,EAAE,GAAG,KAAK,EAAE,aAAa,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;QACxD,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,IAAU,EAAE,IAAY;QACvC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAChD,MAAM,eAAe,GAAG,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC;QACtE,MAAM,OAAO,CAAC,GAAG,CAAC;YAChB,IAAI,CAAC,eAAe,CAClB,QAAQ,CAAC,EAAE,CACT,QAAQ;iBACL,GAAG,EAAE;iBACL,QAAQ,CACP,6DAA6D,CAC9D,IAAI,QAAQ,CAAC,MAAM,EAAE,KAAK,GAAG,CACnC;YACD,eAAe,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,KAAuB,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;SACnF,CAAC,CAAC;IACL,CAAC;CACF;AAlDD,0CAkDC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/density-settings/index.ts"],"names":[],"mappings":";;;AACA,yCAAkD;AAElD,MAAM,KAAK,GAAG;IACZ,IAAI,EAAE,mCAAmC;CAC1C,CAAC;AAEF,MAAM,SAAS,GAAG;IAChB,YAAY,EAAE,uEAAuE;CACtF,CAAC;AAYF,MAAa,eAAgB,SAAQ,2BAAkB;IAC9C,KAAK,CAAC,QAAQ;QACnB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC1D,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAChD,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC1D,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QACnB,OAAO;YACL,OAAO,EAAE,QAAS,CAAC,KAAK;SACzB,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,KAAK,CAAC,MAAc;QAC/B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC1D,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;QAC5C,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,IAAU;QAC3B,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QACnD,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QAC7D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC,WAA+B,EAAE,EAAE,CAC3F,WAAW,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACxB,OAAO;gBACL,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,OAAO,EAAE,KAAK,CAAC,OAAO;aACvB,CAAC;QACJ,CAAC,CAAC,CACH,CAAC;QACF,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;YAC7B,OAAO,EAAE,GAAG,KAAK,EAAE,aAAa,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;QACxD,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,IAAU,EAAE,IAAY;QACvC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAChD,MAAM,eAAe,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC;QACxE,IAAI,CAAC,eAAe,EAAE;YACpB,MAAM,IAAI,KAAK,CAAC,2BAA2B,IAAI,2BAA2B,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;SAC5G;QACD,MAAM,OAAO,CAAC,GAAG,CAAC;YAChB,IAAI,CAAC,eAAe,CAClB,CAAC,QAAQ,EAAE,EAAE,CACX,QAAQ,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,6DAA6D,CAAC;gBACtF,QAAQ,CAAC,MAAM,EAAE,KAAK,GAAG,CAC5B;YACD,eAAe,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,KAAuB,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;SACnF,CAAC,CAAC;IACL,CAAC;CACF;AAhDD,0CAgDC"}
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const assert_1 = __importDefault(require("assert"));
7
+ const _1 = require(".");
8
+ describe(_1.EmailDeliverability.name, function () {
9
+ let plugin;
10
+ before(() => {
11
+ plugin = new _1.EmailDeliverability(global.bf);
12
+ });
13
+ const configNone = {
14
+ accessLevel: 'No access'
15
+ };
16
+ const configAll = {
17
+ accessLevel: 'All email'
18
+ };
19
+ const configSystem = {
20
+ accessLevel: 'System email only'
21
+ };
22
+ const configInvalid = {
23
+ accessLevel: 'Invalid'
24
+ };
25
+ // Note order is important here, the scratch org will be created with all access set, I have placed last so if a scratch is reused at least it is in the same state
26
+ it('should set "no access"', async () => {
27
+ await plugin.run(configNone);
28
+ });
29
+ it('should already be set to "no access"', async () => {
30
+ const res = await plugin.retrieve();
31
+ assert_1.default.deepStrictEqual(res, configNone);
32
+ });
33
+ it('should set "system only"', async () => {
34
+ await plugin.apply(configSystem);
35
+ });
36
+ it('should be set to "system only"', async () => {
37
+ const res = await plugin.retrieve();
38
+ assert_1.default.deepStrictEqual(res, configSystem);
39
+ });
40
+ it('should apply all email', async () => {
41
+ await plugin.apply(configAll);
42
+ });
43
+ it('should already be have all enabled', async () => {
44
+ const res = await plugin.retrieve();
45
+ assert_1.default.deepStrictEqual(res, configAll);
46
+ });
47
+ it('should error on invalid input', async () => {
48
+ let err;
49
+ try {
50
+ await plugin.apply(configInvalid);
51
+ }
52
+ catch (e) {
53
+ err = e;
54
+ }
55
+ assert_1.default.throws(() => {
56
+ throw err;
57
+ }, /Invalid email access level/);
58
+ });
59
+ });
60
+ //# sourceMappingURL=index.e2e-spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.e2e-spec.js","sourceRoot":"","sources":["../../../src/plugins/email-deliverability/index.e2e-spec.ts"],"names":[],"mappings":";;;;;AAAA,oDAA4B;AAC5B,wBAAwC;AAExC,QAAQ,CAAC,sBAAmB,CAAC,IAAI,EAAE;IACjC,IAAI,MAAM,CAAC;IACX,MAAM,CAAC,GAAG,EAAE;QACV,MAAM,GAAG,IAAI,sBAAmB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IACH,MAAM,UAAU,GAAG;QACjB,WAAW,EAAE,WAAW;KACzB,CAAC;IACF,MAAM,SAAS,GAAG;QAChB,WAAW,EAAE,WAAW;KACzB,CAAC;IACF,MAAM,YAAY,GAAG;QACnB,WAAW,EAAE,mBAAmB;KACjC,CAAC;IACF,MAAM,aAAa,GAAG;QACpB,WAAW,EAAE,SAAS;KACvB,CAAC;IAEF,mKAAmK;IACnK,EAAE,CAAC,wBAAwB,EAAE,KAAK,IAAI,EAAE;QACtC,MAAM,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,sCAAsC,EAAE,KAAK,IAAI,EAAE;QACpD,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpC,gBAAM,CAAC,eAAe,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,0BAA0B,EAAE,KAAK,IAAI,EAAE;QACxC,MAAM,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,gCAAgC,EAAE,KAAK,IAAI,EAAE;QAC9C,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpC,gBAAM,CAAC,eAAe,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,wBAAwB,EAAE,KAAK,IAAI,EAAE;QACtC,MAAM,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAChC,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,oCAAoC,EAAE,KAAK,IAAI,EAAE;QAClD,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,QAAQ,EAAE,CAAC;QACpC,gBAAM,CAAC,eAAe,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IACzC,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,+BAA+B,EAAE,KAAK,IAAI,EAAE;QAC7C,IAAI,GAAG,CAAC;QACR,IAAI;YACF,MAAM,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;SACnC;QAAC,OAAO,CAAC,EAAE;YACV,GAAG,GAAG,CAAC,CAAC;SACT;QACD,gBAAM,CAAC,MAAM,CAAC,GAAG,EAAE;YACjB,MAAM,GAAG,CAAC;QACZ,CAAC,EAAE,4BAA4B,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -11,15 +11,15 @@ const SELECTORS = {
11
11
  SAVE_BUTTON: 'input[id$=":saveBtn"]'
12
12
  };
13
13
  const ACCESS_LEVEL_VALUES = new Map([
14
- ['No access', '0',],
15
- ['System email only', '1',],
14
+ ['No access', '0'],
15
+ ['System email only', '1'],
16
16
  ['All email', '2']
17
17
  ]);
18
18
  class EmailDeliverability extends plugin_1.BrowserforcePlugin {
19
19
  async retrieve(definition) {
20
20
  const page = await this.browserforce.openPage(PATHS.BASE);
21
21
  await page.waitForSelector(SELECTORS.ACCESS_LEVEL);
22
- const selectedOptions = await page.$$eval(`${SELECTORS.ACCESS_LEVEL} > option[selected]`, options => options.map(option => option.textContent));
22
+ const selectedOptions = await page.$$eval(`${SELECTORS.ACCESS_LEVEL} > option[selected]`, (options) => options.map((option) => option.textContent ?? ''));
23
23
  await page.close();
24
24
  if (!selectedOptions) {
25
25
  throw new Error('Selected access level not found...');
@@ -27,19 +27,16 @@ class EmailDeliverability extends plugin_1.BrowserforcePlugin {
27
27
  return {
28
28
  accessLevel: selectedOptions[0]
29
29
  };
30
- ;
31
30
  }
32
31
  async apply(config) {
33
- if (!ACCESS_LEVEL_VALUES.has(config.accessLevel)) {
32
+ const accessLevelNumber = ACCESS_LEVEL_VALUES.get(config.accessLevel);
33
+ if (accessLevelNumber === undefined) {
34
34
  throw new Error(`Invalid email access level ${config.accessLevel}`);
35
35
  }
36
36
  const page = await this.browserforce.openPage(PATHS.BASE);
37
37
  await page.waitForSelector(SELECTORS.ACCESS_LEVEL);
38
- await page.select(SELECTORS.ACCESS_LEVEL, ACCESS_LEVEL_VALUES.get(config.accessLevel));
39
- await Promise.all([
40
- page.waitForSelector(SELECTORS.CONFIRM_MESSAGE),
41
- page.click(SELECTORS.SAVE_BUTTON)
42
- ]);
38
+ await page.select(SELECTORS.ACCESS_LEVEL, accessLevelNumber);
39
+ await Promise.all([page.waitForSelector(SELECTORS.CONFIRM_MESSAGE), page.click(SELECTORS.SAVE_BUTTON)]);
43
40
  await page.close();
44
41
  }
45
42
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/email-deliverability/index.ts"],"names":[],"mappings":";;;AAAA,yCAAkD;AAElD,MAAM,KAAK,GAAG;IACZ,IAAI,EAAE,wCAAwC;CAC/C,CAAC;AACF,MAAM,SAAS,GAAG;IAChB,YAAY,EAAE,6CAA6C;IAC3D,eAAe,EAAE,0BAA0B;IAC3C,WAAW,EAAE,uBAAuB;CACrC,CAAC;AACF,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC;IAClC,CAAC,WAAW,EAAE,GAAG,EAAE;IACnB,CAAC,mBAAmB,EAAE,GAAG,EAAE;IAC3B,CAAC,WAAW,EAAE,GAAG,CAAC;CACnB,CAAC,CAAC;AAMH,MAAa,mBAAoB,SAAQ,2BAAkB;IAClD,KAAK,CAAC,QAAQ,CAAC,UAAmB;QACvC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC1D,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QACnD,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,MAAM,CACvC,GAAG,SAAS,CAAC,YAAY,qBAAqB,EAC9C,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,CACrD,CAAC;QACF,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QACnB,IAAI,CAAC,eAAe,EAAE;YACpB,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAA;SACtD;QACD,OAAO;YACL,WAAW,EAAE,eAAe,CAAC,CAAC,CAAC;SAChC,CAAC;QAAA,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,KAAK,CAAC,MAAc;QAC/B,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE;YAChD,MAAM,IAAI,KAAK,CAAC,8BAA8B,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;SACrE;QACD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC1D,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QACnD,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,YAAY,EAAE,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC;QACvF,MAAM,OAAO,CAAC,GAAG,CAAC;YAChB,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,eAAe,CAAC;YAC/C,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC;SAClC,CAAC,CAAC;QACH,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;CACF;AA9BD,kDA8BC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/email-deliverability/index.ts"],"names":[],"mappings":";;;AAAA,yCAAkD;AAElD,MAAM,KAAK,GAAG;IACZ,IAAI,EAAE,wCAAwC;CAC/C,CAAC;AACF,MAAM,SAAS,GAAG;IAChB,YAAY,EAAE,6CAA6C;IAC3D,eAAe,EAAE,0BAA0B;IAC3C,WAAW,EAAE,uBAAuB;CACrC,CAAC;AACF,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC;IAClC,CAAC,WAAW,EAAE,GAAG,CAAC;IAClB,CAAC,mBAAmB,EAAE,GAAG,CAAC;IAC1B,CAAC,WAAW,EAAE,GAAG,CAAC;CACnB,CAAC,CAAC;AAMH,MAAa,mBAAoB,SAAQ,2BAAkB;IAClD,KAAK,CAAC,QAAQ,CAAC,UAAmB;QACvC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC1D,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QACnD,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC,YAAY,qBAAqB,EAAE,CAAC,OAAO,EAAE,EAAE,CACpG,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC,CAClD,CAAC;QACF,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QACnB,IAAI,CAAC,eAAe,EAAE;YACpB,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;SACvD;QACD,OAAO;YACL,WAAW,EAAE,eAAe,CAAC,CAAC,CAAC;SAChC,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,KAAK,CAAC,MAAc;QAC/B,MAAM,iBAAiB,GAAG,mBAAmB,CAAC,GAAG,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACtE,IAAI,iBAAiB,KAAK,SAAS,EAAE;YACnC,MAAM,IAAI,KAAK,CAAC,8BAA8B,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;SACrE;QACD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC1D,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QACnD,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,YAAY,EAAE,iBAAiB,CAAC,CAAC;QAC7D,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,eAAe,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QACxG,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;CACF;AA3BD,kDA2BC"}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const assert_1 = __importDefault(require("assert"));
7
+ const _1 = require(".");
8
+ describe(_1.HighVelocitySalesSettings.name, function () {
9
+ let plugin;
10
+ before(() => {
11
+ plugin = new _1.HighVelocitySalesSettings(global.bf);
12
+ });
13
+ const configEnabled = {
14
+ setUpAndEnable: true
15
+ };
16
+ const configDisabled = {
17
+ setUpAndEnable: false
18
+ };
19
+ it('should enable', async () => {
20
+ await plugin.run(configEnabled);
21
+ });
22
+ it('should already be enabled', async () => {
23
+ const res = await plugin.run(configEnabled);
24
+ assert_1.default.deepStrictEqual(res, { message: 'no action necessary' });
25
+ });
26
+ it('should disable', async () => {
27
+ await plugin.run(configDisabled);
28
+ });
29
+ it('should already be disabled', async () => {
30
+ const res = await plugin.run(configDisabled);
31
+ assert_1.default.deepStrictEqual(res, { message: 'no action necessary' });
32
+ });
33
+ });
34
+ //# sourceMappingURL=index.e2e-spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.e2e-spec.js","sourceRoot":"","sources":["../../../src/plugins/high-velocity-sales-settings/index.e2e-spec.ts"],"names":[],"mappings":";;;;;AAAA,oDAA4B;AAC5B,wBAAsD;AAEtD,QAAQ,CAAC,4BAAyB,CAAC,IAAI,EAAE;IACvC,IAAI,MAAiC,CAAC;IACtC,MAAM,CAAC,GAAG,EAAE;QACV,MAAM,GAAG,IAAI,4BAAyB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,MAAM,aAAa,GAAW;QAC5B,cAAc,EAAE,IAAI;KACrB,CAAC;IACF,MAAM,cAAc,GAAG;QACrB,cAAc,EAAE,KAAK;KACtB,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,gBAAM,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,gBAAM,CAAC,eAAe,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,qBAAqB,EAAE,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -11,8 +11,7 @@ class HighVelocitySalesSettings extends plugin_1.BrowserforcePlugin {
11
11
  const result = { setUpAndEnable: false };
12
12
  try {
13
13
  const settings = await conn.metadata.read('HighVelocitySalesSettings', 'HighVelocitySales');
14
- result.setUpAndEnable =
15
- settings['enableHighVelocitySalesSetup'] === true;
14
+ result.setUpAndEnable = settings['enableHighVelocitySalesSetup'] === true;
16
15
  }
17
16
  catch (e) {
18
17
  if (/INVALID_TYPE: This type of metadata is not available for this organization/.test(e)) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/high-velocity-sales-settings/index.ts"],"names":[],"mappings":";;;AACA,yCAAkD;AAClD,iCAAoD;AAEpD,MAAM,iBAAiB,GAAG;mFACyD,CAAC;AAMpF,MAAa,yBAA0B,SAAQ,2BAAkB;IACxD,KAAK,CAAC,QAAQ,CAAC,UAAmB;QACvC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;QACtC,MAAM,MAAM,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC;QACzC,IAAI;YACF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CACvC,2BAA2B,EAC3B,mBAAmB,CACpB,CAAC;YACF,MAAM,CAAC,cAAc;gBACnB,QAAQ,CAAC,8BAA8B,CAAC,KAAK,IAAI,CAAC;SACrD;QAAC,OAAO,CAAC,EAAE;YACV,IACE,4EAA4E,CAAC,IAAI,CAC/E,CAAC,CACF,EACD;gBACA,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;aACpC;iBAAM;gBACL,MAAM,CAAC,CAAC;aACT;SACF;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,KAAK,CAAC,KAAK,CAAC,MAAc;QAC/B,IAAI,MAAM,CAAC,cAAc,EAAE;YACzB,MAAM,IAAI,GAAG,IAAI,iCAA0B,CACzC,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,iCAA0B,CAAC,MAAM,EAAE,CAAC,CACtE,CAAC;YACF,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;SAC7B;aAAM;YACL,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;YACtC,MAAM,qCAAqC,CAAC,IAAI,CAAC,CAAC;SACnD;IACH,CAAC;CACF;AApCD,8DAoCC;AAEM,KAAK,UAAU,qCAAqC,CACzD,IAAgB;IAEhB,MAAM,QAAQ,GAAG;QACf,QAAQ,EAAE,mBAAmB;QAC7B,4BAA4B,EAAE,KAAK;QACnC,uBAAuB,EAAE,KAAK;KAC/B,CAAC;IACF,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,2BAA2B,EAAE,QAAQ,CAAC,CAAC;AACpE,CAAC;AATD,sFASC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/high-velocity-sales-settings/index.ts"],"names":[],"mappings":";;;AACA,yCAAkD;AAClD,iCAAoD;AAEpD,MAAM,iBAAiB,GAAG;mFACyD,CAAC;AAMpF,MAAa,yBAA0B,SAAQ,2BAAkB;IACxD,KAAK,CAAC,QAAQ,CAAC,UAAmB;QACvC,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;QACtC,MAAM,MAAM,GAAG,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC;QACzC,IAAI;YACF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,2BAA2B,EAAE,mBAAmB,CAAC,CAAC;YAC5F,MAAM,CAAC,cAAc,GAAG,QAAQ,CAAC,8BAA8B,CAAC,KAAK,IAAI,CAAC;SAC3E;QAAC,OAAO,CAAC,EAAE;YACV,IAAI,4EAA4E,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;gBACxF,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;aACpC;iBAAM;gBACL,MAAM,CAAC,CAAC;aACT;SACF;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,KAAK,CAAC,KAAK,CAAC,MAAc;QAC/B,IAAI,MAAM,CAAC,cAAc,EAAE;YACzB,MAAM,IAAI,GAAG,IAAI,iCAA0B,CACzC,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,iCAA0B,CAAC,MAAM,EAAE,CAAC,CACtE,CAAC;YACF,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;SAC7B;aAAM;YACL,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;YACtC,MAAM,qCAAqC,CAAC,IAAI,CAAC,CAAC;SACnD;IACH,CAAC;CACF;AA5BD,8DA4BC;AAEM,KAAK,UAAU,qCAAqC,CAAC,IAAgB;IAC1E,MAAM,QAAQ,GAAG;QACf,QAAQ,EAAE,mBAAmB;QAC7B,4BAA4B,EAAE,KAAK;QACnC,uBAAuB,EAAE,KAAK;KAC/B,CAAC;IACF,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,2BAA2B,EAAE,QAAQ,CAAC,CAAC;AACpE,CAAC;AAPD,sFAOC"}
@@ -4,6 +4,7 @@ exports.HighVelocitySalesSetupPage = void 0;
4
4
  const browserforce_1 = require("../../browserforce");
5
5
  const SET_UP_AND_ENABLE_HVS_BUTTON = 'button.setupAndEnableButton';
6
6
  const ENABLE_TOGGLE = '#toggleHighVelocitySalesPref';
7
+ const AUTOMATION_TAB_ITEM = 'pierce/#automationTab__item';
7
8
  class HighVelocitySalesSetupPage {
8
9
  constructor(page) {
9
10
  this.page = page;
@@ -12,12 +13,20 @@ class HighVelocitySalesSetupPage {
12
13
  return 'lightning/setup/SalesEngagement/home';
13
14
  }
14
15
  async setUpAndEnable() {
15
- await this.page.waitForSelector(SET_UP_AND_ENABLE_HVS_BUTTON, {
16
- visible: true
17
- });
16
+ // starting Winter 24 (v59.0) there is a new tab bar and the item is located in the "Automation" tab
17
+ // wait for tab item or the button directly
18
+ await this.page.waitForSelector(`${AUTOMATION_TAB_ITEM}, ${SET_UP_AND_ENABLE_HVS_BUTTON}`, { timeout: 60000 });
19
+ if (await this.page.$(AUTOMATION_TAB_ITEM)) {
20
+ await Promise.all([
21
+ this.page.waitForSelector(SET_UP_AND_ENABLE_HVS_BUTTON, {
22
+ timeout: 60000
23
+ }),
24
+ this.page.click(AUTOMATION_TAB_ITEM)
25
+ ]);
26
+ }
18
27
  await Promise.all([
19
28
  this.page.waitForSelector(ENABLE_TOGGLE, { timeout: 60000 }),
20
- await this.page.click(SET_UP_AND_ENABLE_HVS_BUTTON)
29
+ this.page.click(SET_UP_AND_ENABLE_HVS_BUTTON)
21
30
  ]);
22
31
  await (0, browserforce_1.throwPageErrors)(this.page);
23
32
  await this.page.close();
@@ -1 +1 @@
1
- {"version":3,"file":"page.js","sourceRoot":"","sources":["../../../src/plugins/high-velocity-sales-settings/page.ts"],"names":[],"mappings":";;;AACA,qDAAqD;AAErD,MAAM,4BAA4B,GAAG,6BAA6B,CAAC;AACnE,MAAM,aAAa,GAAG,8BAA8B,CAAC;AAErD,MAAa,0BAA0B;IAGrC,YAAY,IAAU;QACpB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEM,MAAM,CAAC,MAAM;QAClB,OAAO,sCAAsC,CAAC;IAChD,CAAC;IAEM,KAAK,CAAC,cAAc;QACzB,MAAM,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,4BAA4B,EAAE;YAC5D,OAAO,EAAE,IAAI;SACd,CAAC,CAAC;QACH,MAAM,OAAO,CAAC,GAAG,CAAC;YAChB,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE,EAAE,OAAO,EAAE,KAAM,EAAE,CAAC;YAC7D,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,4BAA4B,CAAC;SACpD,CAAC,CAAC;QACH,MAAM,IAAA,8BAAe,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjC,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;IAC1B,CAAC;CACF;AAtBD,gEAsBC"}
1
+ {"version":3,"file":"page.js","sourceRoot":"","sources":["../../../src/plugins/high-velocity-sales-settings/page.ts"],"names":[],"mappings":";;;AACA,qDAAqD;AAErD,MAAM,4BAA4B,GAAG,6BAA6B,CAAC;AACnE,MAAM,aAAa,GAAG,8BAA8B,CAAC;AACrD,MAAM,mBAAmB,GAAG,6BAA6B,CAAC;AAE1D,MAAa,0BAA0B;IAGrC,YAAY,IAAU;QACpB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAEM,MAAM,CAAC,MAAM;QAClB,OAAO,sCAAsC,CAAC;IAChD,CAAC;IAEM,KAAK,CAAC,cAAc;QACzB,oGAAoG;QACpG,2CAA2C;QAC3C,MAAM,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,mBAAmB,KAAK,4BAA4B,EAAE,EAAE,EAAE,OAAO,EAAE,KAAM,EAAE,CAAC,CAAC;QAChH,IAAI,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,mBAAmB,CAAC,EAAE;YAC1C,MAAM,OAAO,CAAC,GAAG,CAAC;gBAChB,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,4BAA4B,EAAE;oBACtD,OAAO,EAAE,KAAM;iBAChB,CAAC;gBACF,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC;aACrC,CAAC,CAAC;SACJ;QACD,MAAM,OAAO,CAAC,GAAG,CAAC;YAChB,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,aAAa,EAAE,EAAE,OAAO,EAAE,KAAM,EAAE,CAAC;YAC7D,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,4BAA4B,CAAC;SAC9C,CAAC,CAAC;QACH,MAAM,IAAA,8BAAe,EAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjC,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;IAC1B,CAAC;CACF;AA9BD,gEA8BC"}