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