Add total count table to per test page

This commit adds a table to the bottom of the per test page that
details the total counts and percentages by status for a particular
test over the selected time window. While the area plot is good to
visualize this overtime, it's not good for figuring out aggregate
data, which is where the table is useful.

Change-Id: I58b0d834fb8e7d74ce1aa7a8020f54a238995ba4
This commit is contained in:
Matthew Treinish 2016-08-05 12:19:27 -04:00
parent 42ae4b0d84
commit 1dd17aa6ef
No known key found for this signature in database
GPG Key ID: FD12A0F214C9E177
2 changed files with 49 additions and 2 deletions

View File

@ -49,6 +49,11 @@ function TestController(
var runTimeEntries = [];
var avgRunTimeEntries = [];
var dateString, dateTimeString;
vm.totalCounts = {
passes: 0,
fails: 0,
skips: 0
};
for (dateString in data.data) {
if (data.data.hasOwnProperty(dateString)) {
@ -70,6 +75,7 @@ function TestController(
else {
dates[date] = incCount(test.status, dates[date]);
}
vm.totalCounts = incCount(test.status, vm.totalCounts);
}
}
for (date in dates) { // eslint-disable-line guard-for-in
@ -89,6 +95,11 @@ function TestController(
});
}
}
var totalRuns = vm.totalCounts.passes + vm.totalCounts.fails + vm.totalCounts.skips;
vm.totalCounts.failPercent = (vm.totalCounts.fails / totalRuns) * 100.0;
vm.totalCounts.skipPercent = (vm.totalCounts.skips / totalRuns) * 100.0;
vm.totalCounts.passPercent = (vm.totalCounts.passes / totalRuns) * 100.0;
vm.statusData = [
{ key: 'Passes', values: passEntries, color: 'blue' },
{ key: 'Failures', values: failEntries, color: 'red' },

View File

@ -31,9 +31,45 @@
<div class="panel panel-default">
<div class="panel-heading">
<h3 class="panel-title">Passes and Failures</h3>
</div>
<div class="panel-body">
<chart-stack-area data="testCtrl.statusData" width="100%" height="450"></chart-stack-area>
</div>
</div>
<div class="panel-body">
<chart-stack-area data="testCtrl.statusData" width="100%" height="450"></chart-stack-area>
</div>
</div>
<div class="row">
<div class="col-lg-12">
<div class="panel panel-default">
<div class="panel-heading">
<h3 class="panel-title">Total Test Status Counts</h3>
</div>
<table class="table table-hover default-cols">
<thead>
<tr>
<th>Status</th>
<th>Count</th>
<th>Percentage</th>
</tr>
</thead>
<tbody>
<tr>
<td>Successes</td>
<td>{{testCtrl.totalCounts.passes}}</td>
<td>{{testCtrl.totalCounts.passPercent|number:2}}%</td>
</tr>
<tr>
<td>Failures</td>
<td>{{testCtrl.totalCounts.fails}}</td>
<td>{{testCtrl.totalCounts.failPercent|number:2}}%</td>
</tr>
<tr>
<td>Skips</td>
<td>{{testCtrl.totalCounts.skips}}</td>
<td>{{testCtrl.totalCounts.skipPercent|number:2}}%</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>