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,39 @@
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.skip(_1.Communities.name, function () {
9
+ let plugin;
10
+ before(() => {
11
+ plugin = new _1.Communities(global.bf);
12
+ });
13
+ const configEnabled = {
14
+ enabled: true
15
+ };
16
+ const configDisabled = {
17
+ enabled: false
18
+ };
19
+ it('should enable', async () => {
20
+ await plugin.run(configEnabled);
21
+ });
22
+ it('should be enabled', async () => {
23
+ const res = await plugin.run(configEnabled);
24
+ assert_1.default.deepStrictEqual(res, { message: 'no action necessary' });
25
+ });
26
+ it('should fail to disable', async () => {
27
+ let err;
28
+ try {
29
+ await plugin.apply(configDisabled);
30
+ }
31
+ catch (e) {
32
+ err = e;
33
+ }
34
+ assert_1.default.throws(() => {
35
+ throw err;
36
+ }, /cannot be disabled/);
37
+ });
38
+ });
39
+ //# sourceMappingURL=index.e2e-spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.e2e-spec.js","sourceRoot":"","sources":["../../../src/plugins/communities/index.e2e-spec.ts"],"names":[],"mappings":";;;;;AAAA,oDAA4B;AAC5B,wBAAgC;AAEhC,QAAQ,CAAC,IAAI,CAAC,cAAW,CAAC,IAAI,EAAE;IAC9B,IAAI,MAAM,CAAC;IACX,MAAM,CAAC,GAAG,EAAE;QACV,MAAM,GAAG,IAAI,cAAW,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;IAEH,MAAM,aAAa,GAAG;QACpB,OAAO,EAAE,IAAI;KACd,CAAC;IACF,MAAM,cAAc,GAAG;QACrB,OAAO,EAAE,KAAK;KACf,CAAC;IAEF,EAAE,CAAC,eAAe,EAAE,KAAK,IAAI,EAAE;QAC7B,MAAM,MAAM,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,mBAAmB,EAAE,KAAK,IAAI,EAAE;QACjC,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,wBAAwB,EAAE,KAAK,IAAI,EAAE;QACtC,IAAI,GAAG,CAAC;QACR,IAAI;YACF,MAAM,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;SACpC;QAAC,OAAO,CAAC,EAAE;YACV,GAAG,GAAG,CAAC,CAAC;SACT;QACD,gBAAM,CAAC,MAAM,CAAC,GAAG,EAAE;YACjB,MAAM,GAAG,CAAC;QACZ,CAAC,EAAE,oBAAoB,CAAC,CAAC;IAC3B,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -34,19 +34,14 @@ class Communities extends plugin_1.BrowserforcePlugin {
34
34
  await frameOrPage.click(SELECTORS.ENABLE_CHECKBOX);
35
35
  const domainName = (config.domainName ||
36
36
  this.browserforce.getMyDomain() ||
37
- `comm-${Math.random()
38
- .toString(36)
39
- .substr(2)}`).substring(0, 22);
37
+ `comm-${Math.random().toString(36).substr(2)}`).substring(0, 22);
40
38
  await frameOrPage.waitForSelector(SELECTORS.DOMAIN_NAME_INPUT_TEXT);
41
39
  await frameOrPage.type(SELECTORS.DOMAIN_NAME_INPUT_TEXT, domainName);
42
40
  page.on('dialog', async (dialog) => {
43
41
  await dialog.accept();
44
42
  });
45
43
  await frameOrPage.waitForSelector(SELECTORS.SAVE_BUTTON);
46
- await Promise.all([
47
- page.waitForNavigation(),
48
- frameOrPage.click(SELECTORS.SAVE_BUTTON)
49
- ]);
44
+ await Promise.all([page.waitForNavigation(), frameOrPage.click(SELECTORS.SAVE_BUTTON)]);
50
45
  await page.close();
51
46
  }
52
47
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/communities/index.ts"],"names":[],"mappings":";;;AAAA,yCAAkD;AAElD,MAAM,KAAK,GAAG;IACZ,IAAI,EAAE,wCAAwC;CAC/C,CAAC;AACF,MAAM,SAAS,GAAG;IAChB,IAAI,EAAE,YAAY;IAClB,eAAe,EAAE,mCAAmC;IACpD,sBAAsB,EAAE,8BAA8B;IACtD,WAAW,EAAE,sBAAsB;CACpC,CAAC;AAOF,MAAa,WAAY,SAAQ,2BAAkB;IAC1C,KAAK,CAAC,QAAQ;QACnB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC1D,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,4BAA4B,CACtE,IAAI,EACJ,SAAS,CAAC,IAAI,CACf,CAAC;QACF,MAAM,QAAQ,GAAG;YACf,OAAO,EAAE,IAAI;SACd,CAAC;QACF,MAAM,WAAW,GAAG,MAAM,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;QACnE,IAAI,WAAW,EAAE;YACf,QAAQ,CAAC,OAAO,GAAG,MAAM,WAAW,CAAC,KAAK,CACxC,SAAS,CAAC,eAAe,EACzB,CAAC,EAAoB,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,CACrC,CAAC;SACH;QACD,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QACnB,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEM,KAAK,CAAC,KAAK,CAAC,MAAc;QAC/B,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK,EAAE;YAC5B,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;SAC9D;QAED,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC1D,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,4BAA4B,CACtE,IAAI,EACJ,SAAS,CAAC,eAAe,CAC1B,CAAC;QACF,MAAM,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;QACnD,MAAM,UAAU,GAAG,CACjB,MAAM,CAAC,UAAU;YACjB,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE;YAC/B,QAAQ,IAAI,CAAC,MAAM,EAAE;iBAClB,QAAQ,CAAC,EAAE,CAAC;iBACZ,MAAM,CAAC,CAAC,CAAC,EAAE,CACf,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACnB,MAAM,WAAW,CAAC,eAAe,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAC;QACpE,MAAM,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,sBAAsB,EAAE,UAAU,CAAC,CAAC;QACrE,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAC,MAAM,EAAC,EAAE;YAC/B,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC;QACxB,CAAC,CAAC,CAAC;QACH,MAAM,WAAW,CAAC,eAAe,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QACzD,MAAM,OAAO,CAAC,GAAG,CAAC;YAChB,IAAI,CAAC,iBAAiB,EAAE;YACxB,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC;SACzC,CAAC,CAAC;QACH,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;CACF;AAnDD,kCAmDC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/communities/index.ts"],"names":[],"mappings":";;;AAAA,yCAAkD;AAElD,MAAM,KAAK,GAAG;IACZ,IAAI,EAAE,wCAAwC;CAC/C,CAAC;AACF,MAAM,SAAS,GAAG;IAChB,IAAI,EAAE,YAAY;IAClB,eAAe,EAAE,mCAAmC;IACpD,sBAAsB,EAAE,8BAA8B;IACtD,WAAW,EAAE,sBAAsB;CACpC,CAAC;AAOF,MAAa,WAAY,SAAQ,2BAAkB;IAC1C,KAAK,CAAC,QAAQ;QACnB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC1D,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,4BAA4B,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC;QAC/F,MAAM,QAAQ,GAAG;YACf,OAAO,EAAE,IAAI;SACd,CAAC;QACF,MAAM,WAAW,GAAG,MAAM,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;QACnE,IAAI,WAAW,EAAE;YACf,QAAQ,CAAC,OAAO,GAAG,MAAM,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,eAAe,EAAE,CAAC,EAAoB,EAAE,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;SAC7G;QACD,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QACnB,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEM,KAAK,CAAC,KAAK,CAAC,MAAc;QAC/B,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK,EAAE;YAC5B,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;SAC9D;QAED,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC1D,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,4BAA4B,CAAC,IAAI,EAAE,SAAS,CAAC,eAAe,CAAC,CAAC;QAC1G,MAAM,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;QACnD,MAAM,UAAU,GAAG,CACjB,MAAM,CAAC,UAAU;YACjB,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE;YAC/B,QAAQ,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAC/C,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QACnB,MAAM,WAAW,CAAC,eAAe,CAAC,SAAS,CAAC,sBAAsB,CAAC,CAAC;QACpE,MAAM,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,sBAAsB,EAAE,UAAU,CAAC,CAAC;QACrE,IAAI,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;YACjC,MAAM,MAAM,CAAC,MAAM,EAAE,CAAC;QACxB,CAAC,CAAC,CAAC;QACH,MAAM,WAAW,CAAC,eAAe,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QACzD,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QACxF,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;CACF;AArCD,kCAqCC"}
@@ -0,0 +1,42 @@
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.CompanyInformation.name, function () {
9
+ let plugin;
10
+ before(() => {
11
+ plugin = new _1.CompanyInformation(global.bf);
12
+ });
13
+ const configZAR = {
14
+ defaultCurrencyIsoCode: 'English (South Africa) - ZAR'
15
+ };
16
+ const configIRE = {
17
+ defaultCurrencyIsoCode: 'English (Ireland) - EUR'
18
+ };
19
+ it('should set the currency to "English (South Africa) - ZAR" for next steps', async () => {
20
+ await plugin.run(configZAR);
21
+ });
22
+ it('should change currency to "English (Ireland) - EUR"', async () => {
23
+ await plugin.run(configIRE);
24
+ });
25
+ it('should respond to no action necessary for currency change', async () => {
26
+ const res = await plugin.run(configIRE);
27
+ assert_1.default.deepStrictEqual(res, { message: 'no action necessary' });
28
+ });
29
+ it('should error on invalid input for invalid currency', async () => {
30
+ let err;
31
+ try {
32
+ await plugin.apply({ defaultCurrencyIsoCode: 'Invalid Currency' });
33
+ }
34
+ catch (e) {
35
+ err = e;
36
+ }
37
+ assert_1.default.throws(() => {
38
+ throw err;
39
+ }, /Invalid currency provided/);
40
+ });
41
+ });
42
+ //# sourceMappingURL=index.e2e-spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.e2e-spec.js","sourceRoot":"","sources":["../../../src/plugins/company-information/index.e2e-spec.ts"],"names":[],"mappings":";;;;;AAAA,oDAA4B;AAC5B,wBAA+C;AAE/C,QAAQ,CAAC,qBAAkB,CAAC,IAAI,EAAE;IAChC,IAAI,MAA0B,CAAC;IAC/B,MAAM,CAAC,GAAG,EAAE;QACV,MAAM,GAAG,IAAI,qBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,MAAM,SAAS,GAAW;QACxB,sBAAsB,EAAE,8BAA8B;KACvD,CAAC;IACF,MAAM,SAAS,GAAW;QACxB,sBAAsB,EAAE,yBAAyB;KAClD,CAAC;IAEF,EAAE,CAAC,0EAA0E,EAAE,KAAK,IAAI,EAAE;QACxF,MAAM,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAC9B,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,qDAAqD,EAAE,KAAK,IAAI,EAAE;QACnE,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,gBAAM,CAAC,eAAe,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,qBAAqB,EAAE,CAAC,CAAC;IAClE,CAAC,CAAC,CAAC;IACH,EAAE,CAAC,oDAAoD,EAAE,KAAK,IAAI,EAAE;QAClE,IAAI,GAAG,CAAC;QACR,IAAI;YACF,MAAM,MAAM,CAAC,KAAK,CAAC,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,CAAC,CAAC;SACpE;QAAC,OAAO,CAAC,EAAE;YACV,GAAG,GAAG,CAAC,CAAC;SACT;QACD,gBAAM,CAAC,MAAM,CAAC,GAAG,EAAE;YACjB,MAAM,GAAG,CAAC;QACZ,CAAC,EAAE,2BAA2B,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -18,16 +18,15 @@ class CompanyInformation extends plugin_1.BrowserforcePlugin {
18
18
  const response = {
19
19
  defaultCurrencyIsoCode: ''
20
20
  };
21
- const selectedOptions = await page.$$eval(`${SELECTORS.CURRENCY_DROPDOWN} > option[selected]`, options => options.map(option => option.textContent));
22
- if (!selectedOptions) {
23
- throw new Error('No available existing value');
21
+ const selectedOptions = await page.$$eval(`${SELECTORS.CURRENCY_DROPDOWN} > option[selected]`, (options) => options.map((option) => option.textContent));
22
+ if (selectedOptions?.length) {
23
+ response.defaultCurrencyIsoCode = selectedOptions[0] ?? '';
24
24
  }
25
- response.defaultCurrencyIsoCode = selectedOptions[0];
26
25
  await page.close();
27
26
  return response;
28
27
  }
29
28
  async apply(config) {
30
- if (config.defaultCurrencyIsoCode?.length > 0) {
29
+ if (config.defaultCurrencyIsoCode !== undefined) {
31
30
  const path = PATHS(this.org.getOrgId());
32
31
  const page = await this.browserforce.openPage(path.BASE);
33
32
  // wait for selectors
@@ -36,24 +35,21 @@ class CompanyInformation extends plugin_1.BrowserforcePlugin {
36
35
  await page.waitForSelector(SELECTORS.SAVE_BUTTON);
37
36
  // apply changes
38
37
  // await page.click(SELECTORS.CURRENCY_DROPDOWN);
39
- const optionList = await page.$$eval(`${SELECTORS.CURRENCY_DROPDOWN} > option`, options => options.map(option => ({
38
+ const optionList = await page.$$eval(`${SELECTORS.CURRENCY_DROPDOWN} > option`, (options) => options.map((option) => ({
40
39
  value: option.value,
41
40
  textContent: option.textContent
42
41
  })));
43
- const toBeSelectedOption = optionList.find(option => option.textContent == config.defaultCurrencyIsoCode);
42
+ const toBeSelectedOption = optionList.find((option) => option.textContent == config.defaultCurrencyIsoCode);
44
43
  if (!toBeSelectedOption) {
45
44
  throw new Error(`Invalid currency provided. '${config.defaultCurrencyIsoCode}' is not a valid option available for currencies. Please use the exact name as it appears in the list.`);
46
45
  }
47
46
  await selectElem.select(toBeSelectedOption.value);
48
47
  // auto accept the dialog when it appears
49
- page.on("dialog", (dialog) => {
48
+ page.on('dialog', (dialog) => {
50
49
  dialog.accept();
51
50
  });
52
51
  // save
53
- await Promise.all([
54
- page.waitForNavigation(),
55
- page.click(SELECTORS.SAVE_BUTTON)
56
- ]);
52
+ await Promise.all([page.waitForNavigation(), page.click(SELECTORS.SAVE_BUTTON)]);
57
53
  await page.close();
58
54
  }
59
55
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/company-information/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/company-information/index.ts"],"names":[],"mappings":"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"}
@@ -1,31 +1,8 @@
1
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
2
  Object.defineProperty(exports, "__esModule", { value: true });
26
3
  exports.CustomerPortalAvailableCustomObjects = void 0;
27
- const jsonMergePatch = __importStar(require("json-merge-patch"));
28
4
  const plugin_1 = require("../../../plugin");
5
+ const utils_1 = require("../../utils");
29
6
  const SELECTORS = {
30
7
  SAVE_BUTTON: 'input[name="save"]',
31
8
  CUSTOM_OBJECT_AVAILABLE_FOR_CUSTOMER_PORTAL: '#options_9'
@@ -35,20 +12,24 @@ class CustomerPortalAvailableCustomObjects extends plugin_1.BrowserforcePlugin {
35
12
  const response = [];
36
13
  if (definition) {
37
14
  const availableCustomObjectList = definition
38
- .map(customObject => {
15
+ .map((customObject) => {
39
16
  return `'${customObject.name}'`;
40
17
  })
41
18
  .join(',');
42
19
  const customObjects = await this.org
43
20
  .getConnection()
44
21
  .tooling.query(`SELECT Id, DeveloperName, NamespacePrefix FROM CustomObject WHERE DeveloperName IN (${availableCustomObjectList})`, { scanAll: false });
22
+ for (const record of customObjects?.records) {
23
+ if (record.NamespacePrefix === null) {
24
+ record.NamespacePrefix = undefined;
25
+ }
26
+ }
45
27
  // BUG in jsforce: query acts with scanAll:true and returns deleted CustomObjects.
46
28
  // It cannot be disabled.
47
29
  // This will throw a timeout error waitingFor('#options_9')
48
30
  const page = await this.browserforce.openPage('');
49
31
  // new URLs for LEX: https://help.salesforce.com/articleView?id=FAQ-for-the-New-URL-Format-for-Lightning-Experience-and-the-Salesforce-Mobile-App&type=1
50
- const isLEX = page.url().indexOf('/one/one.app') >= 0 ||
51
- page.url().indexOf('/lightning/') >= 0;
32
+ const isLEX = page.url().includes('/one/one.app') || page.url().includes('/lightning/');
52
33
  const getObjectPageUrl = function (customObject, isLexUi = true) {
53
34
  const classicUiPath = `${customObject._id}/e`;
54
35
  if (isLexUi) {
@@ -59,10 +40,7 @@ class CustomerPortalAvailableCustomObjects extends plugin_1.BrowserforcePlugin {
59
40
  }
60
41
  };
61
42
  for (const availableCustomObject of definition) {
62
- const customObject = customObjects.records.find(co => {
63
- if (availableCustomObject.namespacePrefix === undefined) {
64
- availableCustomObject.namespacePrefix = null;
65
- }
43
+ const customObject = customObjects.records.find((co) => {
66
44
  return (co.DeveloperName === availableCustomObject.name &&
67
45
  co.NamespacePrefix === availableCustomObject.namespacePrefix);
68
46
  });
@@ -91,31 +69,28 @@ class CustomerPortalAvailableCustomObjects extends plugin_1.BrowserforcePlugin {
91
69
  const response = [];
92
70
  if (state && definition) {
93
71
  for (const availableCustomObject of definition) {
94
- const oldCustomObject = state.find(customObject => {
95
- if (availableCustomObject.namespacePrefix === undefined) {
96
- availableCustomObject.namespacePrefix = null;
97
- }
72
+ const oldCustomObject = state.find((customObject) => {
98
73
  return (customObject.name === availableCustomObject.name &&
99
- customObject.namespacePrefix ===
100
- availableCustomObject.namespacePrefix);
74
+ customObject.namespacePrefix === availableCustomObject.namespacePrefix);
101
75
  });
102
- // move id of existing object to new object to be retained and used
76
+ if (!oldCustomObject) {
77
+ throw new Error(`Could not find CustomObject "${availableCustomObject.name}"`);
78
+ }
79
+ // copy id of existing object to new object to be retained and used
103
80
  availableCustomObject._id = oldCustomObject._id;
104
- delete oldCustomObject._id;
105
- const diff = jsonMergePatch.generate(oldCustomObject, availableCustomObject);
106
- if (diff.available !== undefined) {
81
+ const diff = (0, utils_1.semanticallyCleanObject)(super.diff(oldCustomObject, availableCustomObject), '_id');
82
+ if (diff?.available !== undefined) {
107
83
  response.push(diff);
108
84
  }
109
85
  }
110
86
  }
111
- return response;
87
+ return response.length ? response : undefined;
112
88
  }
113
89
  async apply(plan) {
114
90
  if (plan && plan.length) {
115
91
  const page = await this.browserforce.openPage('');
116
92
  // new URLs for LEX: https://help.salesforce.com/articleView?id=FAQ-for-the-New-URL-Format-for-Lightning-Experience-and-the-Salesforce-Mobile-App&type=1
117
- const isLEX = page.url().indexOf('/one/one.app') >= 0 ||
118
- page.url().indexOf('/lightning/') >= 0;
93
+ const isLEX = page.url().includes('/one/one.app') || page.url().includes('/lightning/');
119
94
  const getObjectPageUrl = function (customObject, isLexUi = true) {
120
95
  const classicUiPath = `${customObject._id}/e?options_9=${customObject.available ? 1 : 0}&retURL=/${customObject._id}`;
121
96
  if (isLexUi) {
@@ -129,10 +104,7 @@ class CustomerPortalAvailableCustomObjects extends plugin_1.BrowserforcePlugin {
129
104
  const pageUrl = getObjectPageUrl(customObject, isLEX);
130
105
  const editPage = await this.browserforce.openPage(pageUrl);
131
106
  const frameOrPage = await this.browserforce.waitForSelectorInFrameOrPage(editPage, SELECTORS.SAVE_BUTTON);
132
- await Promise.all([
133
- frameOrPage.waitForNavigation(),
134
- frameOrPage.click(SELECTORS.SAVE_BUTTON)
135
- ]);
107
+ await Promise.all([frameOrPage.waitForNavigation(), frameOrPage.click(SELECTORS.SAVE_BUTTON)]);
136
108
  await editPage.close();
137
109
  }
138
110
  await page.close();
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/plugins/customer-portal/available-custom-objects/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/plugins/customer-portal/available-custom-objects/index.ts"],"names":[],"mappings":"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"}
@@ -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
+ const tests = [
9
+ {
10
+ description: 'should only return necessary fields',
11
+ source: [
12
+ {
13
+ _id: 'p1',
14
+ name: 'Dummy',
15
+ available: false
16
+ }
17
+ ],
18
+ target: [
19
+ {
20
+ name: 'Dummy',
21
+ available: true
22
+ }
23
+ ],
24
+ expected: [
25
+ {
26
+ _id: 'p1',
27
+ name: 'Dummy',
28
+ available: true
29
+ }
30
+ ]
31
+ }
32
+ ];
33
+ describe('CustomerPortalAvailableCustomObjects', () => {
34
+ describe('diff()', () => {
35
+ const p = new _1.CustomerPortalAvailableCustomObjects(global.bf);
36
+ for (const t of tests) {
37
+ it(t.description, () => {
38
+ const actual = p.diff(t.source, t.target);
39
+ assert_1.default.deepStrictEqual(actual, t.expected);
40
+ });
41
+ }
42
+ });
43
+ });
44
+ //# sourceMappingURL=index.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../../../src/plugins/customer-portal/available-custom-objects/index.test.ts"],"names":[],"mappings":";;;;;AAAA,oDAA4B;AAC5B,wBAAsE;AAQtE,MAAM,KAAK,GAAQ;IACjB;QACE,WAAW,EAAE,qCAAqC;QAClD,MAAM,EAAE;YACN;gBACE,GAAG,EAAE,IAAI;gBACT,IAAI,EAAE,OAAO;gBACb,SAAS,EAAE,KAAK;aACjB;SACF;QACD,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,OAAO;gBACb,SAAS,EAAE,IAAI;aAChB;SACF;QACD,QAAQ,EAAE;YACR;gBACE,GAAG,EAAE,IAAI;gBACT,IAAI,EAAE,OAAO;gBACb,SAAS,EAAE,IAAI;aAChB;SACQ;KACZ;CACF,CAAC;AAEF,QAAQ,CAAC,sCAAsC,EAAE,GAAG,EAAE;IACpD,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;QACtB,MAAM,CAAC,GAAG,IAAI,uCAAoC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC9D,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE;YACrB,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,EAAE;gBACrB,MAAM,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;gBAC1C,gBAAM,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC7C,CAAC,CAAC,CAAC;SACJ;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -10,15 +10,10 @@ const SELECTORS = {
10
10
  SAVE_BUTTON: 'input[name="save"]'
11
11
  };
12
12
  class CustomerPortalEnable extends plugin_1.BrowserforcePlugin {
13
- async retrieve(definition) {
13
+ async retrieve() {
14
14
  const conn = await this.browserforce.org.getConnection();
15
15
  const orgSettings = await conn.metadata.read('OrgSettings', 'Org');
16
- return orgSettings.enableCustomerSuccessPortal;
17
- }
18
- diff(state, definition) {
19
- if (state !== definition) {
20
- return definition;
21
- }
16
+ return orgSettings.enableCustomerSuccessPortal ?? false;
22
17
  }
23
18
  async apply(plan) {
24
19
  if (plan === false) {
@@ -30,10 +25,7 @@ class CustomerPortalEnable extends plugin_1.BrowserforcePlugin {
30
25
  await page.$eval(SELECTORS.ENABLED, (e, v) => {
31
26
  e.checked = v;
32
27
  }, plan);
33
- await Promise.all([
34
- page.waitForNavigation(),
35
- page.click(SELECTORS.SAVE_BUTTON)
36
- ]);
28
+ await Promise.all([page.waitForNavigation(), page.click(SELECTORS.SAVE_BUTTON)]);
37
29
  await page.close();
38
30
  }
39
31
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/plugins/customer-portal/enabled/index.ts"],"names":[],"mappings":";;;AAAA,4CAAqD;AAErD,MAAM,KAAK,GAAG;IACZ,SAAS,EAAE,8CAA8C;CAC1D,CAAC;AACF,MAAM,SAAS,GAAG;IAChB,OAAO,EAAE,WAAW;IACpB,WAAW,EAAE,oBAAoB;CAClC,CAAC;AAIF,MAAa,oBAAqB,SAAQ,2BAAkB;IACnD,KAAK,CAAC,QAAQ,CAAC,UAAmB;QACvC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;QACzD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;QACnE,OAAO,WAAW,CAAC,2BAA2B,CAAC;IACjD,CAAC;IAEM,IAAI,CAAC,KAAa,EAAE,UAAkB;QAC3C,IAAI,KAAK,KAAK,UAAU,EAAE;YACxB,OAAO,UAAU,CAAC;SACnB;IACH,CAAC;IAEM,KAAK,CAAC,KAAK,CAAC,IAAY;QAC7B,IAAI,IAAI,KAAK,KAAK,EAAE;YAClB,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;SAC9D;QAED,IAAI,IAAI,EAAE;YACR,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YAC/D,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YAC9C,MAAM,IAAI,CAAC,KAAK,CACd,SAAS,CAAC,OAAO,EACjB,CAAC,CAAmB,EAAE,CAAU,EAAE,EAAE;gBAClC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC;YAChB,CAAC,EACD,IAAI,CACL,CAAC;YACF,MAAM,OAAO,CAAC,GAAG,CAAC;gBAChB,IAAI,CAAC,iBAAiB,EAAE;gBACxB,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC;aAClC,CAAC,CAAC;YACH,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;SACpB;IACH,CAAC;CACF;AAnCD,oDAmCC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/plugins/customer-portal/enabled/index.ts"],"names":[],"mappings":";;;AAAA,4CAAqD;AAErD,MAAM,KAAK,GAAG;IACZ,SAAS,EAAE,8CAA8C;CAC1D,CAAC;AACF,MAAM,SAAS,GAAG;IAChB,OAAO,EAAE,WAAW;IACpB,WAAW,EAAE,oBAAoB;CAClC,CAAC;AAIF,MAAa,oBAAqB,SAAQ,2BAAkB;IACnD,KAAK,CAAC,QAAQ;QACnB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC;QACzD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;QACnE,OAAO,WAAW,CAAC,2BAA2B,IAAI,KAAK,CAAC;IAC1D,CAAC;IAEM,KAAK,CAAC,KAAK,CAAC,IAAY;QAC7B,IAAI,IAAI,KAAK,KAAK,EAAE;YAClB,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;SAC9D;QAED,IAAI,IAAI,EAAE;YACR,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YAC/D,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YAC9C,MAAM,IAAI,CAAC,KAAK,CACd,SAAS,CAAC,OAAO,EACjB,CAAC,CAAmB,EAAE,CAAU,EAAE,EAAE;gBAClC,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC;YAChB,CAAC,EACD,IAAI,CACL,CAAC;YACF,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;YACjF,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;SACpB;IACH,CAAC;CACF;AA1BD,oDA0BC"}
@@ -0,0 +1,39 @@
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 ignore a non-existent target flag',
11
+ source: true,
12
+ target: undefined,
13
+ expected: undefined
14
+ },
15
+ {
16
+ description: 'should ignore a matching target flag',
17
+ source: true,
18
+ target: true,
19
+ expected: undefined
20
+ },
21
+ {
22
+ description: 'should detect a changed flag',
23
+ source: false,
24
+ target: true,
25
+ expected: true
26
+ }
27
+ ];
28
+ describe('CustomerPortalEnabled', () => {
29
+ describe('diff()', () => {
30
+ const p = new _1.CustomerPortalEnable(global.bf);
31
+ for (const t of tests) {
32
+ it(t.description, () => {
33
+ const actual = p.diff(t.source, t.target);
34
+ assert_1.default.deepStrictEqual(actual, t.expected);
35
+ });
36
+ }
37
+ });
38
+ });
39
+ //# sourceMappingURL=index.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../../../src/plugins/customer-portal/enabled/index.test.ts"],"names":[],"mappings":";;;;;AAAA,oDAA4B;AAC5B,wBAAkE;AASlE,MAAM,KAAK,GAAQ;IACjB;QACE,WAAW,EAAE,0CAA0C;QACvD,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE,SAAS;QACjB,QAAQ,EAAE,SAAS;KACpB;IACD;QACE,WAAW,EAAE,sCAAsC;QACnD,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE,IAAI;QACZ,QAAQ,EAAE,SAAS;KACpB;IACD;QACE,WAAW,EAAE,8BAA8B;QAC3C,MAAM,EAAE,KAAK;QACb,MAAM,EAAE,IAAI;QACZ,QAAQ,EAAE,IAAI;KACf;CACF,CAAC;AAEF,QAAQ,CAAC,uBAAuB,EAAE,GAAG,EAAE;IACrC,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;QACtB,MAAM,CAAC,GAAG,IAAI,uBAAqB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC/C,KAAK,MAAM,CAAC,IAAI,KAAK,EAAE;YACrB,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,EAAE;gBACrB,MAAM,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;gBAC1C,gBAAM,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC;YAC7C,CAAC,CAAC,CAAC;SACJ;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}