1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126
|
describe('rows- rows().data()', function() {
dt.libs({
js: ['jquery', 'datatables'],
css: ['datatables']
});
const testRowData = ['Ashton Cox', 'Junior Technical Author', 'San Francisco', '66', '2009/01/12', '$86,000'];
describe('Check the defaults', function() {
dt.html('basic');
it('Exists and is a function', function() {
let table = $('#example').DataTable();
expect(typeof table.rows().data).toBe('function');
});
dt.html('basic');
it('Returns an API instance', function() {
let table = $('#example').DataTable();
expect(table.rows().data() instanceof $.fn.dataTable.Api).toBe(true);
});
});
describe('DOM tests', function() {
dt.html('basic');
it('GET - DOM returns all rows', function() {
let table = $('#example').DataTable();
let rows = table.rows().data();
expect(rows.length).toBe(57);
expect(rows.count()).toBe(57 * 6);
expect(rows[2].toString()).toBe(testRowData.toString());
});
it('GET - DOM returns single rows', function() {
let table = $('#example').DataTable();
let rows = table.rows(2).data();
expect(rows.length).toBe(1);
expect(rows.count()).toBe(6);
expect(rows[0].toString()).toBe(testRowData.toString());
});
it('GET - DOM returns two rows', function() {
let table = $('#example').DataTable();
let rows = table.rows([0, 2]).data();
expect(rows.length).toBe(2);
expect(rows.count()).toBe(2 * 6);
expect(rows[1].toString()).toBe(testRowData.toString());
});
});
describe('AJAX tests', function() {
dt.html('empty');
it('GET - AJAX returns all rows', function(done) {
let table = $('#example').DataTable({
ajax: '/base/test/data/data.txt',
deferRender: true,
columns: [
{ data: 'name' },
{ data: 'position' },
{ data: 'office' },
{ data: 'age' },
{ data: 'start_date' },
{ data: 'salary' }
],
initComplete: function(settings, json) {
let rows = table.rows().data();
expect(rows.length).toBe(57);
expect(Object.values(rows[2]).toString()).toBe(testRowData.toString());
done();
}
});
});
dt.html('empty');
it('GET - AJAX returns single rows', function(done) {
let table = $('#example').DataTable({
ajax: '/base/test/data/data.txt',
deferRender: true,
columns: [
{ data: 'name' },
{ data: 'position' },
{ data: 'office' },
{ data: 'age' },
{ data: 'start_date' },
{ data: 'salary' }
],
initComplete: function(settings, json) {
let rows = table.rows(2).data();
expect(rows.length).toBe(1);
expect(Object.values(rows[0]).toString()).toBe(testRowData.toString());
done();
}
});
});
dt.html('empty');
it('GET - AJAX returns single rows', function(done) {
let table = $('#example').DataTable({
ajax: '/base/test/data/data.txt',
deferRender: true,
columns: [
{ data: 'name' },
{ data: 'position' },
{ data: 'office' },
{ data: 'age' },
{ data: 'start_date' },
{ data: 'salary' }
],
initComplete: function(settings, json) {
let rows = table.rows([0, 2]).data();
expect(rows.length).toBe(2);
expect(Object.values(rows[1]).toString()).toBe(testRowData.toString());
done();
}
});
});
});
});
|