expect-predicate

An extension for expect that lets you test values against arbitrary predicates

Usage no npm install needed!

<script type="module">
  import expectPredicate from 'https://cdn.skypack.dev/expect-predicate';
</script>

README

expect-predicate


NPM Version NPM Downloads Build Status devDependency Status

expect-predicate is an extension for expect that lets you test values against arbitrary predicates.

A value "passes" a predicate if the predicate returns a truthy value.


Installation

Using npm:

  $ npm install --save-dev expect expect-predicate

Then, use as you would anything else:

// using ES6 modules
import expect from 'expect'
import expectPredicate from 'expect-predicate'
expect.extend(expectPredicate)

// using CommonJS modules
var expect = require('expect')
var expectPredicate = require('expect-predicate')
expect.extend(expectPredicate)

Assertions

toPass

expect(value).toPass(predicate, [message])

Asserts the given value passes the given predicate. If you provide a message, it will be used when reporting the failure.

expect(age).toPass(n => n >= 18)                // check age is 18 or older
expect(userList).toPass(array => array.length)  // check that userList is not empty

toNotPass

expect(value).toNotPass(predicate, [message])

Asserts the given value does NOT pass the given predicate. If you provide a message, it will be used when reporting the failure.

expect(age).toNotPass(n => n < 18)                 // check age is not under 18
expect(userList).toNotPass(array => array.length)  // check that userList is empty