import './textfield.js'; describe('Component vnTextfield', () => { let $componentController; let $scope; let $attrs; let $timeout; let $element; let controller; beforeEach(() => { angular.mock.module('client'); }); beforeEach(angular.mock.inject((_$componentController_, $rootScope, _$httpBackend_, _$timeout_) => { $componentController = _$componentController_; $scope = $rootScope.$new(); $attrs = {}; $timeout = _$timeout_; $element = angular.element('
'); controller = $componentController('vnTextfield', {$scope, $element, $attrs, $timeout, $transclude: null}); })); describe('value() setter', () => { it(`should set _value, input.value and hasValue properties to null, '' and false`, () => { let testValue = ''; controller.value = testValue; expect(controller._value).toEqual(null); expect(controller.input.value).toEqual(testValue); expect(controller.hasValue).toEqual(Boolean(testValue)); }); it(`should set _value, input.value and hasValue propertiest to test, test and true`, () => { let testValue = 'test'; controller.value = testValue; expect(controller._value).toEqual(testValue); expect(controller.input.value).toEqual(testValue); expect(controller.hasValue).toEqual(Boolean(testValue)); }); }); describe('type() setter', () => { it(`should set _type to 'text' if theres not given value`, () => { controller.type = null; expect(controller._type).toEqual('text'); }); }); describe('clear()', () => { it(`should set value property to null and call focus`, () => { spyOn(controller.input, 'focus'); controller.clear(); expect(controller.value).toEqual(null); expect(controller.input.focus).toHaveBeenCalledWith(); }); }); });