Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »

    chai-backbonepublic

    chai-backbone

    Build Status NPM Version

    chai-backbone is an extension to the chai assertion library that provides a set of backbone specific assertions.

    Use the assertions with chai's expect or should assertions.

    Dependencies

    Assertions

    trigger

    model.should.trigger("change", { with: [model] }).when(function() {
      model.set({ attribute: "value" });
    });

    this can also be chained further:

    model.should.trigger("change").and.trigger("change:attribute").when(function() {
      model.set({ attribute: "value" });
    });
     
    model.should.trigger("change").and.not.trigger("reset").when(function() {
      model.set({ attribute: "value" });
    });

    route.to

    Tests if a route is delegated to the correct router and if the arguments are extracted in the expected manner.

    "page/3".should.route.to(myRouter, "openPage", { arguments: ["3"] });
    "pages/3".should.not.route.to(myRouter, "openPage");
    "page/3".should.route.to(myRouter, "openPage", { considering: [conflictingRouter] });

    call

    This assertion is ideal for testing view callbacks it will rebind view events to test DOM events

    view.should.call('startAuthentication').when(function() {
      view.$('a.login').trigger('click');
    });

    Installation and Setup

    Node

    Do an npm install chai-backbone to get up and running. Then:

    var chai = require("chai");
    var chaiBackbone = require("chai-backbone");
     
    chai.use(chaiBackbone);

    You can of course put this code in a common test fixture file; for an example using Mocha

    AMD

    Chai Backbone supports being used as an AMD module, registering itself anonymously (just like Chai). So, assuming you have configured your loader to map the Chai and Chai Backbone files to the respective module IDs "chai" and "chai-backbone", you can use them as follows:

    define(function (require, exports, module) {
        var chai = require("chai");
        var chaiBackbone = require("chai-backbone");
     
        chai.use(chaiBackbone);
    });

    <script> tag

    If you include Chai Backbone directly with a <script> tag, after the one for Chai itself, then it will automatically plug in to Chai and be ready for use:

    <script src="chai.js"></script>
    <script src="chai-backbone.js"></script>

    License

    Copyright (c) 2012-2015 Matthijs Groen

    MIT License (see the LICENSE file)

    install

    npm i chai-backbone

    Downloadslast 7 days

    365

    version

    0.9.4

    license

    none

    repository

    github.com

    last publish

    collaborators

    • avatar