ortoni-report 3.0.5 → 4.0.2-beta.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.
- package/changelog.md +30 -0
- package/dist/chunk-45EJSEX2.mjs +632 -0
- package/dist/chunk-75EAJL2U.mjs +632 -0
- package/dist/chunk-FGIYOFIC.mjs +632 -0
- package/dist/chunk-FHKWBHU6.mjs +633 -0
- package/dist/chunk-GLICR3VS.mjs +637 -0
- package/dist/chunk-HFO6XSKC.mjs +633 -0
- package/dist/chunk-HOZD6YIV.mjs +634 -0
- package/dist/chunk-IJO2YIFE.mjs +637 -0
- package/dist/chunk-INS3E7E6.mjs +638 -0
- package/dist/chunk-JEIWNUQY.mjs +632 -0
- package/dist/chunk-JPLAGYR7.mjs +632 -0
- package/dist/chunk-NM6ULN2O.mjs +632 -0
- package/dist/chunk-OZS6QIJS.mjs +638 -0
- package/dist/chunk-P57227VN.mjs +633 -0
- package/dist/chunk-QMTRYN5N.js +635 -0
- package/dist/chunk-TI33PMMQ.mjs +639 -0
- package/dist/chunk-Z5NBP5TS.mjs +635 -0
- package/dist/cli/cli.cjs +678 -0
- package/dist/cli/cli.d.cts +1 -0
- package/dist/cli/cli.js +580 -11
- package/dist/cli/cli.mjs +62 -5
- package/dist/index.html +21 -0
- package/dist/ortoni-report.cjs +2134 -0
- package/dist/ortoni-report.d.cts +111 -0
- package/dist/ortoni-report.d.mts +3 -12
- package/dist/ortoni-report.d.ts +3 -12
- package/dist/ortoni-report.js +182 -314
- package/dist/ortoni-report.mjs +64 -740
- package/package.json +4 -5
- package/readme.md +26 -33
- package/dist/chunk-AY2PKDHU.mjs +0 -69
- package/dist/chunk-OOALU4XG.mjs +0 -72
- package/dist/chunk-ZSIRUQUA.mjs +0 -68
- package/dist/style/main.css +0 -80
- package/dist/views/analytics.hbs +0 -103
- package/dist/views/head.hbs +0 -11
- package/dist/views/main.hbs +0 -1295
- package/dist/views/project.hbs +0 -238
- package/dist/views/sidebar.hbs +0 -244
- package/dist/views/summaryCard.hbs +0 -15
- package/dist/views/testIcons.hbs +0 -13
- package/dist/views/testPanel.hbs +0 -45
- package/dist/views/testStatus.hbs +0 -9
- package/dist/views/userInfo.hbs +0 -260
package/dist/views/userInfo.hbs
DELETED
|
@@ -1,260 +0,0 @@
|
|
|
1
|
-
<div class="columns is-multiline">
|
|
2
|
-
<div class="column">
|
|
3
|
-
<div class="box">
|
|
4
|
-
<header class="title is-4">Result</header>
|
|
5
|
-
<div class="field">
|
|
6
|
-
<strong for="Success Rate">Success Rate</strong>
|
|
7
|
-
<p class="is-flex is-align-items-center">
|
|
8
|
-
<span class="icon has-text-success mr-2">
|
|
9
|
-
<i class="fas fa-chart-pie"></i>
|
|
10
|
-
</span>
|
|
11
|
-
<span class="is-size-5 has-text-weight-bold">{{successRate}} %</span>
|
|
12
|
-
</p>
|
|
13
|
-
</div>
|
|
14
|
-
<div class="field">
|
|
15
|
-
<strong for="Last Run">Last Run</strong>
|
|
16
|
-
<p class="is-flex is-align-items-center">
|
|
17
|
-
<span class="icon has-text-info mr-2">
|
|
18
|
-
<i class="fas fa-calendar-alt"></i>
|
|
19
|
-
</span>
|
|
20
|
-
<span class="is-size-5">{{lastRunDate}}</span>
|
|
21
|
-
</p>
|
|
22
|
-
</div>
|
|
23
|
-
<div class="field">
|
|
24
|
-
<strong for="Duration">Duration</strong>
|
|
25
|
-
<p class="is-flex is-align-items-center">
|
|
26
|
-
<span class="icon has-text-warning mr-2">
|
|
27
|
-
<i class="fas fa-stopwatch"></i>
|
|
28
|
-
</span>
|
|
29
|
-
<span class="is-size-5">{{totalDuration}}</span>
|
|
30
|
-
</p>
|
|
31
|
-
</div>
|
|
32
|
-
</div>
|
|
33
|
-
</div>
|
|
34
|
-
<div class="column">
|
|
35
|
-
<div class="box">
|
|
36
|
-
<header class="title is-4">Suite</header>
|
|
37
|
-
{{#if (or authorName testType)}}
|
|
38
|
-
<div class="content">
|
|
39
|
-
{{#if projectName}}
|
|
40
|
-
<div class="field">
|
|
41
|
-
<strong for="ProjectName">Project Name</strong>
|
|
42
|
-
<p class="is-flex is-align-items-center">
|
|
43
|
-
<span class="icon has-text-info mr-2">
|
|
44
|
-
<i class="fa-solid fa-shield"></i>
|
|
45
|
-
</span>
|
|
46
|
-
<span class="is-size-5">{{projectName}}</span>
|
|
47
|
-
</p>
|
|
48
|
-
</div>
|
|
49
|
-
{{/if}}
|
|
50
|
-
{{#if authorName}}
|
|
51
|
-
<div class="field">
|
|
52
|
-
<strong for="Tester">Tester</strong>
|
|
53
|
-
<p class="is-flex is-align-items-center">
|
|
54
|
-
<span class="icon has-text-info mr-2">
|
|
55
|
-
<i class="fas fa-user-tie"></i>
|
|
56
|
-
</span>
|
|
57
|
-
<span class="is-size-5">{{authorName}}</span>
|
|
58
|
-
</p>
|
|
59
|
-
</div>
|
|
60
|
-
{{/if}}
|
|
61
|
-
{{#if testType}}
|
|
62
|
-
<div class="field">
|
|
63
|
-
<strong for="testType">Test Type</strong>
|
|
64
|
-
<p class="is-flex is-align-items-center">
|
|
65
|
-
<span class="icon has-text-info mr-2">
|
|
66
|
-
<i class="fas fa-code-branch"></i>
|
|
67
|
-
</span>
|
|
68
|
-
<span class="is-size-5">{{testType}}</span>
|
|
69
|
-
</p>
|
|
70
|
-
</div>
|
|
71
|
-
{{/if}}
|
|
72
|
-
</div>
|
|
73
|
-
{{/if}}
|
|
74
|
-
</div>
|
|
75
|
-
</div>
|
|
76
|
-
{{#if meta}}
|
|
77
|
-
<div class="column">
|
|
78
|
-
<div class="box">
|
|
79
|
-
<header class="title is-4">Meta Information</header>
|
|
80
|
-
{{#each meta}}
|
|
81
|
-
<p><strong>{{@key}}:</strong> {{this}}</p>
|
|
82
|
-
{{/each}}
|
|
83
|
-
</div>
|
|
84
|
-
</div>
|
|
85
|
-
{{/if}}
|
|
86
|
-
|
|
87
|
-
</div>
|
|
88
|
-
|
|
89
|
-
<div class="box">
|
|
90
|
-
<div class="columns">
|
|
91
|
-
<div class="column">
|
|
92
|
-
<h2 class="is-4 has-text-weight-bold">Summary</h2>
|
|
93
|
-
<hr class="has-background-primary">
|
|
94
|
-
<div class="chart-container">
|
|
95
|
-
<canvas id="testChart"></canvas>
|
|
96
|
-
</div>
|
|
97
|
-
</div>
|
|
98
|
-
<div class="column">
|
|
99
|
-
<h2 class="is-4 has-text-weight-bold">Projects</h2>
|
|
100
|
-
<hr class="has-background-primary">
|
|
101
|
-
<div class="chart-container">
|
|
102
|
-
<canvas id="projectChart"></canvas>
|
|
103
|
-
</div>
|
|
104
|
-
</div>
|
|
105
|
-
<div class="column">
|
|
106
|
-
<h2 class="is-4 has-text-weight-bold">Each Projects</h2>
|
|
107
|
-
<hr class="has-background-primary">
|
|
108
|
-
<div class="chart-container has-text-centered">
|
|
109
|
-
<canvas id="projectbarChart"></canvas>
|
|
110
|
-
</div>
|
|
111
|
-
</div>
|
|
112
|
-
<script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
|
|
113
|
-
<script>
|
|
114
|
-
const overallChart = document.getElementById('testChart');
|
|
115
|
-
new Chart(overallChart, {
|
|
116
|
-
type: '{{ chartType }}',
|
|
117
|
-
data: {
|
|
118
|
-
labels: ['Passed', 'Failed', 'Skipped', 'Flaky', 'Retry'],
|
|
119
|
-
datasets: [{
|
|
120
|
-
data: [{{ passCount }}, {{ failCount }}, {{ skipCount }}, {{ flakyCount }}, {{ retryCount }}],
|
|
121
|
-
backgroundColor: ['#28a745', '#ff6685', '#66d1ff', '#ffb70f', '#69748c']}]
|
|
122
|
-
},
|
|
123
|
-
options: {
|
|
124
|
-
responsive: true,
|
|
125
|
-
maintainAspectRatio: false,
|
|
126
|
-
plugins: {
|
|
127
|
-
legend: {
|
|
128
|
-
position: 'bottom',
|
|
129
|
-
labels: {
|
|
130
|
-
filter: function (legendItem, chartData) {
|
|
131
|
-
const value = chartData.datasets[0].data[legendItem.index];
|
|
132
|
-
return value !== 0;
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
},
|
|
136
|
-
tooltip: {
|
|
137
|
-
callbacks: {
|
|
138
|
-
label: function (tooltipItem) {
|
|
139
|
-
const total = tooltipItem.dataset.data.reduce((a, b) => a + b, 0);
|
|
140
|
-
const value = tooltipItem.raw;
|
|
141
|
-
const percentage = ((value / total) * 100).toFixed(2);
|
|
142
|
-
return `${tooltipItem.label}: ${value} tests (${percentage}%)`;
|
|
143
|
-
}
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
});
|
|
149
|
-
|
|
150
|
-
const projectChart = document.getElementById('projectChart');
|
|
151
|
-
const projectbarChart = document.getElementById('projectbarChart');
|
|
152
|
-
|
|
153
|
-
const projectNames = {{{ json projectNames }}};
|
|
154
|
-
const totalTests = {{{ json totalTests }}};
|
|
155
|
-
function generateRandomColor() {
|
|
156
|
-
const letters = '0123456789ABCDEF';
|
|
157
|
-
let color = '#';
|
|
158
|
-
for (let i = 0; i < 6; i++) {
|
|
159
|
-
color += letters[Math.floor(Math.random() * 16)];
|
|
160
|
-
}
|
|
161
|
-
return color;
|
|
162
|
-
}
|
|
163
|
-
const backgroundColors = totalTests.map(() => generateRandomColor());
|
|
164
|
-
new Chart(projectChart, {
|
|
165
|
-
type: '{{ chartType }}',
|
|
166
|
-
data: {
|
|
167
|
-
labels: projectNames,
|
|
168
|
-
datasets: [{
|
|
169
|
-
data: totalTests,
|
|
170
|
-
backgroundColor: backgroundColors
|
|
171
|
-
}]
|
|
172
|
-
},
|
|
173
|
-
options: {
|
|
174
|
-
responsive: true,
|
|
175
|
-
maintainAspectRatio: false,
|
|
176
|
-
plugins: {
|
|
177
|
-
legend: {
|
|
178
|
-
position: 'bottom'
|
|
179
|
-
},
|
|
180
|
-
tooltip: {
|
|
181
|
-
callbacks: {
|
|
182
|
-
label: function (tooltipItem) {
|
|
183
|
-
return tooltipItem.label + ': ' + tooltipItem.raw + ' tests';
|
|
184
|
-
}
|
|
185
|
-
}
|
|
186
|
-
}
|
|
187
|
-
}
|
|
188
|
-
}
|
|
189
|
-
});
|
|
190
|
-
const passedTests = {{ json passedTests }};
|
|
191
|
-
const failedTests = {{ json failedTests }};
|
|
192
|
-
const skippedTests = {{ json skippedTests }};
|
|
193
|
-
const retryTests = {{ json retryTests }};
|
|
194
|
-
const flakyTests = {{ json flakyTests }};
|
|
195
|
-
|
|
196
|
-
new Chart(projectbarChart, {
|
|
197
|
-
type: 'bar',
|
|
198
|
-
data: {
|
|
199
|
-
barPercentage: 1,
|
|
200
|
-
barThickness: 6,
|
|
201
|
-
maxBarThickness: 8,
|
|
202
|
-
minBarLength: 2,
|
|
203
|
-
labels: projectNames,
|
|
204
|
-
datasets: [
|
|
205
|
-
{
|
|
206
|
-
label: 'Passed',
|
|
207
|
-
data: passedTests,
|
|
208
|
-
backgroundColor: '#28a745',
|
|
209
|
-
},
|
|
210
|
-
{
|
|
211
|
-
label: 'Failed',
|
|
212
|
-
data: failedTests,
|
|
213
|
-
backgroundColor: '#ff6685',
|
|
214
|
-
},
|
|
215
|
-
{
|
|
216
|
-
label: 'Skipped',
|
|
217
|
-
data: skippedTests,
|
|
218
|
-
backgroundColor: '#66d1ff',
|
|
219
|
-
},
|
|
220
|
-
{
|
|
221
|
-
label: 'Flaky',
|
|
222
|
-
data: flakyTests,
|
|
223
|
-
backgroundColor: '#ffb70f',
|
|
224
|
-
},
|
|
225
|
-
{
|
|
226
|
-
label: 'Retry',
|
|
227
|
-
data: retryTests,
|
|
228
|
-
backgroundColor: '#69748c',
|
|
229
|
-
}
|
|
230
|
-
]
|
|
231
|
-
},
|
|
232
|
-
options: {
|
|
233
|
-
indexAxis: 'y',
|
|
234
|
-
responsive: true,
|
|
235
|
-
maintainAspectRatio: false,
|
|
236
|
-
scales: {
|
|
237
|
-
x: {
|
|
238
|
-
beginAtZero: true,
|
|
239
|
-
ticks: {
|
|
240
|
-
autoSkip: false,
|
|
241
|
-
maxRotation: 45
|
|
242
|
-
}
|
|
243
|
-
},
|
|
244
|
-
y: {
|
|
245
|
-
beginAtZero: true
|
|
246
|
-
}
|
|
247
|
-
},
|
|
248
|
-
plugins: {
|
|
249
|
-
legend: {
|
|
250
|
-
display: true,
|
|
251
|
-
position: 'bottom'
|
|
252
|
-
}
|
|
253
|
-
},
|
|
254
|
-
barPercentage: 0.6,
|
|
255
|
-
categoryPercentage: 0.8,
|
|
256
|
-
}
|
|
257
|
-
});
|
|
258
|
-
</script>
|
|
259
|
-
</div>
|
|
260
|
-
</div>
|