Chai JS Plugin for testing if an array has sorted values (strings, numbers, booleans). Very helpful when writing tests for features that implement Array.prototype.sort()
npm install chai-sorted





Chai JS Plugin for testing if an array has sorted values (strings, numbers, booleans). Very helpful when writing tests for features that implement Array.prototype.sort()
Install via npm:
``bash`
npm install chai-sorted
Use this plugin just like other Chai plugins:
`javascript
var chai = require("chai"),
expect = chai.expect; // preference and tested with expect
chai.use(require("chai-sorted"));
`
There is no planned support for keeping a browser build in this repository, so please consider Webpack or similar tool.
If you do want Browser installation support, please open an issue.
Test for ascending sort order of array
`javascript`
expect(["a","b"]).to.be.sorted()
// or
expect(["a","b"]).to.be.sorted({descending: false})
Test for descending sort order of array
`javascript`
expect(["b","apples"]).to.be.sorted({descending: true})
Allows for sorting by an attribute
Test for ascending sort order of array by name attribute
`javascript`
expect([{id:2,name:"apple"},{id:3,name:"bat"}]).to.be.sortedBy("name")
Test for descending sort order of array by name attribute
`javascript`
expect([{id:2,name:"bat"},{id:3,name:"apples"}]).to.be.sortedBy("name", {descending: true})
but more explicitTest for ascending sort order of array by
name attribute`javascript
expect([{id:2,name:"apple"},{id:3,name:"bat"}]).to.be.ascendingBy("name")
`$3
Alternate of sortedBy but does not require passing true as a second parameter to sortedBy. It is the same as doing sortBy("name",true)Test for descending sort order of array by
name attribute`javascript
expect([{id:2,name:"bat"},{id:3,name:"apples"}]).to.be.descendingBy("name")
`$3
Test for ascending sort order of array using a property syntax
`javascript
expect(["a","b"]).to.be.ascending
`$3
Test for descending sort order of array using a property syntax
`javascript
expect(["b","apples"]).to.be.descending
`$3
For additional usage or more help, please see the tests under ./test/`