[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]

