Как заставить поддельный сервер Sinon.js вызвать функцию успеха?

Я использую Жасмин и Синон, чтобы проверить вызов ajax. Тест выглядит так:

describe("function initialize", function(){

    var server;

    beforeEach(function(){
        server = sinon.fakeServer.create();
    });

    afterEach(function() {
        server.restore();
    });

    it ("should make an ajax call successfully", function(){
        server.respondWith(session.apipath + "/login/refreshToken/",
            [200, { 'Content-Type': 'application/json' },
            '{user:"asdf",loginToken:"bla"}']);
        session.initialize();
        server.respond();
        expect(localStorage.getItem("loginToken")).toBe("bla");
    });
});

Я хочу, чтобы он вызывал функцию успеха.

$.ajax(this.apipath + "/login/refreshToken/", {
    success: function (response) {
        alert("success!!!");
        localStorage.setItem("loginToken", response.loginToken);
    },
    error: function(){
        alert("error!!!");
    }
});

Но только ошибка называется. Что я делаю неправильно?

1 ответ

Вы можете попробовать это. (Хотя уже поздно, я все же хочу предложить вам.)

'{user:"asdf",loginToken:"bla"}' -> '{"user":"asdf", "loginToken":"bla"}'

Если вы хотите знать почему, прочитайте это.

Другие вопросы по тегам