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
|
describe('core- ajax.params()', function() {
dt.libs({
js: ['jquery', 'datatables'],
css: ['datatables']
});
let table;
describe('Check the defaults', function() {
dt.html('empty');
it('Exists and is a function', function(done) {
table = $('#example').DataTable({
columns: dt.getTestColumns(),
ajax: '/base/test/data/data.txt',
initComplete: function(settings, json) {
expect(typeof table.ajax.params).toBe('function');
done();
}
});
});
it('Returns empty object if nothing passed', function() {
expect(JSON.stringify(table.ajax.params())).toBe('{}');
});
dt.html('basic');
it('Returns undefined for DOM sourced table', function() {
table = $('#example').DataTable();
expect(table.ajax.params()).toBe(undefined);
});
});
describe('Functional tests', function() {
let toSend = 'init';
dt.html('empty');
it('Setup', function(done) {
table = $('#example').DataTable({
columns: dt.getTestColumns(),
ajax: {
url: '/base/test/data/data.txt',
data: function(d) {
d.test = toSend;
}
},
initComplete: function(settings, json) {
done();
}
});
});
it('Returns single string', function() {
expect(table.ajax.params()).toEqual({ test: 'init' });
});
it('Updated by ajax.reload()', function() {
toSend = 'reload';
table.ajax.reload();
expect(table.ajax.params()).toEqual({ test: 'reload' });
});
it('Returns an object', function() {
toSend = { second: 'object' };
table.ajax.reload();
expect(table.ajax.params()).toEqual({ test: { second: 'object' } });
});
});
});
|