[salesforce][CI] Sinon.JS(Stub、fakeServer)
[php]
function confirmWrapper(){
if(confirm(‘実行します。よろしいですか?’)){
//はいの処理
}else{
//いいえの処理
}
}
[/php]
[php]
var stub = sinon.stub(window, "confirm");
var func = func(){return false;};
stub.returns(func());
//上記で作成した関数を実行するといいえの処理が動く
confirmWrapper();
//元に戻す
stub.restore();
[/php]
[php]
function ajaxWrapper(){
$.ajax({
type: "GET",
url: "/apex/DummyFront",
data: {request:"dummyId"},
dataType:’json’,
success: function(json) {
if(json.result){
//結果がTrue
}else{
//結果がFalse
}
},
error:function(XMLHttpRequest, textStatus, errorThrown){
//エラー
}
});
}
[/php]
[php]
//fakeserverオブジェクト作成
var sserver = sinon.fakeServer.create();
//GETメソッドで"/apex/DummyFront"に対するAJax通信が行われた場合
//'{"result": false}’をレスポンスで戻す
sserver.respondWith("GET",
"/apex/DummyFront",
[200,{"Content-Type": "application/json" },'{"result": false}’]
);
//ajax処理(上記で作成した関数)を呼び出す
ajaxWrapper();
//このタイミングでレスポンスが戻る
//※resultにfalseをセットしたので「//結果がFalse」の処理に入ります
sserver.respond();
//元に戻す
sserver.restore();
[/php]
[php]
<apex:includeScript value="{!URLFOR($Resource.sf, ‘sinon-1.4.2.js’)}" />
[/php]