0
Я пытаюсь проверить ответ http-вызова. Проблема в том, что она проходит независимо от того, какой код ответа я вставляю туда или данные ответа. Есть идеи? Благодаря!
Controller.js
$scope.getPresses = function() {
var pressRequest = {
method: 'GET',
url: localAPI.url + 'press/',
headers: requestHeaders
};
$http(pressRequest)
.success(function(data) {
$scope.userPresses = data.results;
})
.error(function() {
alert("We were not able to retrieve your press data");
});
};
testController.js
describe('Get Presses', function() {
it("sets scope attributes for the user's presses", function() {
$scope.getPresses()
$httpBackend.expectGET('http://0.0.0.0:8000/api/press/', function() {
return {
Authorization: "Token fakeToken2903920932"
}
}).respond(304, 'responseData')
$httpBackend.flush()
});
});
0 Вы не проверяете ничего, кроме запроса. Для успешных запросов вам нужно проверить значение '$ scope.userPresses'. Я не знаю, как вы собираетесь тестировать «предупреждение» для состояния ошибки. По крайней мере, вы должны ввести '$ window' и запустить' $ window.alert' в вашем контроллере. Тогда вы можете высмеять '$ window' в своем тесте – Phil
@Phil Я могу выполнить другие тесты (которые не указаны выше), но когда я помещал $ httpBackend в описание или он(), они не запускаются как будто их совсем нет. –
Затем покажите остальную часть своего кода. – Phil