Я пытаюсь протестировать компонент Ember с мокко и синон. Я хотел протестировать одно из действий компонента, который выполняет ajax-вызов, используя «useFakeXMLHttpRequest» синона. Но этот тест вызывает ошибку тайм-аута. Я использую тестовый адаптер mocha для ember, взятый с https://github.com/teddyzeenny/ember-mocha-adapter, я не смог найти js-файл в облаке, поэтому вставил весь код, так что в jsbin он может выглядеть немного беспорядочно.
Вот ссылка jsbin на проблему: http://jsbin.com/usajOhE/1/
Код для компонента:
AS.QuestionViewComponent = Ember.Component.extend({
templateName: "components/question-view",
actions: {
makeAjaxCall: function() {
jQuery.ajax({
url: "/todo/items",
success: function(data) {
//callback(null, data);
}
});
}
}
});
Панель управления, связанная с компонентом:
<a {{action "makeAjaxCall"}} class="test-link">Make ajax call</a>
И мой тестовый сценарий:
describe("Testing", function() {
var xhr, requests;
before(function() {
xhr = sinon.useFakeXMLHttpRequest();
requests = [];
xhr.onCreate = function(req) {
requests.push(req);
};
});
after(function() {
xhr.restore();
});
beforeEach(function() {
AS.reset();
visit("/");
});
it("shoud make ajax call", function() {
//TIMESOUT HERE
click($("a.test-link:first")).then(function() {
console.log(requests);
expect(requests.length).to.be(1);
});
});
});
Ваша помощь будет высоко оценена. Спасибо