如何在AngularJS中测试http配置选项?

时间:2015-01-18 16:03:11

标签: angularjs unit-testing http

在这种服务方法中,我想测试是否存在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)嘲笑它。

0 个答案:

没有答案