Skip to content
This repository was archived by the owner on Feb 25, 2025. It is now read-only.

Commit 5bcc301

Browse files
Milo CasagrandeMiloCasagrande
authored andcommitted
Add test-set JS library
1 parent ba55ae4 commit 5bcc301

3 files changed

Lines changed: 138 additions & 5 deletions

File tree

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
/*! Kernel CI Dashboard | Licensed under the GNU GPL v3 (or later) */
2+
define([
3+
'tables/common'
4+
], function(tcommon) {
5+
'use strict';
6+
var gTestSetTable;
7+
8+
gTestSetTable = {};
9+
10+
gTestSetTable.renderDate = function(date, type) {
11+
return tcommon.renderDate(date, type);
12+
};
13+
14+
gTestSetTable.renderDetails = function(href, type, title) {
15+
return tcommon.renderDetails(href, type, title);
16+
};
17+
18+
return gTestSetTable;
19+
});

app/dashboard/static/js/app/view-tests-suite.2016.3.1.js

Lines changed: 101 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,110 @@ require([
44
'utils/init',
55
'utils/html',
66
'utils/error',
7-
'utils/request'
8-
], function($, init, html, err, request) {
7+
'utils/request',
8+
'utils/table',
9+
'tables/test-set'
10+
], function($, init, html, err, request, table, ttestset) {
911
'use strict';
1012
var gTestSuite;
13+
var gTestSetsTable;
1114

1215
document.getElementById('li-test').setAttribute('class', 'active');
1316

17+
function getTestSetsFail() {
18+
// TODO
19+
}
20+
21+
function getTestSetsDone(response) {
22+
var results;
23+
var columns;
24+
25+
function _renderDetails(data, type, object) {
26+
var href;
27+
28+
href = '/test/suite/' +
29+
object.test_suite_name + '/set/' + object.name + '/' +
30+
data.$oid + '/';
31+
return ttestset.renderDetails(href, type);
32+
}
33+
34+
function _renderTestCasesCount(data, type) {
35+
if (type === 'sort') {
36+
return data.length;
37+
} else if (type === 'display') {
38+
// TODO
39+
}
40+
}
41+
42+
results = response.result;
43+
if (results.length > 0) {
44+
// TODO
45+
console.log(results);
46+
47+
gTestSetsTable = table({
48+
tableId: 'test-sets-table',
49+
tableDivId: 'test-sets-table-div'
50+
});
51+
52+
columns = [
53+
{
54+
data: 'name',
55+
title: 'Name',
56+
type: 'string'
57+
},
58+
{
59+
data: 'test_case',
60+
title: 'Total Test Cases',
61+
type: 'num',
62+
className: 'pull-center',
63+
render: _renderTestCasesCount
64+
},
65+
{
66+
data: 'created_on',
67+
title: 'Date',
68+
type: 'date',
69+
className: 'pull-center',
70+
render: ttestset.renderDate
71+
},
72+
{
73+
data: '_id',
74+
title: '',
75+
type: 'string',
76+
searchable: false,
77+
orderable: false,
78+
className: 'select-column pull-center',
79+
render: _renderDetails
80+
}
81+
];
82+
83+
gTestSetsTable
84+
.data(results)
85+
.columns(columns)
86+
.lengthMenu([10, 25, 50, 75, 100])
87+
.order([2, 'asc'])
88+
.languageLengthMenu('Test sets per page')
89+
.draw();
90+
} else {
91+
html.replaceContent(
92+
document.getElementById('test-sets'),
93+
html.errorDiv('No test sets available.'));
94+
}
95+
}
96+
97+
function getTestSets() {
98+
var data;
99+
var deferred;
100+
101+
data = {
102+
test_suite_name: gTestSuite
103+
};
104+
105+
deferred = request.get('/_ajax/test/set', data);
106+
$.when(deferred)
107+
.done(getTestSetsDone)
108+
.fail(err.error, getTestSetsFail);
109+
}
110+
14111
function getCountsFail() {
15112
html.replaceByClass('count-list-badge', '∞');
16113
}
@@ -28,8 +125,8 @@ require([
28125

29126
function getCounts() {
30127
var batchOps;
31-
var queryStr;
32128
var deferred;
129+
var queryStr;
33130

34131
batchOps = [];
35132
queryStr = 'test_suite_name=' + gTestSuite;
@@ -90,6 +187,7 @@ require([
90187
gTestSuite = gTestSuite.value;
91188

92189
getCounts();
190+
getTestSets();
93191
}
94192

95193
init.hotkeys();

app/dashboard/templates/test-suite.html

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,10 @@
22
{%- block meta -%}
33
<meta name="csrf-token" content="{{ csrf_token_r() }}">
44
{%- endblock %}
5+
{%- block head %}
6+
{{ super() }}
7+
<link rel="stylesheet" type="text/css" href="/static/css/dataTables.bootstrap-1.10.11.css">
8+
{%- endblock %}
59
{%- block title %}{{ page_title|safe }}{%- endblock %}
610
{%- block content %}
711
<div class="row">
@@ -60,17 +64,29 @@ <h3>{{ body_title|default('Latest Results')|safe }}</h3>
6064
<div class="row">
6165
<div class="col-xs-12 col-sm-12 col-md-12 col-lg-12">
6266
<div class="page-header">
63-
<h3>Test Sets Ran</h3>
67+
<h3>Test Sets</h3>
68+
</div>
69+
</div>
70+
</div>
71+
<div class="row">
72+
<div class="col-xs-12 col-sm-12 col-md-12 col-lg-12" id="test-sets">
73+
<div id="test-sets-table-div">
74+
<table id="test-sets-table"
75+
class="table table-hover table-striped table-condensed clickable-table big-table">
76+
</table>
6477
</div>
6578
</div>
6679
</div>
6780
<div class="row">
6881
<div class="col-xs-12 col-sm-12 col-md-12 col-lg-12">
6982
<div class="page-header">
70-
<h3>Test Cases Ran</h3>
83+
<h3>Test Cases</h3>
7184
</div>
7285
</div>
7386
</div>
87+
<div class="row">
88+
<div class="col-xs-12 col-sm-12 col-md-12 col-lg-12" id="test-cases"></div>
89+
</div>
7490
<input type="hidden" id="test-suite" value="{{ suite }}">
7591
{%- endblock %}{# content block #}
7692
{%- block scripts %}

0 commit comments

Comments
 (0)