chai-quantifiers
Version:
Array quantifier assertions for chai assertion library
51 lines (37 loc) • 2.01 kB
Markdown
# chai-quantifiers
Array quantifier assertions for [Chai](http://chaijs.com/) assertion library.

[](https://coveralls.io/github/funny-bytes/chai-quantifiers?branch=master)
[](https://codeclimate.com/github/funny-bytes/chai-quantifiers/maintainability)
[]()
[](https://github.com/airbnb/javascript)
[](https://www.npmjs.com/package/chai-quantifiers)
[]()
## Install
```bash
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:
```javascript
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*.