/** * @ngdoc fbUniqueIdSpec * @name fasit.directivetests.fbUniqueIdSpec * @ fbUniqueIdSpec * @description * Testning av directivet fbUniqueId * */ describe("fbUniqueId directive", function () { var $scope: any; beforeEach(angular.mock.module('fasit', 'fbMocks')); beforeEach(inject(function ($injector, $rootScope: fb.IRootScope) { $scope = $rootScope; $scope.$digest(); })); it('borde sätta ett unikt ID på varje element med samma givna prefix', inject(function ($compile) { var DOM = '
' + '' + '' ; var element: ng.IAugmentedJQuery = $compile(DOM)($scope); var iterator: number = 0; var ids: string[] = []; while (element[iterator]) { ids.push(element[iterator].id); iterator++; } for (var i: number = 0; i < ids.length; i++) { for (var j: number = i+1; j < ids.length; j++) { expect(ids[i]).not.toBe(ids[j]); } } })); it('borde anropa uniqueIdServicemetoden för destroy när elementet tas bort', inject(function ($compile, uniqueIdService) { var DOM = '' + '' + ''; var element: ng.IAugmentedJQuery = $compile(DOM)($scope); spyOn(uniqueIdService, 'removeUniqueId'); element.remove(); $scope.$$childTail.$destroy(); expect(uniqueIdService.removeUniqueId).toHaveBeenCalled(); })); });