chai-quantifiers

Array quantifier assertions for chai assertion library

Usage no npm install needed!

<script type="module">
  import chaiQuantifiers from 'https://cdn.skypack.dev/chai-quantifiers';
</script>

README

chai-quantifiers

Array quantifier assertions for Chai assertion library.

main workflow Coverage Status Maintainability node code style Types License Status

Install

npm install --save-dev chai chai-quantifiers

Usage

There are three assertions available, applicable to arrays.

  • containAll -- Asserts that all array items are true in respect to a predicate.
  • containOne -- Asserts that at least one array item is true in respect to a predicate.
  • containExactlyOne -- Asserts that exactly one array item is true in respect to a predicate.

A quick example:

const chai = require('chai');
const chaiQuantifiers = require('chai-quantifiers');

chai.use(chaiQuantifiers);

const { expect } = chai;

describe('chai-quantifiers', () => {
  it('containAll should be true if all items are true', () => {
    expect([0, 1, 2, 3]).to.containAll(item => item < 4);
  });
  it('containOne should be true if at least one item is true', () => {
    expect([0, 1, 2, 3]).to.containOne(item => item >= 2);
  });
  it('containExactlyOne should be true if exactly one item is true', () => {
    expect([0, 1, 2, 3]).to.containExactlyOne(item => item === 2);
  });
});

This module also includes types for TypeScript.