/* 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);
});
});