From 75e7f9d289e558e9dae9003287df8cd049bba883 Mon Sep 17 00:00:00 2001 From: Ruslan Date: Fri, 7 Oct 2016 07:56:03 +0000 Subject: [PATCH] fix data-table unit test --- test/unit/data-table.js | 61 +++++++++++++++++++++-------------------- 1 file changed, 31 insertions(+), 30 deletions(-) diff --git a/test/unit/data-table.js b/test/unit/data-table.js index 65a63d2d..2821f8a4 100644 --- a/test/unit/data-table.js +++ b/test/unit/data-table.js @@ -14,48 +14,49 @@ * limitations under the License. */ -/*global describe, it, expect, MaterialDataTable, componentHandler */ +var TABLE_TEMPLATE = '' + + '' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + '' + + '' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + '' + + '
MaterialQuantityUnit price
Acrylic (Transparent)25$2.90
Plywood (Birch)50$1.25
'; describe('MaterialDataTable', function () { - function createTable() { - var table = document.createElement('table'); - table.classList.add('mdl-data-table'); - table.classList.add('mdl-js-data-table'); - - table.createTHead(); - var headTh = document.createElement('th'); - table.querySelector('thead').appendChild(headTh); - - var tBodyRow = table.insertRow(0); - tBodyRow.insertCell(0); - - return table; - } - it('should be globally available', function () { expect(MaterialDataTable).to.be.a('function'); }); it('should upgrade successfully', function () { - var table = createTable(); + var el = document.createElement('div'); + el.innerHTML = TABLE_TEMPLATE; - componentHandler.upgradeElement(table, 'MaterialDataTable'); - expect($(table)).to.have.data('upgraded', ',MaterialDataTable'); + componentHandler.upgradeElement(el, 'MaterialDataTable'); + expect($(el)).to.have.data('upgraded', ',MaterialDataTable'); }); it('should have is-checked class when the row has the is-selected class', function () { - var table = createTable(); - table.classList.add('mdl-data-table--selectable'); - var row = table.insertRow(); - row.classList.add('is-selected'); - row.insertCell(); - - document.body.appendChild(table); - + var el = document.createElement('div'); + el.innerHTML = TABLE_TEMPLATE; + document.body.appendChild(el); + table = document.querySelector('#data-table-test') componentHandler.upgradeElement(table, 'MaterialDataTable'); - expect(table.querySelector('tbody:nth-child(2) label').classList.contains('is-checked')).to.be.true; - document.body.removeChild(table); + expect(table.querySelector('.second-row label').classList.contains('is-checked')).to.be.true; }); -}); +}); \ No newline at end of file