2015-05-11 3 views
1

Так что это моя функция $ scope. Я хочу проверить это Жасмин.Тестирование modal.open() с использованием Jasmine

$scope.viewIndividualDetailsByTitle = function(details){ 
     $modal.open({ 
      templateUrl: 'components/content-management/content-assessment/partial/title_detail.html', 
      controller: 'ContentAssessmentTitleDetailCtrl', 
      size: 'lg', 
      backdrop: 'static', 
      resolve: { 
      cpPortfolioTitle: function(){ 
        return details; 
      } 
      } 
     }); 

    }; 

Это то, что я написал в Жасмине.

describe('Ctrl: ContentAssessmentCtrl', function(){ 
beforeEach(module('cmsApp')); 
var ContentAssessmentCtrl, scope, modal, modalInstance, httpBackend, ContentAssessmentService, event, controller; 

beforeEach(inject(function($controller, $rootScope, $modal, $httpBackend, _ContentAssessmentService_){ 
    scope = $rootScope.$new(); 
    modal = $modal; 
    httpBackend = $httpBackend; 
    ContentAssessmentService = _ContentAssessmentService_; 

    ContentAssessmentCtrl = $controller('ContentAssessmentCtrl', { 
     $scope: scope, 
     ContentAssessmentService: ContentAssessmentService 
    }); 

    modalServiceMock = { 
     open: function(options) { 
     } 
    }; 

    httpBackend.whenGET('/mcw/api/content_provider_status_mapping/contentProviderStatus/3').respond(); 
    scope.$digest(); 
})); 



it('should test viewIndividualDetailsByTitle', function(){ 
    var details = { 
     contentProvider:{ 
      name:'Test' 
     }, 
     title: 'Test', 
     productionYear: 1, 
     titleCategory:{ 
      name:'Test' 
     }, 
     runningTime: 1, 
     country:{ 
      name:'Test', 
      code:'Test' 
     } 
    }; 
}); 

it('should show the modal', function(){ 
    spyOn(modal, 'open'); 
    expect(modal.open).toHaveBeenCalled(); 
}); 


}); 

Но у меня всегда есть ошибка «Ожидалось шпиона были названы. Я новичок на Жасмин, как это мой первый раз, поэтому, пожалуйста, медведь со мной. Спасибо

ответ

2

Похоже, что вы имеете получил все настройки шаблона для теста, но вы на самом деле не вызываете функцию, открывающую модальную. После линии, в которой вы создаете шпион, вы можете позвонить:

$scope.viewIndividualDetailsByTitle();