Karma/Jasmine test throwing error when checking for table order
Karma/Jasmine test throwing error when checking for table order
Hi, I am writing test for all my datatable options. I am currently trying to pass a test where the order of a column is ascending
My test looks like
it("table first column is in ascending order", function () {
const order = [[0, 'asc']]```
const html = `<table id="reference">
<thead>
<tr><th>Col 1</th><th>Col 2</th><th>Col 3</th></tr>
</thead>
<tbody>
<tr><td>Date 1</td><td>Date 2</td><td>Date 3</td></tr>
<tr><td>Date 4</td><td>Date 5</td><td>Date 6</td></tr>
</tbody>
</table>`
this.dataTableInstance = helpers.createInstanceFromHTML({html: html, options: {order: [[0, 'asc']]}})
console.log(order)
expect(this.dataTableInstance.options.order).toBe(order);
})
But when I run this the test fails and gives this output × table first column is in ascending order
Expected [ [ 0, 'asc', _idx: 0 ] ] to be [ [ 0, 'asc' ] ]. Tip: To check for deep equality, use .toEqual() instead of .toBe().
It is referring to the column index which I have not set and can't seem to add to the order array anyway does anyone know where this comes from or why it is happening?
Additionally if I changed .toBe to .toEquals I would get a similar error about the _idx: 0
property any help is appreciated
Answers
Hi @gwar9 ,
I used this in our tests:
You could try the same,
Cheers,
Colin
@colin thanks, that does seem to pass the test but is it actually evaluating the order of the column? I have limited exp writing tests so I'm not sure exactly whats happening when you convert to a string?