2016-03-23 16 views
0

ジャスミンユニットテストDOM操作サービス

angular.module('xyz') 
    .service('noteCardDisplay', function() { 

     function waitForDialog() { 
     var dialogWrapper, dialogModal; 
     dialogWrapper = angular.element('.modal-content').parent().parent(); 
     dialogWrapper.css('height', 475); 
     dialogWrapper.css('width', 650); 
     dialogWrapper.css('margin-left', 300); 
     dialogWrapper.css('margin-top', 200); 
     dialogModal = angular.element('.modal-content').parent(); 
     dialogModal.css('margin', 0); 
     } 

     return { 
     waitForDialog: waitForDialog 
     }; 

    }); 

答えて

0

を使用して、私のユニットテスト角度で以下のサービスは、DOM要素を使用してサービスプランことを、あなたはテスト目的のためにDOMフラグメントを作成するために$compileを使用する必要があるようですどうすればよいです。次に、angular.element.attrを使用して属性の特定の値を検証できます。

これは次のようになめらかになります:

it('div should have title attribute', inject(function($rootScope, $compile) { 
    $rootScope.title = 'new title'; 
    element = $compile('<div title="{{title}}"></div>')($rootScope); 
    $rootScope.$digest(); 
    expect(element.attr('title')).not.toBe(''); 
    expect(element.attr('title')).toBe(undefined); 
}));