Dies ist ein Controller mit einer einreichen Funktion:
$scope.submit = function(){
$http.post('/api/project', $scope.project)
.success(function(data, status){
$modalInstance.dismiss(true);
})
.error(function(data){
console.log(data);
})
}
}
Das ist mein Test ist
it('should make a post to /api/project on submit and close the modal on success', function() {
scope.submit();
$httpBackend.expectPOST('/api/project').respond(200, 'test');
$httpBackend.flush();
expect(modalInstance.dismiss).toHaveBeenCalledWith(true);
});
Der Fehler ich erhalte, ist:
Error: Unexpected request: GET views/appBar.html
views/appBar.html ist mein templateUrl:
.state('project', {
url: '/',
templateUrl:'views/appBar.html',
controller: 'ProjectsCtrl'
})
So irgendwie UI-Router macht meine $ httpBackend Punkt zu diesem statt meiner Aufgabe senden. Ich habe das gleiche Problem in allen meinen Tests mit $ httpBackend.
Gibt es eine Lösung dafür?
Relevante UI-Router Problem # 212 mit einigen Problemumgehungen: https://github.com/angular-ui/ui-router/issues/212#issuecomment-69974072 –