@pega/custom-dx-components 0.25.22 → 0.25.24

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 (159) hide show
  1. package/package.json +1 -1
  2. package/src/tasks/build-jest-assets/index.js +0 -1
  3. package/src/tasks/build-lib/helper.js +0 -2
  4. package/src/tasks/build-lib/index.js +3 -3
  5. package/src/tasks/create/index.js +5 -1
  6. package/src/tasks/create/templates/Constellation/Field/Boolean/config.json.mustache +1 -0
  7. package/src/tasks/create/templates/Constellation/Field/Date/config.json.mustache +1 -0
  8. package/src/tasks/create/templates/Constellation/Field/DateTime/config.json.mustache +1 -0
  9. package/src/tasks/create/templates/Constellation/Field/Decimal/config.json.mustache +1 -0
  10. package/src/tasks/create/templates/Constellation/Field/Decimal-Currency/config.json.mustache +1 -0
  11. package/src/tasks/create/templates/Constellation/Field/Decimal-Percentage/config.json.mustache +1 -0
  12. package/src/tasks/create/templates/Constellation/Field/Icon-Button-URL/config.json.mustache +1 -0
  13. package/src/tasks/create/templates/Constellation/Field/Integer/config.json.mustache +1 -0
  14. package/src/tasks/create/templates/Constellation/Field/Picklist/config.json.mustache +1 -0
  15. package/src/tasks/create/templates/Constellation/Field/Picklist-Autocomplete/config.json.mustache +1 -0
  16. package/src/tasks/create/templates/Constellation/Field/Picklist-RadioButtons/config.json.mustache +1 -0
  17. package/src/tasks/create/templates/Constellation/Field/Text/config.json.mustache +1 -0
  18. package/src/tasks/create/templates/Constellation/Field/Text-Email/config.json.mustache +1 -0
  19. package/src/tasks/create/templates/Constellation/Field/Text-Input/config.json.mustache +1 -0
  20. package/src/tasks/create/templates/Constellation/Field/Text-Paragraph/config.json.mustache +1 -0
  21. package/src/tasks/create/templates/Constellation/Field/Text-Phone/config.json.mustache +1 -0
  22. package/src/tasks/create/templates/Constellation/Field/Text-URL/config.json.mustache +1 -0
  23. package/src/tasks/create/templates/Constellation/Field/TimeofDay/config.json.mustache +1 -0
  24. package/src/tasks/create/templates/Constellation/Template/DETAILS/config.json.mustache +1 -0
  25. package/src/tasks/create/templates/Constellation/Template/DETAILS-region/config.json.mustache +1 -0
  26. package/src/tasks/create/templates/Constellation/Template/FORM/config.json.mustache +1 -0
  27. package/src/tasks/create/templates/Constellation/Template/FORM-region/config.json.mustache +1 -0
  28. package/src/tasks/create/templates/Constellation/Template/PAGE/config.json.mustache +1 -0
  29. package/src/tasks/create/templates/Constellation/Widget/CASE/config.json.mustache +1 -0
  30. package/src/tasks/create/templates/Constellation/Widget/PAGE/config.json.mustache +1 -0
  31. package/src/tasks/create/templates/Constellation/Widget/PAGE-CASE/config.json.mustache +1 -0
  32. package/src/tasks/create/templates/Launchpad/Field/Icon-Button-URL/config.json.mustache +1 -0
  33. package/src/tasks/create/templates/Launchpad/Widget/CASE/config.json.mustache +1 -0
  34. package/src/tasks/create/templates/Launchpad/Widget/PAGE/config.json.mustache +1 -0
  35. package/src/tasks/create/templates/Launchpad/Widget/PAGE-CASE/config.json.mustache +1 -0
  36. package/src/tasks/create-all/index.js +5 -1
  37. package/src/tasks/delete/helper.js +0 -1
  38. package/src/tasks/delete/index.js +5 -1
  39. package/src/tasks/delete-lib/helper.js +0 -1
  40. package/src/tasks/delete-pub/helper.js +7 -2
  41. package/src/tasks/delete-version/index.js +0 -1
  42. package/src/tasks/export-archive/helper.js +7 -1
  43. package/src/tasks/export-archive/index.js +10 -34
  44. package/src/tasks/import-archive/helper.js +19 -5
  45. package/src/tasks/import-archive/index.js +247 -35
  46. package/src/tasks/import-comp/helper.js +0 -2
  47. package/src/tasks/init/template/package.json.mustache +1 -1
  48. package/src/tasks/init/template/tasks.config.json +1 -1
  49. package/src/tasks/list/helper.js +17 -2
  50. package/src/tasks/list-lib/index.js +10 -1
  51. package/src/tasks/list-pub/helper.js +2 -4
  52. package/src/tasks/list-pub/index.js +15 -2
  53. package/src/tasks/publish/helper.js +0 -1
  54. package/src/tasks/publish/index.js +13 -1
  55. package/src/tasks/publish-all/index.js +10 -1
  56. package/src/tasks/publish-archive/index.js +53 -83
  57. package/src/tasks/publish-lib/index.js +0 -23
  58. package/src/tasks/rename/index.js +9 -1
  59. package/src/tasks/restore/index.js +19 -13
  60. package/src/tasks/set-perm/index.js +0 -2
  61. package/src/tasks/show-help/index.js +1 -5
  62. package/src/tasks/show-status/index.js +19 -6
  63. package/src/tasks/store/index.js +39 -18
  64. package/src/tasks/switch-lib/helper.js +0 -1
  65. package/src/tasks/validator/index.js +10 -5
  66. package/src/util.js +21 -77
  67. package/tests/assets/library/components/create/Pega_DXIL_MyTestText/config.json +1 -0
  68. package/tests/assets/library/components/create/shared/create-nonce.ts +1 -0
  69. package/tests/assets/library/components/createAll/Constellation/Pega_DXIL_MyBoolean/config.json +1 -0
  70. package/tests/assets/library/components/createAll/Constellation/Pega_DXIL_MyCaseWidget/config.json +1 -0
  71. package/tests/assets/library/components/createAll/Constellation/Pega_DXIL_MyCurrency/config.json +1 -0
  72. package/tests/assets/library/components/createAll/Constellation/Pega_DXIL_MyDate/config.json +1 -0
  73. package/tests/assets/library/components/createAll/Constellation/Pega_DXIL_MyDate/date.ts +0 -24
  74. package/tests/assets/library/components/createAll/Constellation/Pega_DXIL_MyDateTime/config.json +1 -0
  75. package/tests/assets/library/components/createAll/Constellation/Pega_DXIL_MyDecimal/config.json +1 -0
  76. package/tests/assets/library/components/createAll/Constellation/Pega_DXIL_MyDetails/config.json +1 -0
  77. package/tests/assets/library/components/createAll/Constellation/Pega_DXIL_MyEmail/config.json +1 -0
  78. package/tests/assets/library/components/createAll/Constellation/Pega_DXIL_MyForm/config.json +1 -0
  79. package/tests/assets/library/components/createAll/Constellation/Pega_DXIL_MyIconButtonURL/config.json +1 -0
  80. package/tests/assets/library/components/createAll/Constellation/Pega_DXIL_MyInteger/config.json +1 -0
  81. package/tests/assets/library/components/createAll/Constellation/Pega_DXIL_MyPage/config.json +1 -0
  82. package/tests/assets/library/components/createAll/Constellation/Pega_DXIL_MyPageCaseWidget/config.json +1 -0
  83. package/tests/assets/library/components/createAll/Constellation/Pega_DXIL_MyPageWidget/config.json +1 -0
  84. package/tests/assets/library/components/createAll/Constellation/Pega_DXIL_MyParagraph/config.json +1 -0
  85. package/tests/assets/library/components/createAll/Constellation/Pega_DXIL_MyPercentage/config.json +1 -0
  86. package/tests/assets/library/components/createAll/Constellation/Pega_DXIL_MyPhone/config.json +1 -0
  87. package/tests/assets/library/components/createAll/Constellation/Pega_DXIL_MyPicklist/config.json +1 -0
  88. package/tests/assets/library/components/createAll/Constellation/Pega_DXIL_MyRadiobuttons/config.json +1 -0
  89. package/tests/assets/library/components/createAll/Constellation/Pega_DXIL_MySearchbox/config.json +1 -0
  90. package/tests/assets/library/components/createAll/Constellation/Pega_DXIL_MySearchbox/repeat-utils.ts +0 -4
  91. package/tests/assets/library/components/createAll/Constellation/Pega_DXIL_MyText/config.json +1 -0
  92. package/tests/assets/library/components/createAll/Constellation/Pega_DXIL_MyTextInput/config.json +1 -0
  93. package/tests/assets/library/components/createAll/Constellation/Pega_DXIL_MyTimeOfDay/config.json +1 -0
  94. package/tests/assets/library/components/createAll/Constellation/Pega_DXIL_MyTwoColumnDetails/config.json +1 -0
  95. package/tests/assets/library/components/createAll/Constellation/Pega_DXIL_MyTwoColumnForm/config.json +1 -0
  96. package/tests/assets/library/components/createAll/Constellation/Pega_DXIL_MyURL/config.json +1 -0
  97. package/tests/assets/library/components/createAll/Constellation/shared/create-nonce.ts +1 -0
  98. package/tests/assets/original/components/create/Pega_DXIL_MyTestText/config.json +1 -0
  99. package/tests/assets/original/components/createAll/Constellation/Pega_DXIL_MyBoolean/config.json +1 -0
  100. package/tests/assets/original/components/createAll/Constellation/Pega_DXIL_MyCaseWidget/config.json +1 -0
  101. package/tests/assets/original/components/createAll/Constellation/Pega_DXIL_MyCurrency/config.json +1 -0
  102. package/tests/assets/original/components/createAll/Constellation/Pega_DXIL_MyDate/config.json +1 -0
  103. package/tests/assets/original/components/createAll/Constellation/Pega_DXIL_MyDateTime/config.json +1 -0
  104. package/tests/assets/original/components/createAll/Constellation/Pega_DXIL_MyDecimal/config.json +1 -0
  105. package/tests/assets/original/components/createAll/Constellation/Pega_DXIL_MyDetails/config.json +1 -0
  106. package/tests/assets/original/components/createAll/Constellation/Pega_DXIL_MyEmail/config.json +1 -0
  107. package/tests/assets/original/components/createAll/Constellation/Pega_DXIL_MyForm/config.json +1 -0
  108. package/tests/assets/original/components/createAll/Constellation/Pega_DXIL_MyIconButtonURL/config.json +1 -0
  109. package/tests/assets/original/components/createAll/Constellation/Pega_DXIL_MyInteger/config.json +1 -0
  110. package/tests/assets/original/components/createAll/Constellation/Pega_DXIL_MyPage/config.json +1 -0
  111. package/tests/assets/original/components/createAll/Constellation/Pega_DXIL_MyPageCaseWidget/config.json +1 -0
  112. package/tests/assets/original/components/createAll/Constellation/Pega_DXIL_MyPageWidget/config.json +1 -0
  113. package/tests/assets/original/components/createAll/Constellation/Pega_DXIL_MyParagraph/config.json +1 -0
  114. package/tests/assets/original/components/createAll/Constellation/Pega_DXIL_MyPercentage/config.json +1 -0
  115. package/tests/assets/original/components/createAll/Constellation/Pega_DXIL_MyPhone/config.json +1 -0
  116. package/tests/assets/original/components/createAll/Constellation/Pega_DXIL_MyPicklist/config.json +1 -0
  117. package/tests/assets/original/components/createAll/Constellation/Pega_DXIL_MyRadiobuttons/config.json +1 -0
  118. package/tests/assets/original/components/createAll/Constellation/Pega_DXIL_MySearchbox/config.json +1 -0
  119. package/tests/assets/original/components/createAll/Constellation/Pega_DXIL_MyText/config.json +1 -0
  120. package/tests/assets/original/components/createAll/Constellation/Pega_DXIL_MyTextInput/config.json +1 -0
  121. package/tests/assets/original/components/createAll/Constellation/Pega_DXIL_MyTimeOfDay/config.json +1 -0
  122. package/tests/assets/original/components/createAll/Constellation/Pega_DXIL_MyTwoColumnDetails/config.json +1 -0
  123. package/tests/assets/original/components/createAll/Constellation/Pega_DXIL_MyTwoColumnForm/config.json +1 -0
  124. package/tests/assets/original/components/createAll/Constellation/Pega_DXIL_MyURL/config.json +1 -0
  125. package/tests/assets/original/components/createAll/Launchpad/Pega_DXIL_MyBoolean/config.json +1 -0
  126. package/tests/assets/original/components/createAll/Launchpad/Pega_DXIL_MyCaseWidget/config.json +1 -0
  127. package/tests/assets/original/components/createAll/Launchpad/Pega_DXIL_MyCurrency/config.json +1 -0
  128. package/tests/assets/original/components/createAll/Launchpad/Pega_DXIL_MyDate/config.json +1 -0
  129. package/tests/assets/original/components/createAll/Launchpad/Pega_DXIL_MyDateTime/config.json +1 -0
  130. package/tests/assets/original/components/createAll/Launchpad/Pega_DXIL_MyDecimal/config.json +1 -0
  131. package/tests/assets/original/components/createAll/Launchpad/Pega_DXIL_MyDetails/config.json +1 -0
  132. package/tests/assets/original/components/createAll/Launchpad/Pega_DXIL_MyEmail/config.json +1 -0
  133. package/tests/assets/original/components/createAll/Launchpad/Pega_DXIL_MyForm/config.json +1 -0
  134. package/tests/assets/original/components/createAll/Launchpad/Pega_DXIL_MyIconButtonURL/config.json +1 -0
  135. package/tests/assets/original/components/createAll/Launchpad/Pega_DXIL_MyInteger/config.json +1 -0
  136. package/tests/assets/original/components/createAll/Launchpad/Pega_DXIL_MyPage/config.json +1 -0
  137. package/tests/assets/original/components/createAll/Launchpad/Pega_DXIL_MyPageCaseWidget/config.json +1 -0
  138. package/tests/assets/original/components/createAll/Launchpad/Pega_DXIL_MyPageWidget/config.json +1 -0
  139. package/tests/assets/original/components/createAll/Launchpad/Pega_DXIL_MyParagraph/config.json +1 -0
  140. package/tests/assets/original/components/createAll/Launchpad/Pega_DXIL_MyPercentage/config.json +1 -0
  141. package/tests/assets/original/components/createAll/Launchpad/Pega_DXIL_MyPhone/config.json +1 -0
  142. package/tests/assets/original/components/createAll/Launchpad/Pega_DXIL_MyPicklist/config.json +1 -0
  143. package/tests/assets/original/components/createAll/Launchpad/Pega_DXIL_MyRadiobuttons/config.json +1 -0
  144. package/tests/assets/original/components/createAll/Launchpad/Pega_DXIL_MySearchbox/config.json +1 -0
  145. package/tests/assets/original/components/createAll/Launchpad/Pega_DXIL_MyText/config.json +1 -0
  146. package/tests/assets/original/components/createAll/Launchpad/Pega_DXIL_MyTextInput/config.json +1 -0
  147. package/tests/assets/original/components/createAll/Launchpad/Pega_DXIL_MyTimeOfDay/config.json +1 -0
  148. package/tests/assets/original/components/createAll/Launchpad/Pega_DXIL_MyTwoColumnDetails/config.json +1 -0
  149. package/tests/assets/original/components/createAll/Launchpad/Pega_DXIL_MyTwoColumnForm/config.json +1 -0
  150. package/tests/assets/original/components/createAll/Launchpad/Pega_DXIL_MyURL/config.json +1 -0
  151. package/tests/functional/localCreateBuildAllDeleteAll.test.js +8 -8
  152. package/tests/functional/localCreateBuildDelete.test.js +8 -8
  153. package/tests/functional/localCreateListDelete.test.js +8 -8
  154. package/tests/functional/localCreatePublishAllDeleteAll.test.js +8 -8
  155. package/tests/functional/localCreatePublishDelete.test.js +8 -8
  156. package/tests/functional/localCreateRenameDelete.test.js +8 -8
  157. package/tests/functional/localLibCreateLibBuildLibDeleteLib.test.js +1 -1
  158. package/tests/functional/localLibCreateLibBuildLibListPubDeleteLib.test.js +1 -1
  159. package/tests/functional/localLibCreateLibStoreRestoreDeleteLib.test.js +376 -0
@@ -0,0 +1,376 @@
1
+ // import { exec } from 'child_process';
2
+ const path = require('path');
3
+ const fs = require('fs');
4
+ const util = require('node:util');
5
+ const exec = util.promisify(require('node:child_process').exec);
6
+
7
+ const tasksConfigDir = path.resolve('../../..', 'tasks.config.json');
8
+ const tasksConfigData = fs.readFileSync(tasksConfigDir, { encoding: 'utf8' });
9
+ let tasksConfigJSON = JSON.parse(tasksConfigData);
10
+
11
+ const packageJSONDir = path.resolve('../../..', 'package.json');
12
+ const packageJSONData = fs.readFileSync(packageJSONDir, { encoding: 'utf8'});
13
+ let packageJSON = JSON.parse(packageJSONData);
14
+
15
+ let isLibraryBasedCL = tasksConfigJSON['libraryModeCL'];
16
+ const savedLibraryBased = isLibraryBasedCL;
17
+ const savedOrganization = packageJSON.organization;
18
+
19
+ const serverType = tasksConfigJSON['server-config'].serverType;
20
+ const serverDir = serverType === 'launchpad' ? 'Launchpad' : 'Constellation';
21
+ let compType = isLibraryBasedCL ? "library" : "original";
22
+
23
+
24
+ describe(`createLib createAll list createLibVersion(with copy) switchLibe list deleteLibVersion(all) : ${serverDir} - ${compType}` , () => {
25
+
26
+ beforeAll( async() => {
27
+
28
+ // make libraryBased
29
+ isLibraryBasedCL = true;
30
+ tasksConfigJSON['libraryModeCL'] = isLibraryBasedCL;
31
+ compType = isLibraryBasedCL ? "library" : "original";
32
+ fs.writeFileSync(tasksConfigDir, JSON.stringify(tasksConfigJSON, null, 4), { encoding: 'utf8' });
33
+
34
+ const storeDir = path.join(path.resolve('../../..'), 'store');
35
+ if (fs.existsSync(storeDir)) {
36
+ fs.rmSync(storeDir, { recursive: true, force: true, maxRetries: 2 });
37
+ }
38
+
39
+ // make organzation Pega
40
+ packageJSON.organization = "Pega";
41
+ fs.writeFileSync(packageJSONDir, JSON.stringify(packageJSON, null, 4), { encoding: 'utf8' });
42
+
43
+
44
+ const componentsDir = path.join(path.resolve('../../..'), 'src/components');
45
+ if (fs.existsSync(componentsDir)) {
46
+ fs.rmSync(componentsDir, { recursive: true, force: true, maxRetries: 2 });
47
+ fs.mkdirSync(componentsDir, { recursive: true });
48
+ }
49
+
50
+ await new Promise((r) => setTimeout(r, 2000));
51
+
52
+
53
+ });
54
+
55
+ afterAll( async() => {
56
+
57
+ //restore
58
+ isLibraryBasedCL = savedLibraryBased
59
+ tasksConfigJSON['libraryModeCL'] = isLibraryBasedCL;
60
+
61
+ fs.writeFileSync(tasksConfigDir, JSON.stringify(tasksConfigJSON, null, 4), { encoding: 'utf8' });
62
+
63
+ // return organzation
64
+ packageJSON.organization = savedOrganization;
65
+ fs.writeFileSync(packageJSONDir, JSON.stringify(packageJSON, null, 4), { encoding: 'utf8' });
66
+
67
+ const componentsDir = path.join(path.resolve('../../..'), 'src/components');
68
+ if (fs.existsSync(componentsDir)) {
69
+ fs.rmSync(componentsDir, { recursive: true, force: true, maxRetries: 2 });
70
+ fs.mkdirSync(componentsDir, { recursive: true });
71
+ }
72
+
73
+ const storeDir = path.join(path.resolve('../../..'), 'store');
74
+ if (fs.existsSync(storeDir)) {
75
+ fs.rmSync(storeDir, { recursive: true, force: true, maxRetries: 2 });
76
+ }
77
+
78
+ await new Promise((r) => setTimeout(r, 2000));
79
+
80
+ });
81
+
82
+
83
+ it(`npm run createLib - ${isLibraryBasedCL}`, async() => {
84
+
85
+ const script = `npm run createLib DXIL 0.0.1 N Original --prefix ../../..`;
86
+ const compConf = path.join("store", "Pega_DXIL","0.0.1", "componentsconfig.json");
87
+
88
+ const { stdout, stderr } = await exec(script);
89
+ expect(stdout).toContain('Library Pega_DXIL/0.0.1 has been created!');
90
+
91
+ const doesExist = fs.existsSync(path.resolve('../../..', compConf));
92
+
93
+ expect(doesExist).toBeTruthy();
94
+
95
+ }, 30000);
96
+
97
+ it('npm run createAll', async () => {
98
+ const script = `npm run createAll "My" 0.0.1 DXIL "" Pega Jest --prefix ../../..`;
99
+
100
+ const { stdout, stderr } = await exec(script);
101
+ // console.log(stdout);
102
+ expect(stdout).not.toBeNull();
103
+ expect(stderr).not.toBeNull();
104
+
105
+ // want message to contain component name
106
+ expect(stdout).toContain('created Pega_DXIL_My');
107
+
108
+ // don't want message with already exists
109
+ expect(stdout).not.toContain('already exists');
110
+
111
+ // check to see file exists
112
+
113
+ // pick one
114
+ const newFileName = 'Pega_DXIL_MyBoolean';
115
+
116
+ // const fileDir = path.resolve(`src/components/${newFileName}`);
117
+ const createFile = path.resolve(
118
+ '../../..',
119
+ path.join(`src/components/${newFileName}`, 'index.tsx')
120
+ );
121
+ const doesExist = fs.existsSync(createFile);
122
+ expect(doesExist).toBeTruthy();
123
+
124
+ // if (doesExist) {
125
+ // // remove it
126
+ // fs.rmdirSync(fileDir, { recursive: true });
127
+ // }
128
+ }, 90000);
129
+
130
+ it('npm run list', async () => {
131
+ const script = 'npm run list --prefix ../../..';
132
+ const { stdout, stderr } = await exec(script);
133
+
134
+ expect(stderr).not.toBeNull();
135
+
136
+ // console.log(stdout);
137
+ expect(stdout).not.toBeNull();
138
+ expect(stdout).toContain('Pega_DXIL_MyText');
139
+ expect(stdout).toContain('Pega_DXIL_MyTextInput');
140
+ expect(stdout).toContain('Pega_DXIL_MyParagraph');
141
+ expect(stdout).toContain('Pega_DXIL_MyEmail');
142
+ expect(stdout).toContain('Pega_DXIL_MyPhone');
143
+ expect(stdout).toContain('Pega_DXIL_MyURL');
144
+ expect(stdout).toContain('Pega_DXIL_MyInteger');
145
+ expect(stdout).toContain('Pega_DXIL_MyDecimal');
146
+ expect(stdout).toContain('Pega_DXIL_MyCurrency');
147
+ expect(stdout).toContain('Pega_DXIL_MyPercentage');
148
+ expect(stdout).toContain('Pega_DXIL_MyBoolean');
149
+ expect(stdout).toContain('Pega_DXIL_MyDate');
150
+ expect(stdout).toContain('Pega_DXIL_MyDateTime');
151
+ expect(stdout).toContain('Pega_DXIL_MyTimeOfDay');
152
+ expect(stdout).toContain('Pega_DXIL_MyPicklist');
153
+ expect(stdout).toContain('Pega_DXIL_MySearchbox');
154
+ expect(stdout).toContain('Pega_DXIL_MyRadiobuttons');
155
+ expect(stdout).toContain('Pega_DXIL_MyDetails');
156
+ expect(stdout).toContain('Pega_DXIL_MyTwoColumnDetails');
157
+ expect(stdout).toContain('Pega_DXIL_MyForm');
158
+ expect(stdout).toContain('Pega_DXIL_MyTwoColumnForm');
159
+ expect(stdout).toContain('Pega_DXIL_MyPage');
160
+ expect(stdout).toContain('Pega_DXIL_MyCaseWidget');
161
+ expect(stdout).toContain('Pega_DXIL_MyPageWidget');
162
+ expect(stdout).toContain('Pega_DXIL_MyPageCaseWidget');
163
+ // done();
164
+ }, 10000);
165
+
166
+ it('compare created to default', async () => {
167
+ const compList = [
168
+ 'Pega_DXIL_MyText',
169
+ 'Pega_DXIL_MyTextInput',
170
+ 'Pega_DXIL_MyParagraph',
171
+ 'Pega_DXIL_MyEmail',
172
+ 'Pega_DXIL_MyPhone',
173
+ 'Pega_DXIL_MyURL',
174
+ 'Pega_DXIL_MyInteger',
175
+ 'Pega_DXIL_MyDecimal',
176
+ 'Pega_DXIL_MyCurrency',
177
+ 'Pega_DXIL_MyPercentage',
178
+ 'Pega_DXIL_MyBoolean',
179
+ 'Pega_DXIL_MyDate',
180
+ 'Pega_DXIL_MyDateTime',
181
+ 'Pega_DXIL_MyTimeOfDay',
182
+ 'Pega_DXIL_MyPicklist',
183
+ 'Pega_DXIL_MySearchbox',
184
+ 'Pega_DXIL_MyRadiobuttons',
185
+ 'Pega_DXIL_MyDetails',
186
+ 'Pega_DXIL_MyTwoColumnDetails',
187
+ 'Pega_DXIL_MyForm',
188
+ 'Pega_DXIL_MyTwoColumnForm',
189
+ 'Pega_DXIL_MyPage',
190
+ 'Pega_DXIL_MyCaseWidget',
191
+ 'Pega_DXIL_MyPageWidget',
192
+ 'Pega_DXIL_MyPageCaseWidget'
193
+ ];
194
+
195
+ compList.forEach(component => {
196
+ const componentDir = path.resolve('../../..', `src/components/${component}`);
197
+ const assetDir = path.resolve(`tests/assets/${compType}/components/createAll/${serverDir}/${component}`);
198
+ // get files of directory
199
+ const componentFiles = fs.readdirSync(componentDir);
200
+
201
+ // get files of assets
202
+ // const assetFiles = fs.readdirSync(assetDir);
203
+
204
+ // compare
205
+ componentFiles.forEach(file => {
206
+ const componentFilePath = path.join(componentDir, file);
207
+ const assetFilePath = path.join(assetDir, file);
208
+
209
+ let componentFileData = fs.readFileSync(componentFilePath, { encoding: 'utf8' });
210
+ let assetFileData = fs.readFileSync(assetFilePath, { encoding: 'utf8' });
211
+
212
+ // so that we don't have to generate all new assets, change "version"
213
+ // from 0.0.1 to 0.0.1 for now
214
+ if (file === "config.json") {
215
+ expect(componentFileData).toContain("0.0.1");
216
+ // componentFileData = componentFileData.replace("0.0.1", "0.0.1");
217
+
218
+ // normalize
219
+ componentFileData = JSON.stringify(JSON.parse(componentFileData));
220
+ assetFileData = JSON.stringify(JSON.parse(assetFileData));
221
+ }
222
+
223
+ expect(componentFileData).toEqual(assetFileData);
224
+ });
225
+ });
226
+ }, 10000);
227
+
228
+
229
+
230
+
231
+
232
+ it(`npm run store all - ${isLibraryBasedCL}`, async() => {
233
+
234
+ const script = `npm run storeLibVersion Y --prefix ../../..`;
235
+ const { stdout, stderr } = await exec(script);
236
+
237
+ expect(stdout).toContain('Components Stored');
238
+
239
+ }, 30000);
240
+
241
+ it(`npm run delete all - ${isLibraryBasedCL}`, async() => {
242
+
243
+ const script = `npm run deleteAll Local Y --prefix ../../..`;
244
+ const { stdout, stderr } = await exec(script);
245
+
246
+ expect(stdout).toContain('Pega_DXIL_MyText is deleted from Local');
247
+ expect(stdout).toContain('Pega_DXIL_MyPageCaseWidget is deleted from Local');
248
+
249
+
250
+ }, 30000);
251
+
252
+
253
+ it(`npm run restore all - ${isLibraryBasedCL}`, async() => {
254
+
255
+ const script = `npm run restoreLibVersion Y --prefix ../../..`;
256
+ const { stdout, stderr } = await exec(script);
257
+
258
+ expect(stdout).toContain('Components restored');
259
+
260
+
261
+ }, 30000);
262
+
263
+
264
+ it('npm run list of restored', async () => {
265
+ const script = 'npm run list --prefix ../../..';
266
+ const { stdout, stderr } = await exec(script);
267
+
268
+ expect(stderr).not.toBeNull();
269
+
270
+ // console.log(stdout);
271
+ expect(stdout).not.toBeNull();
272
+ expect(stdout).toContain('Pega_DXIL_MyText');
273
+ expect(stdout).toContain('Pega_DXIL_MyTextInput');
274
+ expect(stdout).toContain('Pega_DXIL_MyParagraph');
275
+ expect(stdout).toContain('Pega_DXIL_MyEmail');
276
+ expect(stdout).toContain('Pega_DXIL_MyPhone');
277
+ expect(stdout).toContain('Pega_DXIL_MyURL');
278
+ expect(stdout).toContain('Pega_DXIL_MyInteger');
279
+ expect(stdout).toContain('Pega_DXIL_MyDecimal');
280
+ expect(stdout).toContain('Pega_DXIL_MyCurrency');
281
+ expect(stdout).toContain('Pega_DXIL_MyPercentage');
282
+ expect(stdout).toContain('Pega_DXIL_MyBoolean');
283
+ expect(stdout).toContain('Pega_DXIL_MyDate');
284
+ expect(stdout).toContain('Pega_DXIL_MyDateTime');
285
+ expect(stdout).toContain('Pega_DXIL_MyTimeOfDay');
286
+ expect(stdout).toContain('Pega_DXIL_MyPicklist');
287
+ expect(stdout).toContain('Pega_DXIL_MySearchbox');
288
+ expect(stdout).toContain('Pega_DXIL_MyRadiobuttons');
289
+ expect(stdout).toContain('Pega_DXIL_MyDetails');
290
+ expect(stdout).toContain('Pega_DXIL_MyTwoColumnDetails');
291
+ expect(stdout).toContain('Pega_DXIL_MyForm');
292
+ expect(stdout).toContain('Pega_DXIL_MyTwoColumnForm');
293
+ expect(stdout).toContain('Pega_DXIL_MyPage');
294
+ expect(stdout).toContain('Pega_DXIL_MyCaseWidget');
295
+ expect(stdout).toContain('Pega_DXIL_MyPageWidget');
296
+ expect(stdout).toContain('Pega_DXIL_MyPageCaseWidget');
297
+ // done();
298
+ }, 10000);
299
+
300
+ it('compare created to default', async () => {
301
+ const compList = [
302
+ 'Pega_DXIL_MyText',
303
+ 'Pega_DXIL_MyTextInput',
304
+ 'Pega_DXIL_MyParagraph',
305
+ 'Pega_DXIL_MyEmail',
306
+ 'Pega_DXIL_MyPhone',
307
+ 'Pega_DXIL_MyURL',
308
+ 'Pega_DXIL_MyInteger',
309
+ 'Pega_DXIL_MyDecimal',
310
+ 'Pega_DXIL_MyCurrency',
311
+ 'Pega_DXIL_MyPercentage',
312
+ 'Pega_DXIL_MyBoolean',
313
+ 'Pega_DXIL_MyDate',
314
+ 'Pega_DXIL_MyDateTime',
315
+ 'Pega_DXIL_MyTimeOfDay',
316
+ 'Pega_DXIL_MyPicklist',
317
+ 'Pega_DXIL_MySearchbox',
318
+ 'Pega_DXIL_MyRadiobuttons',
319
+ 'Pega_DXIL_MyDetails',
320
+ 'Pega_DXIL_MyTwoColumnDetails',
321
+ 'Pega_DXIL_MyForm',
322
+ 'Pega_DXIL_MyTwoColumnForm',
323
+ 'Pega_DXIL_MyPage',
324
+ 'Pega_DXIL_MyCaseWidget',
325
+ 'Pega_DXIL_MyPageWidget',
326
+ 'Pega_DXIL_MyPageCaseWidget'
327
+ ];
328
+
329
+ compList.forEach(component => {
330
+ const componentDir = path.resolve('../../..', `src/components/${component}`);
331
+ const assetDir = path.resolve(`tests/assets/${compType}/components/createAll/${serverDir}/${component}`);
332
+ // get files of directory
333
+ const componentFiles = fs.readdirSync(componentDir);
334
+
335
+ // get files of assets
336
+ // const assetFiles = fs.readdirSync(assetDir);
337
+
338
+ // compare
339
+ componentFiles.forEach(file => {
340
+ const componentFilePath = path.join(componentDir, file);
341
+ const assetFilePath = path.join(assetDir, file);
342
+
343
+ let componentFileData = fs.readFileSync(componentFilePath, { encoding: 'utf8' });
344
+ let assetFileData = fs.readFileSync(assetFilePath, { encoding: 'utf8' });
345
+
346
+ // so that we don't have to generate all new assets, change "version"
347
+ // from 0.0.2 to 0.0.1 for now
348
+ if (file === "config.json") {
349
+ expect(componentFileData).toContain("0.0.1");
350
+
351
+ // normalize
352
+ componentFileData = JSON.stringify(JSON.parse(componentFileData));
353
+ assetFileData = JSON.stringify(JSON.parse(assetFileData));
354
+ }
355
+
356
+ expect(componentFileData).toEqual(assetFileData);
357
+ });
358
+ });
359
+ }, 10000);
360
+
361
+
362
+
363
+
364
+
365
+
366
+ it(`npm run deleteLibVersion ALL - ${isLibraryBasedCL}`, async() => {
367
+
368
+ const script = `npm run deleteLibVersion Pega_DXIL ALL Y --prefix ../../..`;
369
+ const { stdout, stderr } = await exec(script);
370
+
371
+ expect(stdout).toContain('Pega_DXIL is deleted from Local.');
372
+
373
+ }, 30000);
374
+
375
+
376
+ });