From ff5e345e83f5583d65c165dcb275c670da8ab34a Mon Sep 17 00:00:00 2001 From: Denys Vuika Date: Mon, 6 Jun 2016 12:23:23 +0100 Subject: [PATCH] #82 Fix test run and coverage --- .../ng2-alfresco-datatable/package.json | 2 +- .../components/datatable.component.spec.ts | 32 +++++++++++++++++-- 2 files changed, 31 insertions(+), 3 deletions(-) diff --git a/ng2-components/ng2-alfresco-datatable/package.json b/ng2-components/ng2-alfresco-datatable/package.json index 19a877ceec..f19efa5fd4 100644 --- a/ng2-components/ng2-alfresco-datatable/package.json +++ b/ng2-components/ng2-alfresco-datatable/package.json @@ -16,7 +16,7 @@ "licensecheck": "license-check", "tsc": "tsc", "pretest": "npm run build", - "test": "karma start karma.conf.js --reporters mocha --single-run", + "test": "karma start karma.conf.js", "test-browser": "karma start karma.conf.js --reporters kjhtml ", "posttest": "node_modules/.bin/remap-istanbul -i coverage/report/coverage-final.json -o coverage/report -t html", "coverage": "wsrv -o -p 9875 ./coverage/report", diff --git a/ng2-components/ng2-alfresco-datatable/src/components/datatable.component.spec.ts b/ng2-components/ng2-alfresco-datatable/src/components/datatable.component.spec.ts index c1a2d72cc1..9dbebf8620 100644 --- a/ng2-components/ng2-alfresco-datatable/src/components/datatable.component.spec.ts +++ b/ng2-components/ng2-alfresco-datatable/src/components/datatable.component.spec.ts @@ -38,6 +38,8 @@ describe('DataTable', () => { let eventMock: any; beforeEach(() => { + // reset MDL handler + window['componentHandler'] = null; dataTable = new DataTableComponent(); eventMock = { @@ -58,7 +60,7 @@ describe('DataTable', () => { expect(dataTable.data).toBe(data); }); - it('should emit row click event', (done) => { + it('should emit row click event', done => { let row = {}; dataTable.rowClick.subscribe(e => { @@ -69,13 +71,31 @@ describe('DataTable', () => { dataTable.onRowClick(row, null); }); - it('should prevent default event on row click event', () => { + it('should emit row double-click event', done => { + let row = {}; + + dataTable.rowDblClick.subscribe(e => { + expect(e.value).toBe(row); + done(); + }); + + dataTable.onRowDblClick(row, null); + }); + + it('should prevent default behavior on row click event', () => { let e = jasmine.createSpyObj('event', ['preventDefault']); dataTable.ngOnInit(); dataTable.onRowClick(null, e); expect(e.preventDefault).toHaveBeenCalled(); }); + it('should prevent default behavior on row double-click event', () => { + let e = jasmine.createSpyObj('event', ['preventDefault']); + dataTable.ngOnInit(); + dataTable.onRowDblClick(null, e); + expect(e.preventDefault).toHaveBeenCalled(); + }); + it('should not sort if column is missing', () => { dataTable.ngOnInit(); let adapter = dataTable.data; @@ -138,4 +158,12 @@ describe('DataTable', () => { }); + it('should upgrade MDL components on view checked', () => { + let handler = jasmine.createSpyObj('componentHandler', ['upgradeAllRegistered']); + window['componentHandler'] = handler; + + dataTable.ngAfterViewChecked(); + expect(handler.upgradeAllRegistered).toHaveBeenCalled(); + }); + });