AngularJS - макет $ httpBackend.when для любого метода http или URL - PullRequest
0 голосов
/ 20 ноября 2019

Можно ли объявить один ложный ответ для любого запроса $ httpBackend , независимо от метода или URL-адреса?

Например, что-то вроде этого работает ..

var actualMethod, actualRoute;
$httpBackend.when('GET') // <---- Providing expected method
    .respond(function(method, url) {
        actualMethod = method;
        actualRoute = url;

        return [200, {}];
    });

controller.doTheThing();
$httpBackend.flush();

expect(actualMethod).toBe('GET');
expect(actualRoute).toBe('/expected-route');

Я хочу перехватить любой http-метод не только GET, но удаление свойства метода приводит к его отказу ..

var actualMethod, actualRoute;
$httpBackend.when() // <---- Not providing any method
    .respond(function(method, url) { 
        actualMethod = method;
        actualRoute = url;

        return [200, {}];
    });

controller.doTheThing();
$httpBackend.flush();

expect(actualMethod).toBe('GET');
expect(actualRoute).toBe('/expected-route');

с ошибкой:

Ошибка: нет ожидающего запроса на сброс! в функции. $ httpBackend.flush

Есть ли другой способ, который может это сделать?
Это ошибка с $ httpBackend?

Или какие-нибудь идеи для обертки, которая могла бы обеспечить аналогичную функциональность?

...