Ich habe ein Stück Winkel Code, der eine Post-Anfrage an den Cloudant, gibt eine Antwort, baut eine URL mit ihm und macht eine Anfrage mit dem gleichen. Die get-Anforderung gibt einen Array-Puffer zurück, durch den ich eine PDF-Datei erzeuge, die im Frontend gerendert werden soll.Unit Test Angular Js mit Jasmine
Könnte jemand bitte lassen Sie mich beraten, wie Unit-Test dies als Unit-Tests zusammen mit Rest API ist ein neues Gebiet für mich. PFB meinen Code
$scope.viewfile = function(name) {
$http({
method : 'POST',
url : '/search/searchFiles',
data : {'currentdropdownvalue' : name} ,
}).
success(function(data){
if (!angular.isUndefined(data.docs[0])){
$scope.file = data.docs[0]._id;
var fileUrl = $scope.cloudantUrl + $scope.file +"/"+ $scope.file;
$http.get(fileUrl {responseType:'arraybuffer'})
.success(function (response) {
var file = new Blob([response], {type: 'application/pdf'});
var fileURL = URL.createObjectURL(file);
$scope.content = $sce.trustAsResourceUrl(fileURL);
$scope.contentType = "application/pdf";
$scope.contentWords = null;
}).error(function(data){
console.log("Printing Error inside Post of view " , data);
});
}
else{
$scope.content = null;
$scope.contentWords = "File is not available for the selected Name";
}
}).
error(function(data){
console.log("Printing Error inside view " , data);
});
};
}
Sie $ httpBackend können Sie die Http verspotten ruft – MatTaNg
könnten Sie bitte ein Mock-up oder eine Probe abgeben, so dass ich diese Idee kann es verwenden – user6591323
und aufbauen würde ich um nur auf ihre Dokumente verweisen: https://docs.angularjs.org/api/ngMock/service/$httpBackend Ich bin weit von einem Experten auf $ httpBackend. Normalerweise spioniere ich einfach das $ http-Objekt aus und lasse es zurückkommen, was mir im Prinzip das Gleiche bedeutet. Sie sollten $ httpBackend verwenden. – MatTaNg