機能性: ユーザーは、レクチャーに入るために入力フィールドにレクチャー コードを入力する必要があります。ランディング ページで、ユーザーがレクチャー コードを入力しているときに、コードが正しいかどうかを確認し、正しい場合は「btn-enter-lecture」を緑色にします。
'keyup #lecture-code-input' : function() {
var possibleLectureID = $('#lecture-code-input').val();
var possibleLecture = Lectures.findOne({lectureCode: possibleLectureID});
if(possibleLecture){
$('#btn-enter-lecture').addClass('btn-success');
$('#btn-enter-lecture').removeClass('disabled');
}
else {
$('#btn-enter-lecture').removeClass('btn-success');
$('#btn-enter-lecture').addClass('disabled');
}
}
この機能を jasmine でテストするには、レクチャー コードを入力フィールドに貼り付け、jquery でイベントをトリガーしてみます。しかし、これは隕石イベントを呼び出しません。
describe("'Enter Class' button", function() {
it("turns green when there is a lecture with this lecture code", function(done) {
$('#lecture-code-input').val(lectureCode);
$('#lecture-code-input').trigger('keyup');
var interval = setInterval(function() {
if(!$('button#btn-enter-class').hasClass('disabled')){
clearInterval(interval);
expect($('button#btn-enter-class').hasClass('btn-success')).toBe(true);
done();
}
},5);
});
});
この流星テンプレート イベントをトリガーして、後でボタンが緑色に変わるかどうかをテストするにはどうすればよいですか?
コード: https://github.com/minden/rewind/commit/cac61ecc3da3014548ad4ec9d1ceb2fd49bb265c