@@ -175,6 +175,9 @@ describe('ui.grid.expandable', function() {
175
175
grid . api . registerMethodsFromObject . and . callFake ( function ( publicMethods ) {
176
176
methods = publicMethods . expandable ;
177
177
} ) ;
178
+ grid . api . registerEventsFromObject . and . callFake ( function ( events ) {
179
+ grid . api . expandable = { raise : events . expandable } ;
180
+ } ) ;
178
181
grid . rows = [
179
182
{ entity : { id : 1 , name : 'John Doe' } , isExpanded : true } ,
180
183
{ entity : { id : 2 , name : 'Joe Doe' } , isExpanded : false } ,
@@ -233,20 +236,64 @@ describe('ui.grid.expandable', function() {
233
236
} ) ;
234
237
describe ( 'expandRow' , function ( ) {
235
238
beforeEach ( function ( ) {
236
- grid . getRow . and . returnValue ( null ) ;
237
- methods . expandRow ( grid . rows [ 1 ] . entity ) ;
239
+ grid . getRow . and . callFake ( function ( rowEntity ) {
240
+ return rowEntity ;
241
+ } ) ;
242
+
243
+ grid . rows = [
244
+ { isExpanded : false , grid : grid } ,
245
+ { isExpanded : true , grid : grid } ,
246
+ { isExpanded : true , grid : grid } ,
247
+ { isExpanded : true , grid : grid } ,
248
+ { isExpanded : true , grid : grid } ,
249
+ { isExpanded : true , grid : grid }
250
+ ] ;
238
251
} ) ;
239
- it ( 'should call getRow on the grid with the row entity passed in' , function ( ) {
240
- expect ( grid . getRow ) . toHaveBeenCalledWith ( grid . rows [ 1 ] . entity ) ;
252
+ it ( 'should do nothing when the current row is expanded' , function ( ) {
253
+ methods . expandRow ( grid . rows [ 1 ] ) ;
254
+
255
+ expect ( grid . rows [ 1 ] . isExpanded ) . toEqual ( true ) ;
256
+ } ) ;
257
+ it ( 'should expand the current row if it is collapsed' , function ( ) {
258
+ methods . expandRow ( grid . rows [ 0 ] ) ;
259
+
260
+ expect ( grid . rows [ 0 ] . isExpanded ) . toEqual ( true ) ;
261
+ } ) ;
262
+ it ( 'should update the value of expandAll if all rows are expanded' , function ( ) {
263
+ methods . expandRow ( grid . rows [ 0 ] ) ;
264
+
265
+ expect ( grid . expandable . expandedAll ) . toEqual ( true ) ;
241
266
} ) ;
242
267
} ) ;
243
268
describe ( 'collapseRow' , function ( ) {
244
269
beforeEach ( function ( ) {
245
- grid . getRow . and . returnValue ( null ) ;
246
- methods . collapseRow ( grid . rows [ 0 ] . entity ) ;
270
+ grid . getRow . and . callFake ( function ( rowEntity ) {
271
+ return rowEntity ;
272
+ } ) ;
273
+
274
+ grid . rows = [
275
+ { isExpanded : false , grid : grid } ,
276
+ { isExpanded : true , grid : grid } ,
277
+ { isExpanded : true , grid : grid } ,
278
+ { isExpanded : true , grid : grid } ,
279
+ { isExpanded : true , grid : grid } ,
280
+ { isExpanded : true , grid : grid }
281
+ ] ;
247
282
} ) ;
248
- it ( 'should call getRow on the grid with the row entity passed in' , function ( ) {
249
- expect ( grid . getRow ) . toHaveBeenCalledWith ( grid . rows [ 0 ] . entity ) ;
283
+ it ( 'should do nothing when the current row is collapsed' , function ( ) {
284
+ methods . collapseRow ( grid . rows [ 0 ] ) ;
285
+
286
+ expect ( grid . rows [ 0 ] . isExpanded ) . toEqual ( false ) ;
287
+ } ) ;
288
+ it ( 'should collapse the current row if it is expanded' , function ( ) {
289
+ methods . collapseRow ( grid . rows [ 1 ] ) ;
290
+
291
+ expect ( grid . rows [ 1 ] . isExpanded ) . toEqual ( false ) ;
292
+ } ) ;
293
+ it ( 'should update the value of expandAll if one row is collapsed' , function ( ) {
294
+ methods . collapseRow ( grid . rows [ 0 ] ) ;
295
+
296
+ expect ( grid . expandable . expandedAll ) . toEqual ( false ) ;
250
297
} ) ;
251
298
} ) ;
252
299
describe ( 'getExpandedRows' , function ( ) {
@@ -293,7 +340,18 @@ describe('ui.grid.expandable', function() {
293
340
} ) ;
294
341
295
342
describe ( 'getExpandedRows' , function ( ) {
343
+ it ( 'should return only the rows that are expanded' , function ( ) {
344
+ grid . rows = [
345
+ { isExpanded : false } ,
346
+ { isExpanded : true } ,
347
+ { isExpanded : false } ,
348
+ { isExpanded : true } ,
349
+ { isExpanded : true } ,
350
+ { isExpanded : true }
351
+ ] ;
296
352
353
+ expect ( uiGridExpandableService . getExpandedRows ( grid ) . length ) . toEqual ( 4 ) ;
354
+ } ) ;
297
355
} ) ;
298
356
} ) ;
299
357
} ) ;
0 commit comments