Columns service holds a column count and notifies rootscope when it changes

This commit is contained in:
Rob Harrington
2015-06-08 11:34:33 +08:00
parent 0c36738472
commit c441c8c6cb
3 changed files with 43 additions and 11 deletions

View File

@@ -7,9 +7,34 @@ describe "Columns service", ->
inject (_Columns_) ->
Columns = _Columns_
Columns.columns = ["something"]
describe "setting columns", ->
it "sets resets @columns and copies each column of the provided object across", ->
Columns.setColumns({ name: { visible: true } })
expect(Columns.columns).toEqual { name: { visible: true } }
it "calls calculateVisibleCount", ->
spyOn(Columns, "calculateVisibleCount")
Columns.setColumns({ name: { visible: true } })
expect(Columns.calculateVisibleCount).toHaveBeenCalled()
describe "toggling a column", ->
it "switches the visibility of the given column", ->
column = { visible: false }
Columns.toggleColumn(column)
expect(column.visible).toBe true
it "calls calculateVisibleCount", ->
spyOn(Columns, "calculateVisibleCount")
Columns.toggleColumn({ visible: false })
expect(Columns.calculateVisibleCount).toHaveBeenCalled()
describe "calculating visibleCount", ->
it "counts the number of columns ", ->
Columns.columns = { col1: { visible: false }, col2: { visible: true }, col3: { visible: true }, col4: { visible: false } }
Columns.calculateVisibleCount()
expect(Columns.visibleCount).toBe 2
it "$broadcasts the updated visible count to $rootScope", inject ($rootScope) ->
spyOn($rootScope, "$broadcast")
Columns.calculateVisibleCount()
expect($rootScope.$broadcast).toHaveBeenCalled()