@hexonet/semantic-release-whmcs 4.0.0 → 4.0.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -23,30 +23,30 @@
23
23
  <div class='clearfix'>
24
24
 
25
25
  <div class='fl pad1y space-right2'>
26
- <span class="strong">65.16% </span>
26
+ <span class="strong">72.03% </span>
27
27
  <span class="quiet">Statements</span>
28
- <span class='fraction'>202/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">67.6% </span>
33
+ <span class="strong">79.41% </span>
34
34
  <span class="quiet">Branches</span>
35
- <span class='fraction'>48/71</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">57.14% </span>
40
+ <span class="strong">66.66% </span>
41
41
  <span class="quiet">Functions</span>
42
- <span class='fraction'>8/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">65.68% </span>
47
+ <span class="strong">72.53% </span>
48
48
  <span class="quiet">Lines</span>
49
- <span class='fraction'>201/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="65.38" class="pic medium">
144
- <div class="chart"><div class="cover-fill" style="width: 65%"></div><div class="cover-empty" style="width: 35%"></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="65.38" class="pct medium">65.38%</td>
147
- <td data-value="26" class="abs medium">17/26</td>
148
- <td data-value="66.66" class="pct medium">66.66%</td>
149
- <td data-value="6" class="abs medium">4/6</td>
150
- <td data-value="50" class="pct medium">50%</td>
151
- <td data-value="4" class="abs medium">2/4</td>
152
- <td data-value="68" class="pct medium">68%</td>
153
- <td data-value="25" class="abs medium">17/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>
@@ -160,8 +160,8 @@
160
160
  </td>
161
161
  <td data-value="100" class="pct high">100%</td>
162
162
  <td data-value="2" class="abs high">2/2</td>
163
- <td data-value="94.11" class="pct high">94.11%</td>
164
- <td data-value="17" class="abs high">16/17</td>
163
+ <td data-value="100" class="pct high">100%</td>
164
+ <td data-value="19" class="abs high">19/19</td>
165
165
  <td data-value="100" class="pct high">100%</td>
166
166
  <td data-value="1" class="abs high">1/1</td>
167
167
  <td data-value="100" class="pct high">100%</td>
@@ -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 08 2022 13:10:47 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, DEBUG } =
361
- resolveConfig(context)
362
- const { gotoOpts, navOpts, selectorOpts, page } = await puppet(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 08 2022 13:10:47 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>