chai-sorted

    0.2.0 • Public • Published

    npm Version License Build Status Code Climate devDependency Status peerDependency Status

    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()

    Installation

    Node.js

    Install via npm:

    npm install chai-sorted

    Use this plugin just like other Chai plugins:

    var chai = require("chai"),
        expect = chai.expect; // preference and tested with expect
     
    chai.use(require("chai-sorted"));

    In the browser

    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.

    API Usage

    .sorted method

    Test for ascending sort order of array

    expect(["a","b"]).to.be.sorted()
    // or
    expect(["a","b"]).to.be.sorted({descending: false}) 

    Test for descending sort order of array

    expect(["b","apples"]).to.be.sorted({descending: true})

    .sortedBy method

    Allows for sorting by an attribute

    Test for ascending sort order of array by name attribute

    expect([{id:2,name:"apple"},{id:3,name:"bat"}]).to.be.sortedBy("name")

    Test for descending sort order of array by name attribute

    expect([{id:2,name:"bat"},{id:3,name:"apples"}]).to.be.sortedBy("name", {descending: true})

    .ascendingBy method

    Alternate of sortedBy but more explicit

    Test for ascending sort order of array by name attribute

    expect([{id:2,name:"apple"},{id:3,name:"bat"}]).to.be.ascendingBy("name")

    .descendingBy method

    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

    expect([{id:2,name:"bat"},{id:3,name:"apples"}]).to.be.descendingBy("name")

    ascending property

    Test for ascending sort order of array using a property syntax

    expect(["a","b"]).to.be.ascending

    descending property

    Test for descending sort order of array using a property syntax

    expect(["b","apples"]).to.be.descending

    Additional Usage

    For additional usage or more help, please see the tests under ./test/

    Install

    npm i chai-sorted

    DownloadsWeekly Downloads

    36,552

    Version

    0.2.0

    License

    MIT

    Unpacked Size

    15.4 kB

    Total Files

    12

    Last publish

    Collaborators

    • johntimothybailey