describe('Directive focus', () => { let $scope; let $element; let compile; beforeEach(ngModule('vnCore')); compile = (_element, _childElement) => { inject(($compile, $rootScope, $flushPendingTasks) => { $scope = $rootScope.$new(); $element = angular.element(_element); if (_childElement) $element[0].firstChild.focus = jasmine.createSpy(focus); $element[0].focus = jasmine.createSpy('focus'); $element[0].select = jasmine.createSpy('select'); $compile($element)($scope); $flushPendingTasks(); }); }; it('should call the querySelector function upon the input to redefine it with the expected selector then call focus', () => { let html = `
`; let childHtml = ''; compile(html, childHtml); expect($element[0].firstChild.focus).toHaveBeenCalledWith(); }); it('should call focus function on the element', () => { let html = ``; compile(html); expect($element[0].focus).toHaveBeenCalledWith(); }); it('should call select function on the element', () => { let html = ``; compile(html); $scope.$apply(); expect($element[0].select).toHaveBeenCalledWith(); }); });