promise-helper-for-deferred-style-resolve
A promise helper for deferred style resolve.
You can write tests easily, without any jQuery.
How to use
Get promise objcet, resolve & reject functions via promiseDeferred()
var promiseDeferred = ; var response = ; # response object is# # promise: promise# resolve: resolve# reject: reject#
If you want writing success case, you just write response.resolve()
, in your test case, The success calback will be called. And, you can also do failed case, call response.reject()
.
You can assert (and resolve) like below code.
response;response;
For example.
assert = require 'power-assert'sinon = require 'sinon'request = require 'superagent'deferred = require 'promise-deferred' ToDo = require './ToDo' describe "load all"-> beforeEach -> sinonstubrequest'get' ok = ok: truestatus: 200text: "OK" ng = ok: falsestatus: 404text: "Not Found" return deferred cb ok cb ng afterEach -> requestgetrestore it "call the ajax once" ToDoloadAllsinonspyresolve assertrequestgetcalledOnce it "yield success" callback = sinonspy ToDoloadAllcallback promisethen assertcallbackwithArgs200tcalledOnce done catch donee resolve it "yield error" callback = sinonspy ToDoloadAllcallback promisethen assertcallbackwithArgs400calledOnce done catch donee reject