From ec0eb7f1d18bb22c0325dde94bf25cfca62661e1 Mon Sep 17 00:00:00 2001 From: Daniel Herrero Date: Tue, 7 Nov 2017 11:43:18 +0100 Subject: [PATCH] test fixed --- client/core/src/column-header/column-header.js | 12 ++++++------ .../src/column-header/column-header.spec.js | 18 ++++++++++++++++++ 2 files changed, 24 insertions(+), 6 deletions(-) diff --git a/client/core/src/column-header/column-header.js b/client/core/src/column-header/column-header.js index 4de066bcc..2f5f4d3c3 100644 --- a/client/core/src/column-header/column-header.js +++ b/client/core/src/column-header/column-header.js @@ -1,8 +1,7 @@ import {module} from '../module'; export default class ColumnHeader { - constructor($attrs) { - this.$attrs = $attrs; + constructor() { this.order = undefined; this.mouseIsOver = false; } @@ -23,20 +22,21 @@ export default class ColumnHeader { return showArrow; } $onInit() { - if (this.$attrs.defaultOrder) { - this.order = this.$attrs.defaultOrder; + if (this.defaultOrder) { + this.order = this.defaultOrder; this.onClick(); } } } -ColumnHeader.$inject = ['$attrs']; +ColumnHeader.$inject = []; module.component('vnColumnHeader', { template: require('./column-header.html'), bindings: { field: '@?', text: '@?', - className: '@?' + className: '@?', + defaultOrder: '@?' }, require: { gridHeader: '^^vnGridHeader' diff --git a/client/core/src/column-header/column-header.spec.js b/client/core/src/column-header/column-header.spec.js index 4d1c0621e..5c6d29d73 100644 --- a/client/core/src/column-header/column-header.spec.js +++ b/client/core/src/column-header/column-header.spec.js @@ -67,4 +67,22 @@ describe('Component vnColumnHeader', () => { expect(result).toEqual(false); }); }); + + describe('onInit()', () => { + it(`should never call onClick()`, () => { + spyOn(controller, 'onClick'); + controller.$onInit(); + + expect(controller.onClick).not.toHaveBeenCalledWith(); + }); + + it(`should define controllers order as per defaultOrder then call onClick()`, () => { + controller.defaultOrder = 'ASC'; + spyOn(controller, 'onClick'); + controller.$onInit(); + + expect(controller.order).toEqual('ASC'); + expect(controller.onClick).toHaveBeenCalledWith(); + }); + }); });