/* MMigreringsbeslut: denna test behöver Chrome headless eller PhantomJs + es6-shim för att kunna köras */ /** * @ngdoc fbAction * @name fasit.directives.#fbAction * @fbAction * * @description * Test för directivet fbAction * */ describe("fbAction", function () { var element: ng.IAugmentedJQuery; var $scope: any; var link: any; var innerScope: any var instaellningarService: fb.IMockInstaellningarService beforeEach(angular.mock.module('fasit', 'fbMocks')); afterEach(function () { $scope.$destroy(); }); beforeEach(inject(function ($rootScope, $injector) { $scope = $rootScope; instaellningarService = $injector.get('instaellningarService'); instaellningarService.instaellningar.instaellningar = { 25: new fb.Instaellning({ "InstaellningVaerdeId": 25, "InstaellningNamn": "", "InstaellningVaerde": true, "InstaellningDatatyp": "boolean" }), 26: new fb.Instaellning({ "InstaellningVaerdeId": 26, "InstaellningNamn": "", "InstaellningVaerde": true, "InstaellningDatatyp": "boolean" }) } })); describe('number', function () { beforeEach(inject(function ($compile) { $scope.ctModelNumber = new fb.ChangeTrack('0705089601'); var DOM = '

'; element = angular.element(DOM); link = $compile(element)($scope); $scope.$digest(); innerScope = $scope.$$childHead; })); describe('kan ', function () { it('öppnas och stängas av mouseevent', function () { element.mouseenter(); expect(element.children().last().css('display')).toBe('block'); element.mouseleave(); expect(element.children().last().css('display')).toBe('none'); }); it('visa rätt länkar beroende på installningar', function () { element.mouseenter(); expect(element.children().last().find('ul').children().length).toBe(2); expect(element.children().last().find('ul').find('a').attr('href')).toBe('callto:0705089601'); innerScope.anvaenderRingLaenkarCallTo = false; innerScope.$digest(); expect(element.children().last().find('ul').children().length).toBe(2); expect(element.children().last().find('ul').find('a').attr('href')).toBe('tel:0705089601'); innerScope.anvaenderRingLaenkar = false; innerScope.$digest(); expect(element.children().last().find('ul').children().length).toBe(1); }); }); }); describe('email', function () { beforeEach(inject(function ($compile) { $scope.ctModelEmail = new fb.ChangeTrack('alexander.hjalmarsson@decerno.se'); var DOM = '

'; element = angular.element(DOM); link = $compile(element)($scope); $scope.$digest(); innerScope = $scope.$$childHead; })); it('visa rätt länkar beroende på installningar', function () { element.mouseenter(); expect(element.children().last().find('ul').children().length).toBe(1); innerScope.anvaenderRingLaenkarCallTo = false; innerScope.$digest(); expect(element.children().last().find('ul').children().length).toBe(1); innerScope.anvaenderRingLaenkar = false; innerScope.$digest(); expect(element.children().last().find('ul').children().length).toBe(1); }); }); });