Skip to content

Latest commit

 

History

History
111 lines (78 loc) · 4.54 KB

README.md

File metadata and controls

111 lines (78 loc) · 4.54 KB

dash-assert

NPM Version NPM Downloads Build Status Test Coverage

A simple assertion wrapper library around lodash.

Maybe BDD style assertions are what the cool kids do, but some of us still prefer old style assert statements. Personally I find it easier to reason about my tests when the key lines actually begin with the word "assert".

The Node.js Assert module is a good start, but has limited expressiveness. Lodash offers a very expressive API that lends itself well to testing, so conditionally throwing an AssertionError based on the result of a lodash function feels like a natural fit.

Installation

npm install dash-assert --save-dev

Usage

Since this library simply extends Node's assert, use it right alongside assert.equal, assert.throws, assert.ok, etc.

var assert = require('assert');
require('dash-assert');

it('returns an array', function() {
  assert.isArray(someFunction());
});

API

assert.isNumber(value)

Assert that that value is a number using isNumber.

assert.isNaN(value)

Assert that value is NaN using isNaN.

assert.isObject(value)

Assert that value is an object using isObject.

assert.isString(value)

Assert that value is a astring using isString.

assert.isArray(value)

Assert that value is an array using isArray.

assert.isEmpty(value)

Assert that value is empty using isEmpty.

assert.isNotEmpty(value)

Assert that the value is not empty using the inverse of isEmpty.

assert.isError(value)

Assert that the specified value in an Error type using isError.

assert.isNull(value)

Assert that the value is null using isNull.

assert.isNotNull(value)

Assert that the value is null using the inverse of isNull.

assert.isUndefined(value)

Assert that the specified value is undefined based on isUndefined.

assert.isDefined(value)

Assert that the specified value is not undefined based on the inverse of isUndefined.

assert.some(collection, predicate)

Assert that the predicate returns truthy for any element in the collection using some.

assert.every(collection, predicate)

Assert that the predicate returns truthy for all elements of the collection using every.

assert.isMatch(object, source)

Assert that all properties of the source are present on the object with equivalent values using isMatch.

assert.isTrue(value)

Shortcut for assert.strictEqual(value, true).

assert.isFalse(value)

Shortcut for assert.strictEqual(value, false).

assert.hasIntersect(array, otherArray)

Assert that there is at least one value in common between the two arrays based on intersection having a length greater than 0.

assert.noIntersect(array, otherArray)

Assert that the two arrays do not intersect based on intersection having a length equal to 0.

assert.noDifferences(array, otherArray)

Assert that there are no differences between the two arrays based on difference having a length of 0.

assert.matchesPattern(value, regex)

Assert that the value passes a RegExp test.

assert.isJSON(value)

Assert that value is a string that does not throw an error when passed to JSON.parse.

Running Tests

npm test