在这种服务方法中,我想测试是否存在skipAuthorization设置。
var register = function (registration) {
logout();
return $http({
url: apiUrl + 'api/account/register',
method: 'POST',
data: registration,
skipAuthorization: true
});
};
使用$ httpBackend,我可以检查数据和标题,但是我找不到任何与可选配置对象相关的文档。
谢谢!
更新:
我对下面的解决方案并不感到兴奋,但它确实以一种全面的方式测试场景。
it('should flag the interceptor to skip authorization', function () {
spyOn(my_store, 'get').and.returnValue('foo');
service.register();
http.expectPOST(url, undefined, function (headers) {
//If we don't skip authorization, this header would be "Bearer foo"
return headers['Authorization'] === undefined;
});
http.flush();
});
这是有效的,因为如果我不将skipAuthorization设置为true,我将在请求标头上看到一个持有者令牌。它依赖于我的拦截器将令牌从本地存储中拉出来的事实,我用茉莉花间谍(my_store)嘲笑它。