Socket
Socket
Sign inDemoInstall

sinon-as-promised

Package Overview
Dependencies
Maintainers
1
Versions
18
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

sinon-as-promised

Sugar methods for using sinon.js stubs with promises


Version published
Weekly downloads
15K
decreased by-6.03%
Maintainers
1
Weekly downloads
 
Created
Source

sinon-as-promised Build Status

Extend Sinon stubs with promise stubbing methods.

Sinon 2 added resolves and rejects methods and no longer requires this library.

Installing

npm install sinon-as-promised

If you're using sinon-as-promised in the browser and are not using Browserify/Webpack, use 3.x or earlier.

Usage

var sinon  = require('sinon')
require('sinon-as-promised')

sinon.stub().resolves('foo')().then(function (value) {
  assert.equal(value, 'foo')
})

You'll only need to require sinon-as-promised once. It attaches the appropriate stubbing functions which will then be available anywhere else you require sinon. It defaults to using native ES6 Promise (or provides a polyfill), but you can use another promise library if you'd like, as long as it exposes a constructor:

// Using Bluebird
var Bluebird = require('bluebird')
require('sinon-as-promised')(Bluebird)

API

stub.resolves(value) -> stub
value

Required
Type: any

When called, the stub will return a "thenable" object which will return a promise for the provided value. Any Promises/A+ compliant library will handle this object properly.

var stub = sinon.stub();
stub.resolves('foo');

stub().then(function (value) {
    // value === 'foo'
});

stub.onCall(0).resolves('bar')
stub().then(function (value) {
    // value === 'bar'
});

stub.rejects(err) -> stub
err

Required
Type: error / string

When called, the stub will return a thenable which will return a reject promise with the provided err. If err is a string, it will be set as the message on an Error object.

stub.rejects(new Error('foo'))().catch(function (error) {
    // error.message === 'foo'
});
stub.rejects('foo')().catch(function (error) {
    // error.message === 'foo'
});

stub.onCall(0).rejects('bar');
stub().catch(function (error) {
    // error.message === 'bar'
});

Examples

License

MIT © Ben Drucker

Keywords

FAQs

Package last updated on 21 Mar 2017

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc