Sha256: ead916e9d15bbed110379e70abed92fe9d5a669414cf1ad536283097c177caa8

Contents?: true

Size: 1.72 KB

Versions: 63

Compression:

Stored size: 1.72 KB

Contents

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

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

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

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

    it "should raise an error if 'toggle all' checkbox not found", ->
      @toggle_all.remove()
      expect( => new ActiveAdmin.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

63 entries across 63 versions & 8 rubygems

Version Path
activeadmin-rails-1.7.2 spec/javascripts/coffeescripts/jquery.aa.checkbox-toggler-spec.js.coffee
activeadmin-rails-1.7.1 spec/javascripts/coffeescripts/jquery.aa.checkbox-toggler-spec.js.coffee
activeadmin-rails-1.7.0 spec/javascripts/coffeescripts/jquery.aa.checkbox-toggler-spec.js.coffee
activeadmin-rb-1.6.0 spec/javascripts/coffeescripts/jquery.aa.checkbox-toggler-spec.js.coffee
activeadmin-rb-1.5.2 spec/javascripts/coffeescripts/jquery.aa.checkbox-toggler-spec.js.coffee
activeadmin-rb-1.5.1 spec/javascripts/coffeescripts/jquery.aa.checkbox-toggler-spec.js.coffee
activeadmin-rb-1.5.0 spec/javascripts/coffeescripts/jquery.aa.checkbox-toggler-spec.js.coffee
activeadmin_addons-1.7.1 vendor/bundle/ruby/2.3.0/bundler/gems/activeadmin-f71b375325eb/spec/javascripts/coffeescripts/jquery.aa.checkbox-toggler-spec.js.coffee
activeadmin-rb-1.4.0 spec/javascripts/coffeescripts/jquery.aa.checkbox-toggler-spec.js.coffee
activeadmin_addons-1.7.0 vendor/bundle/ruby/2.3.0/bundler/gems/activeadmin-f71b375325eb/spec/javascripts/coffeescripts/jquery.aa.checkbox-toggler-spec.js.coffee
activeadmin-1.3.1 spec/javascripts/coffeescripts/jquery.aa.checkbox-toggler-spec.js.coffee
activeadmin_addons-1.6.0 vendor/bundle/ruby/2.3.0/bundler/gems/activeadmin-f71b375325eb/spec/javascripts/coffeescripts/jquery.aa.checkbox-toggler-spec.js.coffee
activeadmin_addons-1.5.0 vendor/bundle/ruby/2.2.0/bundler/gems/activeadmin-f71b375325eb/spec/javascripts/coffeescripts/jquery.aa.checkbox-toggler-spec.js.coffee
activeadmin-1.3.0 spec/javascripts/coffeescripts/jquery.aa.checkbox-toggler-spec.js.coffee
activeadmin_addons-1.4.0 vendor/bundle/ruby/2.2.0/bundler/gems/activeadmin-f71b375325eb/spec/javascripts/coffeescripts/jquery.aa.checkbox-toggler-spec.js.coffee
activeadmin_addons-1.3.0 vendor/bundle/ruby/2.3.0/bundler/gems/activeadmin-f71b375325eb/spec/javascripts/coffeescripts/jquery.aa.checkbox-toggler-spec.js.coffee
activeadmin_addons-1.2.0 vendor/bundle/ruby/2.3.0/bundler/gems/activeadmin-f71b375325eb/spec/javascripts/coffeescripts/jquery.aa.checkbox-toggler-spec.js.coffee
activeadmin-1.2.1 spec/javascripts/coffeescripts/jquery.aa.checkbox-toggler-spec.js.coffee
activeadmin_addons-1.1.2 vendor/bundle/ruby/2.3.0/bundler/gems/activeadmin-a5a53c3f2b8f/spec/javascripts/coffeescripts/jquery.aa.checkbox-toggler-spec.js.coffee
activeadmin-1.2.0 spec/javascripts/coffeescripts/jquery.aa.checkbox-toggler-spec.js.coffee