assert-promise

Assert promise result with expected.

npm install assert-promise
27 downloads in the last week
108 downloads in the last month

Has all the functions from Node's assert, where the first param is a promise containing the actual value.

Usage

var assertPromise = require('assert-promise')

it('assert.equal passing promise', function(done) {
  assertPromise.equal(Q(1).delay(50), 1).done(done)
})

it('assert passing promise with own assert function', function(done) {
  var assertOneLess = function(actual, expected, message) {
    assert.equal(actual + 1, expected, message)
  }
  assertPromise.withFn(Q(2).delay(50), 3, 'this should pass', assertOneLess).done(done)
})

or

require('mocha-as-promised')()
var assertPromise = require('assert-promise')

it('assert passing mocha-as-promised', function() {
  return assertPromise.equal(Q(2).delay(50), 2)
    .then(function() {
      return assertPromise.notEqual(Q(3).delay(50), 2)
    }).then(function() {
      return assertPromise(Q(true).delay(50))
    }).then(function() {
      return assertPromise.deepEqual(Q({a: 1}).delay(50), {a: true})
    }).then(function() {
      return assertPromise.notDeepEqual(Q({a: 2}).delay(50), {a: true})
    }).then(function() {
      return assertPromise.strictEqual(Q(1).delay(50), 1)
    }).then(function() {
      return assertPromise.notStrictEqual(Q(true).delay(50), 1)
    })
})

it('assert nested promises as mocha', function(done) {
  var nestedPromise = promise([promise(1), promise(2)])
  return assertPromise(nestedPromise).then(function(arr) {
      assert.equal(arr.length, 2)
      return arr
    }).then(function(arr) {
      return Q.all([
        assertPromise.equal(arr[0], 1),
        assertPromise.equal(arr[1], 2)
      ])
    })
})
npm loves you