Sha256: 5dd232ec9f07066eb052ecb212d78a9b489cc5960efc74c6f1fd8dd3f5b114fc

Contents?: true

Size: 1.68 KB

Versions: 51

Compression:

Stored size: 1.68 KB

Contents

describe "AA.CheckboxToggler", ->
  
  beforeEach ->
    loadFixtures('checkboxes.html')

    @collection = $("#collection")
    @toggle_all = @collection.find(".toggle_all")

    @checkboxes = @collection.find(":checkbox").not(@toggle_all)
    
    
    new AA.CheckboxToggler({}, @collection)

  describe "on init", ->
    it "should raise an error if container not found", ->
      expect( => new AA.CheckboxToggler({}) ).toThrow("Container element not found")

    it "should raise an error if 'toggle all' checkbox not found", ->
      @toggle_all.remove()
      expect( => new AA.CheckboxToggler({}, @collection); ).toThrow("'toggle all' checkbox not found")

  describe "'toggle all' checkbox", ->
    it "should check all checkboxes when checked", ->
      @toggle_all.trigger("click")
      expect(@checkboxes).toHaveAttr("checked")

    it "should uncheck all checkboxes when unchecked", ->
      @toggle_all.trigger("click")
      @toggle_all.trigger("click")
      expect(@checkboxes).not.toHaveAttr("checked")

  describe "individual checkboxes", ->

    describe "when all checkboxes are selected and one is unchecked", ->
      beforeEach ->
        @collection.find(":checkbox").attr("checked", "checked")
        @collection.find("#item_1").trigger("click")

      it "should uncheck the 'toggle all' checkbox", ->
        expect(@toggle_all).not.toHaveAttr("checked")

    describe "when the last checkbox is checked", ->
      beforeEach ->
        @checkboxes.attr("checked", "checked")
        @collection.find("#item_1").removeAttr("checked")
        @collection.find("#item_1").trigger("click")

      it "should check the 'toggle all' checkbox", ->
        expect(@toggle_all).toHaveAttr("checked")

Version data entries

51 entries across 51 versions & 3 rubygems

Version Path
aa-rails4-0.6.0 spec/javascripts/coffeescripts/jquery.aa.checkbox-toggler-spec.js.coffee
lalala-4.0.0.dev.141 vendor/deps/active_admin/spec/javascripts/coffeescripts/jquery.aa.checkbox-toggler-spec.js.coffee
lalala-4.0.0.dev.136 vendor/deps/active_admin/spec/javascripts/coffeescripts/jquery.aa.checkbox-toggler-spec.js.coffee
lalala-4.0.0.dev.135 vendor/deps/active_admin/spec/javascripts/coffeescripts/jquery.aa.checkbox-toggler-spec.js.coffee
lalala-4.0.0.dev.134 vendor/deps/active_admin/spec/javascripts/coffeescripts/jquery.aa.checkbox-toggler-spec.js.coffee
lalala-4.0.0.dev.133 vendor/deps/active_admin/spec/javascripts/coffeescripts/jquery.aa.checkbox-toggler-spec.js.coffee
lalala-4.0.0.dev.132 vendor/deps/active_admin/spec/javascripts/coffeescripts/jquery.aa.checkbox-toggler-spec.js.coffee
lalala-4.0.0.dev.131 vendor/deps/active_admin/spec/javascripts/coffeescripts/jquery.aa.checkbox-toggler-spec.js.coffee
lalala-4.0.0.dev.129 vendor/deps/active_admin/spec/javascripts/coffeescripts/jquery.aa.checkbox-toggler-spec.js.coffee
lalala-4.0.0.dev.128 vendor/deps/active_admin/spec/javascripts/coffeescripts/jquery.aa.checkbox-toggler-spec.js.coffee
lalala-4.0.0.dev.126 vendor/deps/active_admin/spec/javascripts/coffeescripts/jquery.aa.checkbox-toggler-spec.js.coffee
lalala-4.0.0.dev.125 vendor/deps/active_admin/spec/javascripts/coffeescripts/jquery.aa.checkbox-toggler-spec.js.coffee
lalala-4.0.0.dev.124 vendor/deps/active_admin/spec/javascripts/coffeescripts/jquery.aa.checkbox-toggler-spec.js.coffee
lalala-4.0.0.dev.123 vendor/deps/active_admin/spec/javascripts/coffeescripts/jquery.aa.checkbox-toggler-spec.js.coffee
lalala-4.0.0.dev.118 vendor/deps/active_admin/spec/javascripts/coffeescripts/jquery.aa.checkbox-toggler-spec.js.coffee
lalala-4.0.0.dev.116 vendor/deps/active_admin/spec/javascripts/coffeescripts/jquery.aa.checkbox-toggler-spec.js.coffee
lalala-4.0.0.dev.114 vendor/deps/active_admin/spec/javascripts/coffeescripts/jquery.aa.checkbox-toggler-spec.js.coffee
lalala-4.0.0.dev.113 vendor/deps/active_admin/spec/javascripts/coffeescripts/jquery.aa.checkbox-toggler-spec.js.coffee
lalala-4.0.0.dev.111 vendor/deps/active_admin/spec/javascripts/coffeescripts/jquery.aa.checkbox-toggler-spec.js.coffee
lalala-4.0.0.dev.109 vendor/deps/active_admin/spec/javascripts/coffeescripts/jquery.aa.checkbox-toggler-spec.js.coffee