/* MMigreringsbeslut: denna test behöver Chrome headless eller PhantomJs + es6-shim för att kunna köras */ /** * @ngdoc fbDokumentToggle * @name fasit.directives.#fbDokumentToggle * @fbDokumentToggle * * @description * Test för directivet fbDokumentToggle * */ describe("fbDokumentToggle", function () { var element: any; var $scope: any; var link: any; var testDokument: any; var q: ng.IQService; var innerScope: fb.IFbDokumentToggleScope; beforeEach(angular.mock.module('fasit', 'fbMocks')); afterEach(function () { $scope.$destroy(); }); beforeEach(inject(function ($compile, $rootScope, $httpBackend, $q) { q = $q; $scope = $rootScope; $scope.OV1 = true; $scope.dokumentVaerden = { }; var DOM = '' + '
testtext
' + '
'; element = angular.element(DOM); link = $compile(element)($scope); $scope.$digest(); innerScope = $scope.$$childHead; })); afterEach(function () { $scope.$destroy(); innerScope.$destroy(); }); describe('vid initialisering', function () { it('borde skapa ett element', function () { expect(element).toBeTruthy(); expect(link).toBeTruthy(); expect(innerScope).toBeTruthy(); }); it('borde kunna ta ett originalvaerde att använda ifall dokumentVaerde inte är satt', inject(function ($compile) { $scope.OV1 = false; $scope.dokumentVaerden = {}; var DOM = '' + '
testtext
' + '
'; element = angular.element(DOM); link = $compile(element)($scope); $scope.$digest(); innerScope = $scope.$$childHead; expect(element.find('.toggle-toggle')[0].innerHTML).toContain('false'); expect(element.find('.toggle-toggle')[0].innerHTML).not.toContain('true'); })); it('borde skapa ett dokumentVaerde ifall det inte redan finns', inject(function ($compile) { expect($scope.dokumentVaerden.OA1).not.toBeUndefined(); })); it('borde använda dokumentVaerde ifall det är satt', inject(function ($compile) { $scope.dokumentVaerden = { OA1: { VaerdeNamn: 'OA1', Vaerde: true } }; var DOM = '' + '
testtext
' + '
'; element = angular.element(DOM); link = $compile(element)($scope); $scope.$digest(); innerScope = $scope.$$childHead; expect(innerScope.dokumentVaerde).not.toBeUndefined(); expect(innerScope.dokumentVaerde.Vaerde).toBeTruthy(); expect(element.find('.toggle-toggle')[0].innerHTML).toContain('true'); expect(element.find('.toggle-toggle')[0].innerHTML).not.toContain('false'); })); it('borde skapa nytt tomt dokumentVaerde ifall inte originalVaerde eller dokumentVaerde är definierat', inject(function ($compile) { var DOM = '' + '
testtext
' + '
'; element = angular.element(DOM); link = $compile(element)($scope); $scope.$digest(); innerScope = $scope.$$childHead; expect(innerScope.dokumentVaerde).not.toBeUndefined(); expect(element.find('.toggle-toggle')[0].innerHTML).toContain('false'); expect(element.find('.toggle-toggle')[0].innerHTML).not.toContain('true'); })); }); it('borde ha en knapp för att toggla värdet', function () { expect(element.find('.toggle-toggle').length).toBe(1); }); });