@hexonet/semantic-release-whmcs 4.0.2 → 4.0.3

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.
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">66.12% </span>
26
+ <span class="strong">72.03% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>205/310</span>
28
+ <span class='fraction'>170/236</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">71.23% </span>
33
+ <span class="strong">79.41% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>52/73</span>
35
+ <span class='fraction'>54/68</span>
36
36
  </div>
37
37
 
38
38
 
39
39
  <div class='fl pad1y space-right2'>
40
- <span class="strong">64.28% </span>
40
+ <span class="strong">66.66% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>9/14</span>
42
+ <span class='fraction'>10/15</span>
43
43
  </div>
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">66.33% </span>
47
+ <span class="strong">72.53% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>203/306</span>
49
+ <span class='fraction'>169/233</span>
50
50
  </div>
51
51
 
52
52
 
@@ -80,17 +80,17 @@
80
80
  </thead>
81
81
  <tbody><tr>
82
82
  <td class="file high" data-value="delete-marketplace-version.js"><a href="delete-marketplace-version.js.html">delete-marketplace-version.js</a></td>
83
- <td data-value="84.05" class="pic high">
84
- <div class="chart"><div class="cover-fill" style="width: 84%"></div><div class="cover-empty" style="width: 16%"></div></div>
83
+ <td data-value="87.5" class="pic high">
84
+ <div class="chart"><div class="cover-fill" style="width: 87%"></div><div class="cover-empty" style="width: 13%"></div></div>
85
85
  </td>
86
- <td data-value="84.05" class="pct high">84.05%</td>
87
- <td data-value="69" class="abs high">58/69</td>
86
+ <td data-value="87.5" class="pct high">87.5%</td>
87
+ <td data-value="48" class="abs high">42/48</td>
88
88
  <td data-value="60" class="pct medium">60%</td>
89
89
  <td data-value="10" class="abs medium">6/10</td>
90
90
  <td data-value="100" class="pct high">100%</td>
91
91
  <td data-value="1" class="abs high">1/1</td>
92
- <td data-value="84.05" class="pct high">84.05%</td>
93
- <td data-value="69" class="abs high">58/69</td>
92
+ <td data-value="87.5" class="pct high">87.5%</td>
93
+ <td data-value="48" class="abs high">42/48</td>
94
94
  </tr>
95
95
 
96
96
  <tr>
@@ -114,43 +114,43 @@
114
114
  <div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
115
115
  </td>
116
116
  <td data-value="0" class="pct low">0%</td>
117
- <td data-value="19" class="abs low">0/19</td>
117
+ <td data-value="17" class="abs low">0/17</td>
118
118
  <td data-value="0" class="pct low">0%</td>
119
119
  <td data-value="4" class="abs low">0/4</td>
120
120
  <td data-value="0" class="pct low">0%</td>
121
121
  <td data-value="2" class="abs low">0/2</td>
122
122
  <td data-value="0" class="pct low">0%</td>
123
- <td data-value="18" class="abs low">0/18</td>
123
+ <td data-value="17" class="abs low">0/17</td>
124
124
  </tr>
125
125
 
126
126
  <tr>
127
127
  <td class="file high" data-value="publish.js"><a href="publish.js.html">publish.js</a></td>
128
- <td data-value="86.76" class="pic high">
129
- <div class="chart"><div class="cover-fill" style="width: 86%"></div><div class="cover-empty" style="width: 14%"></div></div>
128
+ <td data-value="87.17" class="pic high">
129
+ <div class="chart"><div class="cover-fill" style="width: 87%"></div><div class="cover-empty" style="width: 13%"></div></div>
130
130
  </td>
131
- <td data-value="86.76" class="pct high">86.76%</td>
132
- <td data-value="68" class="abs high">59/68</td>
133
- <td data-value="71.42" class="pct medium">71.42%</td>
134
- <td data-value="14" class="abs medium">10/14</td>
131
+ <td data-value="87.17" class="pct high">87.17%</td>
132
+ <td data-value="39" class="abs high">34/39</td>
133
+ <td data-value="80" class="pct high">80%</td>
134
+ <td data-value="10" class="abs high">8/10</td>
135
135
  <td data-value="100" class="pct high">100%</td>
136
136
  <td data-value="1" class="abs high">1/1</td>
137
- <td data-value="86.76" class="pct high">86.76%</td>
138
- <td data-value="68" class="abs high">59/68</td>
137
+ <td data-value="87.17" class="pct high">87.17%</td>
138
+ <td data-value="39" class="abs high">34/39</td>
139
139
  </tr>
140
140
 
141
141
  <tr>
142
- <td class="file medium" data-value="puppet.js"><a href="puppet.js.html">puppet.js</a></td>
143
- <td data-value="76.92" class="pic medium">
144
- <div class="chart"><div class="cover-fill" style="width: 76%"></div><div class="cover-empty" style="width: 24%"></div></div>
142
+ <td class="file high" data-value="puppet.js"><a href="puppet.js.html">puppet.js</a></td>
143
+ <td data-value="88.23" class="pic high">
144
+ <div class="chart"><div class="cover-fill" style="width: 88%"></div><div class="cover-empty" style="width: 12%"></div></div>
145
145
  </td>
146
- <td data-value="76.92" class="pct medium">76.92%</td>
147
- <td data-value="26" class="abs medium">20/26</td>
148
- <td data-value="83.33" class="pct high">83.33%</td>
149
- <td data-value="6" class="abs high">5/6</td>
150
- <td data-value="75" class="pct medium">75%</td>
151
- <td data-value="4" class="abs medium">3/4</td>
152
- <td data-value="76" class="pct medium">76%</td>
153
- <td data-value="25" class="abs medium">19/25</td>
146
+ <td data-value="88.23" class="pct high">88.23%</td>
147
+ <td data-value="51" class="abs high">45/51</td>
148
+ <td data-value="100" class="pct high">100%</td>
149
+ <td data-value="7" class="abs high">7/7</td>
150
+ <td data-value="80" class="pct high">80%</td>
151
+ <td data-value="5" class="abs high">4/5</td>
152
+ <td data-value="90" class="pct high">90%</td>
153
+ <td data-value="50" class="abs high">45/50</td>
154
154
  </tr>
155
155
 
156
156
  <tr>
@@ -174,28 +174,28 @@
174
174
  <div class="chart"><div class="cover-fill" style="width: 0%"></div><div class="cover-empty" style="width: 100%"></div></div>
175
175
  </td>
176
176
  <td data-value="0" class="pct low">0%</td>
177
- <td data-value="53" class="abs low">0/53</td>
177
+ <td data-value="28" class="abs low">0/28</td>
178
178
  <td data-value="0" class="pct low">0%</td>
179
- <td data-value="6" class="abs low">0/6</td>
179
+ <td data-value="2" class="abs low">0/2</td>
180
180
  <td data-value="0" class="pct low">0%</td>
181
181
  <td data-value="2" class="abs low">0/2</td>
182
182
  <td data-value="0" class="pct low">0%</td>
183
- <td data-value="52" class="abs low">0/52</td>
183
+ <td data-value="27" class="abs low">0/27</td>
184
184
  </tr>
185
185
 
186
186
  <tr>
187
187
  <td class="file high" data-value="set-compatible-versions.js"><a href="set-compatible-versions.js.html">set-compatible-versions.js</a></td>
188
- <td data-value="87.03" class="pic high">
188
+ <td data-value="87.5" class="pic high">
189
189
  <div class="chart"><div class="cover-fill" style="width: 87%"></div><div class="cover-empty" style="width: 13%"></div></div>
190
190
  </td>
191
- <td data-value="87.03" class="pct high">87.03%</td>
192
- <td data-value="54" class="abs high">47/54</td>
191
+ <td data-value="87.5" class="pct high">87.5%</td>
192
+ <td data-value="32" class="abs high">28/32</td>
193
193
  <td data-value="50" class="pct medium">50%</td>
194
194
  <td data-value="4" class="abs medium">2/4</td>
195
195
  <td data-value="100" class="pct high">100%</td>
196
196
  <td data-value="1" class="abs high">1/1</td>
197
- <td data-value="87.03" class="pct high">87.03%</td>
198
- <td data-value="54" class="abs high">47/54</td>
197
+ <td data-value="87.5" class="pct high">87.5%</td>
198
+ <td data-value="32" class="abs high">28/32</td>
199
199
  </tr>
200
200
 
201
201
  <tr>
@@ -206,7 +206,7 @@
206
206
  <td data-value="100" class="pct high">100%</td>
207
207
  <td data-value="14" class="abs high">14/14</td>
208
208
  <td data-value="100" class="pct high">100%</td>
209
- <td data-value="10" class="abs high">10/10</td>
209
+ <td data-value="12" class="abs high">12/12</td>
210
210
  <td data-value="100" class="pct high">100%</td>
211
211
  <td data-value="1" class="abs high">1/1</td>
212
212
  <td data-value="100" class="pct high">100%</td>
@@ -221,7 +221,7 @@
221
221
  <div class='footer quiet pad2 space-top1 center small'>
222
222
  Code coverage generated by
223
223
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
224
- at Wed Jun 29 2022 13:20:57 GMT+0000 (Coordinated Universal Time)
224
+ at 2022-08-09T11:01:27.229Z
225
225
  </div>
226
226
  <script src="../prettify.js"></script>
227
227
  <script>
@@ -23,16 +23,16 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">86.76% </span>
26
+ <span class="strong">87.17% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>59/68</span>
28
+ <span class='fraction'>34/39</span>
29
29
  </div>
30
30
 
31
31
 
32
32
  <div class='fl pad1y space-right2'>
33
- <span class="strong">71.42% </span>
33
+ <span class="strong">80% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>10/14</span>
35
+ <span class='fraction'>8/10</span>
36
36
  </div>
37
37
 
38
38
 
@@ -44,9 +44,9 @@
44
44
 
45
45
 
46
46
  <div class='fl pad1y space-right2'>
47
- <span class="strong">86.76% </span>
47
+ <span class="strong">87.17% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>59/68</span>
49
+ <span class='fraction'>34/39</span>
50
50
  </div>
51
51
 
52
52
 
@@ -158,48 +158,7 @@
158
158
  <a name='L93'></a><a href='#L93'>93</a>
159
159
  <a name='L94'></a><a href='#L94'>94</a>
160
160
  <a name='L95'></a><a href='#L95'>95</a>
161
- <a name='L96'></a><a href='#L96'>96</a>
162
- <a name='L97'></a><a href='#L97'>97</a>
163
- <a name='L98'></a><a href='#L98'>98</a>
164
- <a name='L99'></a><a href='#L99'>99</a>
165
- <a name='L100'></a><a href='#L100'>100</a>
166
- <a name='L101'></a><a href='#L101'>101</a>
167
- <a name='L102'></a><a href='#L102'>102</a>
168
- <a name='L103'></a><a href='#L103'>103</a>
169
- <a name='L104'></a><a href='#L104'>104</a>
170
- <a name='L105'></a><a href='#L105'>105</a>
171
- <a name='L106'></a><a href='#L106'>106</a>
172
- <a name='L107'></a><a href='#L107'>107</a>
173
- <a name='L108'></a><a href='#L108'>108</a>
174
- <a name='L109'></a><a href='#L109'>109</a>
175
- <a name='L110'></a><a href='#L110'>110</a>
176
- <a name='L111'></a><a href='#L111'>111</a>
177
- <a name='L112'></a><a href='#L112'>112</a>
178
- <a name='L113'></a><a href='#L113'>113</a>
179
- <a name='L114'></a><a href='#L114'>114</a>
180
- <a name='L115'></a><a href='#L115'>115</a>
181
- <a name='L116'></a><a href='#L116'>116</a>
182
- <a name='L117'></a><a href='#L117'>117</a>
183
- <a name='L118'></a><a href='#L118'>118</a>
184
- <a name='L119'></a><a href='#L119'>119</a>
185
- <a name='L120'></a><a href='#L120'>120</a>
186
- <a name='L121'></a><a href='#L121'>121</a>
187
- <a name='L122'></a><a href='#L122'>122</a>
188
- <a name='L123'></a><a href='#L123'>123</a>
189
- <a name='L124'></a><a href='#L124'>124</a>
190
- <a name='L125'></a><a href='#L125'>125</a>
191
- <a name='L126'></a><a href='#L126'>126</a>
192
- <a name='L127'></a><a href='#L127'>127</a>
193
- <a name='L128'></a><a href='#L128'>128</a>
194
- <a name='L129'></a><a href='#L129'>129</a>
195
- <a name='L130'></a><a href='#L130'>130</a>
196
- <a name='L131'></a><a href='#L131'>131</a>
197
- <a name='L132'></a><a href='#L132'>132</a>
198
- <a name='L133'></a><a href='#L133'>133</a>
199
- <a name='L134'></a><a href='#L134'>134</a>
200
- <a name='L135'></a><a href='#L135'>135</a>
201
- <a name='L136'></a><a href='#L136'>136</a>
202
- <a name='L137'></a><a href='#L137'>137</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
161
+ <a name='L96'></a><a href='#L96'>96</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
203
162
  <span class="cline-any cline-yes">1x</span>
204
163
  <span class="cline-any cline-yes">1x</span>
205
164
  <span class="cline-any cline-yes">1x</span>
@@ -208,62 +167,32 @@
208
167
  <span class="cline-any cline-neutral">&nbsp;</span>
209
168
  <span class="cline-any cline-neutral">&nbsp;</span>
210
169
  <span class="cline-any cline-yes">1x</span>
211
- <span class="cline-any cline-neutral">&nbsp;</span>
212
- <span class="cline-any cline-neutral">&nbsp;</span>
213
- <span class="cline-any cline-neutral">&nbsp;</span>
214
170
  <span class="cline-any cline-yes">3x</span>
215
- <span class="cline-any cline-neutral">&nbsp;</span>
216
171
  <span class="cline-any cline-yes">3x</span>
217
- <span class="cline-any cline-no">&nbsp;</span>
218
- <span class="cline-any cline-no">&nbsp;</span>
219
172
  <span class="cline-any cline-neutral">&nbsp;</span>
220
173
  <span class="cline-any cline-neutral">&nbsp;</span>
221
174
  <span class="cline-any cline-neutral">&nbsp;</span>
222
- <span class="cline-any cline-neutral">&nbsp;</span>
223
- <span class="cline-any cline-yes">3x</span>
224
- <span class="cline-any cline-neutral">&nbsp;</span>
225
175
  <span class="cline-any cline-yes">3x</span>
226
176
  <span class="cline-any cline-yes">3x</span>
177
+ <span class="cline-any cline-no">&nbsp;</span>
227
178
  <span class="cline-any cline-neutral">&nbsp;</span>
228
- <span class="cline-any cline-yes">3x</span>
229
- <span class="cline-any cline-yes">3x</span>
230
- <span class="cline-any cline-neutral">&nbsp;</span>
231
- <span class="cline-any cline-yes">3x</span>
232
- <span class="cline-any cline-yes">3x</span>
233
- <span class="cline-any cline-yes">3x</span>
234
- <span class="cline-any cline-yes">3x</span>
235
179
  <span class="cline-any cline-neutral">&nbsp;</span>
180
+ <span class="cline-any cline-no">&nbsp;</span>
236
181
  <span class="cline-any cline-neutral">&nbsp;</span>
237
- <span class="cline-any cline-yes">3x</span>
238
182
  <span class="cline-any cline-neutral">&nbsp;</span>
239
183
  <span class="cline-any cline-yes">3x</span>
240
- <span class="cline-any cline-yes">3x</span>
241
184
  <span class="cline-any cline-neutral">&nbsp;</span>
242
185
  <span class="cline-any cline-yes">3x</span>
243
186
  <span class="cline-any cline-yes">3x</span>
244
- <span class="cline-any cline-neutral">&nbsp;</span>
245
- <span class="cline-any cline-yes">3x</span>
246
- <span class="cline-any cline-yes">3x</span>
247
- <span class="cline-any cline-yes">3x</span>
248
- <span class="cline-any cline-yes">3x</span>
249
- <span class="cline-any cline-yes">3x</span>
250
- <span class="cline-any cline-yes">3x</span>
251
- <span class="cline-any cline-yes">3x</span>
252
- <span class="cline-any cline-yes">3x</span>
253
- <span class="cline-any cline-yes">3x</span>
254
- <span class="cline-any cline-yes">3x</span>
255
- <span class="cline-any cline-yes">3x</span>
256
187
  <span class="cline-any cline-yes">3x</span>
188
+ <span class="cline-any cline-yes">2x</span>
257
189
  <span class="cline-any cline-neutral">&nbsp;</span>
258
- <span class="cline-any cline-no">&nbsp;</span>
259
- <span class="cline-any cline-no">&nbsp;</span>
260
- <span class="cline-any cline-no">&nbsp;</span>
190
+ <span class="cline-any cline-yes">1x</span>
261
191
  <span class="cline-any cline-neutral">&nbsp;</span>
262
- <span class="cline-any cline-yes">3x</span>
263
- <span class="cline-any cline-yes">3x</span>
264
- <span class="cline-any cline-yes">3x</span>
265
- <span class="cline-any cline-yes">2x</span>
192
+ <span class="cline-any cline-yes">1x</span>
193
+ <span class="cline-any cline-yes">1x</span>
266
194
  <span class="cline-any cline-neutral">&nbsp;</span>
195
+ <span class="cline-any cline-yes">1x</span>
267
196
  <span class="cline-any cline-neutral">&nbsp;</span>
268
197
  <span class="cline-any cline-yes">1x</span>
269
198
  <span class="cline-any cline-yes">1x</span>
@@ -306,29 +235,18 @@
306
235
  <span class="cline-any cline-neutral">&nbsp;</span>
307
236
  <span class="cline-any cline-neutral">&nbsp;</span>
308
237
  <span class="cline-any cline-yes">1x</span>
309
- <span class="cline-any cline-yes">1x</span>
310
- <span class="cline-any cline-yes">1x</span>
311
- <span class="cline-any cline-yes">1x</span>
312
- <span class="cline-any cline-yes">1x</span>
313
238
  <span class="cline-any cline-neutral">&nbsp;</span>
314
239
  <span class="cline-any cline-yes">1x</span>
315
240
  <span class="cline-any cline-neutral">&nbsp;</span>
316
- <span class="cline-any cline-yes">1x</span>
317
- <span class="cline-any cline-yes">1x</span>
241
+ <span class="cline-any cline-neutral">&nbsp;</span>
318
242
  <span class="cline-any cline-yes">1x</span>
319
243
  <span class="cline-any cline-neutral">&nbsp;</span>
320
244
  <span class="cline-any cline-no">&nbsp;</span>
321
245
  <span class="cline-any cline-no">&nbsp;</span>
322
- <span class="cline-any cline-neutral">&nbsp;</span>
323
- <span class="cline-any cline-neutral">&nbsp;</span>
324
- <span class="cline-any cline-neutral">&nbsp;</span>
325
246
  <span class="cline-any cline-no">&nbsp;</span>
326
247
  <span class="cline-any cline-neutral">&nbsp;</span>
327
- <span class="cline-any cline-neutral">&nbsp;</span>
328
- <span class="cline-any cline-neutral">&nbsp;</span>
329
248
  <span class="cline-any cline-yes">1x</span>
330
249
  <span class="cline-any cline-yes">1x</span>
331
- <span class="cline-any cline-no">&nbsp;</span>
332
250
  <span class="cline-any cline-neutral">&nbsp;</span>
333
251
  <span class="cline-any cline-yes">1x</span>
334
252
  <span class="cline-any cline-neutral">&nbsp;</span>
@@ -336,139 +254,98 @@
336
254
  <span class="cline-any cline-neutral">&nbsp;</span>
337
255
  <span class="cline-any cline-neutral">&nbsp;</span>
338
256
  <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">const debug = require('debug')('semantic-release:whmcs')
339
- const resolveConfig = require('./resolve-config')
340
257
  const puppet = require('./puppet')
341
258
  const setCompatibleVersions = require('./set-compatible-versions')
259
+ const path = require('path')
342
260
  &nbsp;
343
261
  /**
344
262
  * A method to publish the module update on whmcs market place
345
263
  */
346
264
  module.exports = async (pluginConfig, context) =&gt; {
265
+ const sep = '+++++++++++++++++++++++++++++++++++++++++++++++++++'
266
+ const out = `\n${sep}\n${path.basename(__filename)}\n${sep}\n`
267
+ &nbsp;
347
268
  const {
348
- nextRelease: { notes, version, releaseDate },
349
- logger
269
+ nextRelease: { notes, version, releaseDate }
350
270
  } = context
351
- &nbsp;
352
271
  <span class="missing-if-branch" title="if path not taken" >I</span>if (!notes || !notes.length || !version || !version.length) {
353
- <span class="cstat-no" title="statement not covered" > debug('publishing new product version failed. No input data available.')</span>
354
- <span class="cstat-no" title="statement not covered" > logger.error(</span>
355
- 'WHMCS Marketplace publishing new product version failed. No input data available.'
272
+ <span class="cstat-no" title="statement not covered" > debug(</span>
273
+ `${out}Publishing new product version failed. No input data available.`
356
274
  )
275
+ <span class="cstat-no" title="statement not covered" > return false</span>
357
276
  }
277
+ // strip markdown links from notes as not allowed to keep (taken from remove-markdown and cleaned up)
278
+ const cleanedNotes = notes.replace(/\[([^[\]]*)\]\([^()]*\)/gm, '$1')
358
279
  &nbsp;
359
- let success = true
360
- const { whmcsLOGIN, whmcsPASSWORD, whmcsPRODUCTID, withHEAD, DEBUG } =
361
- resolveConfig(context)
362
- const { gotoOpts, navOpts, selectorOpts, page } = await puppet(withHEAD, DEBUG, logger)
363
- &nbsp;
364
- debug(`WHMCS Marketplace Product ID: ${whmcsPRODUCTID}`)
365
- logger.log(`WHMCS Marketplace Product ID: ${whmcsPRODUCTID}`)
280
+ const püppi = await puppet(context)
281
+ const result = await püppi.login()
282
+ if (!result) {
283
+ return result
284
+ }
285
+ const { page, gotoOpts, selectorOpts, productid, urlbase } = püppi.config
366
286
  &nbsp;
367
287
  debug(`Release Version: ${version}`)
368
- logger.log(`Release Version: ${version}`)
369
288
  debug(`Notes: ${notes}`)
370
- logger.log(`Release Notes: ${notes}`)
371
- &nbsp;
372
- // strip markdown links from notes as not allowed to keep (taken from remove-markdown and cleaned up)
373
- const cleanedNotes = notes.replace(/\[([^[\]]*)\]\([^()]*\)/gm, '$1')
374
- &nbsp;
375
- const wmbase = 'https://marketplace.whmcs.com'
376
- let url = `${wmbase}/user/login`
377
289
  &nbsp;
378
290
  try {
291
+ // add new version
292
+ const url = `${urlbase}/product/${productid}/versions/new`
379
293
  await page.goto(url, gotoOpts)
380
- // do login
381
- const selector = 'div.login-leftcol form button[type="submit"]'
294
+ debug('product page loaded at %s', url)
295
+ const selector = 'div.listing-edit-container form button[type="submit"]'
382
296
  await page.waitForSelector(selector, selectorOpts)
383
- debug('login form loaded at %s', url)
384
- await page.type('#email', whmcsLOGIN)
385
- await page.type('#password', whmcsPASSWORD)
386
- debug('WHMCS Marketplace credentials entered')
387
- const nav = page.waitForNavigation(navOpts)
388
- await page.hover(selector)
389
- await page.click(selector)
390
- await nav
391
- debug('Login form successfully submitted.')
392
- logger.log('WHMCS Marketplace Login Form successfully submitted.')
393
- } catch (error) {
394
- <span class="cstat-no" title="statement not covered" > debug('WHMCS Marketplace login failed.', error.message)</span>
395
- <span class="cstat-no" title="statement not covered" > logger.error('WHMCS Marketplace login failed.', error.message)</span>
396
- <span class="cstat-no" title="statement not covered" > success = false</span>
397
- }
398
- <span class="missing-if-branch" title="else path not taken" >E</span>if (success) {
399
- try {
400
- if (!parseInt(whmcsPRODUCTID, 10)) {
401
- return false
402
- }
403
- // add new version
404
- url = `${wmbase}/product/${whmcsPRODUCTID}/versions/new`
405
- await page.goto(url, gotoOpts)
406
- debug('product page loaded at %s', url)
407
- const selector = 'div.listing-edit-container form button[type="submit"]'
408
- await page.waitForSelector(selector, selectorOpts)
409
- debug('product page submit button selector found')
410
- /* istanbul ignore next */
411
- await page.$eval(
412
- '#version',
413
- (el, value) =&gt; {
414
- el.value = value
415
- },
416
- version
417
- )
418
- debug('form input for version finished.')
419
- &nbsp;
420
- // fill input type date with localized string
421
- // https://www.mattzeunert.com/2020/04/01/filling-out-a-date-input-with-puppeteer.html
422
- const date = releaseDate ? <span class="branch-0 cbranch-no" title="branch not covered" >new Date(releaseDate) </span>: new Date()
423
- /* istanbul ignore next */
424
- const dateString = await page.evaluate(
425
- (d) =&gt;
426
- new Date(d).toLocaleDateString(navigator.language, {
427
- day: '2-digit',
428
- month: '2-digit',
429
- year: 'numeric'
430
- }),
431
- date.toISOString()
432
- )
433
- await page.type('#released_at', dateString)
434
- &nbsp;
435
- debug('form input for released_at finished.')
436
- /* istanbul ignore next */
437
- await page.$eval(
438
- '#description',
439
- (el, value) =&gt; {
440
- el.value = value
441
- },
442
- cleanedNotes
443
- )
444
- debug('form input for description finished.')
445
- const nav = page.waitForNavigation(navOpts)
446
- await page.hover(selector)
447
- await page.click(selector)
448
- await nav
297
+ debug('product page submit button selector found')
298
+ /* istanbul ignore next */
299
+ await page.$eval(
300
+ '#version',
301
+ (el, value) =&gt; {
302
+ el.value = value
303
+ },
304
+ version
305
+ )
306
+ debug('form input for version finished.')
449
307
  &nbsp;
450
- await setCompatibleVersions(pluginConfig, context)
308
+ // fill input type date with localized string
309
+ // https://www.mattzeunert.com/2020/04/01/filling-out-a-date-input-with-puppeteer.html
310
+ const date = releaseDate ? <span class="branch-0 cbranch-no" title="branch not covered" >new Date(releaseDate) </span>: new Date()
311
+ /* istanbul ignore next */
312
+ const dateString = await page.evaluate(
313
+ (d) =&gt;
314
+ new Date(d).toLocaleDateString(navigator.language, {
315
+ day: '2-digit',
316
+ month: '2-digit',
317
+ year: 'numeric'
318
+ }),
319
+ date.toISOString()
320
+ )
321
+ await page.enterAndType('#released_at', dateString)
451
322
  &nbsp;
452
- debug('publishing new product version succeeded.')
453
- logger.log('WHMCS Marketplace publishing new product version succeeded.')
454
- success = true
455
- } catch (error) {
456
- <span class="cstat-no" title="statement not covered" > debug('publishing new product version failed.', error.message)</span>
457
- <span class="cstat-no" title="statement not covered" > logger.error(</span>
458
- 'WHMCS Marketplace publishing new product version failed.',
459
- error.message
460
- )
461
- <span class="cstat-no" title="statement not covered" > success = false</span>
462
- }
463
- }
323
+ debug('form input for released_at finished.')
324
+ /* istanbul ignore next */
325
+ await page.$eval(
326
+ '#description',
327
+ (el, value) =&gt; {
328
+ el.value = value
329
+ },
330
+ cleanedNotes
331
+ )
332
+ debug('form input for description finished.')
464
333
  &nbsp;
465
- await page.browser().close()
466
- <span class="missing-if-branch" title="if path not taken" >I</span>if (!success) {
334
+ await page.clickAndNavigate(
335
+ 'div.listing-edit-container form button[type="submit"]'
336
+ )
337
+ await setCompatibleVersions(pluginConfig, context)
338
+ } catch (error) {
339
+ <span class="cstat-no" title="statement not covered" > debug('Publishing new product version failed.', error.message)</span>
340
+ <span class="cstat-no" title="statement not covered" > await page.browser().close()</span>
467
341
  <span class="cstat-no" title="statement not covered" > return false</span>
468
342
  }
343
+ debug('Publishing new product version succeeded.')
344
+ await page.browser().close()
345
+ &nbsp;
469
346
  return {
470
347
  name: 'WHMCS Marketplace Product Version',
471
- url: `${wmbase}/product/${whmcsPRODUCTID}`
348
+ url: `${urlbase}/product/${productid}`
472
349
  }
473
350
  }
474
351
  &nbsp;</pre></td></tr></table></pre>
@@ -478,7 +355,7 @@ module.exports = async (pluginConfig, context) =&gt; {
478
355
  <div class='footer quiet pad2 space-top1 center small'>
479
356
  Code coverage generated by
480
357
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
481
- at Wed Jun 29 2022 13:20:57 GMT+0000 (Coordinated Universal Time)
358
+ at 2022-08-09T11:01:27.229Z
482
359
  </div>
483
360
  <script src="../prettify.js"></script>
484
361
  <script>