#82 Fix test run and coverage

This commit is contained in:
Denys Vuika 2016-06-06 12:23:23 +01:00
parent 9423a13337
commit ff5e345e83
2 changed files with 31 additions and 3 deletions

View File

@ -16,7 +16,7 @@
"licensecheck": "license-check", "licensecheck": "license-check",
"tsc": "tsc", "tsc": "tsc",
"pretest": "npm run build", "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 ", "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", "posttest": "node_modules/.bin/remap-istanbul -i coverage/report/coverage-final.json -o coverage/report -t html",
"coverage": "wsrv -o -p 9875 ./coverage/report", "coverage": "wsrv -o -p 9875 ./coverage/report",

View File

@ -38,6 +38,8 @@ describe('DataTable', () => {
let eventMock: any; let eventMock: any;
beforeEach(() => { beforeEach(() => {
// reset MDL handler
window['componentHandler'] = null;
dataTable = new DataTableComponent(); dataTable = new DataTableComponent();
eventMock = { eventMock = {
@ -58,7 +60,7 @@ describe('DataTable', () => {
expect(dataTable.data).toBe(data); expect(dataTable.data).toBe(data);
}); });
it('should emit row click event', (done) => { it('should emit row click event', done => {
let row = <DataRow> {}; let row = <DataRow> {};
dataTable.rowClick.subscribe(e => { dataTable.rowClick.subscribe(e => {
@ -69,13 +71,31 @@ describe('DataTable', () => {
dataTable.onRowClick(row, null); dataTable.onRowClick(row, null);
}); });
it('should prevent default event on row click event', () => { it('should emit row double-click event', done => {
let row = <DataRow> {};
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']); let e = jasmine.createSpyObj('event', ['preventDefault']);
dataTable.ngOnInit(); dataTable.ngOnInit();
dataTable.onRowClick(null, e); dataTable.onRowClick(null, e);
expect(e.preventDefault).toHaveBeenCalled(); 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', () => { it('should not sort if column is missing', () => {
dataTable.ngOnInit(); dataTable.ngOnInit();
let adapter = dataTable.data; 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();
});
}); });