@@ -488,6 +488,43 @@ describe('TrackBrowserComponent', () => {
488488 expect ( component . orderedTracks [ 3 ] . showHeader ) . toBeFalsy ( ) ;
489489 } ) ;
490490
491+ it ( 'should apply track order by album and override showHeader' , ( ) => {
492+ // Arrange
493+ const component : TrackBrowserComponent = createComponent ( ) ;
494+ component . tracksPersister = tracksPersisterMock . object ;
495+ component . selectedTrackOrder = TrackOrder . byTrackTitleDescending ;
496+ component . tracks = tracks ;
497+ track1 . albumKey = 'albumKey1' ;
498+ track1 . discNumber = 1 ;
499+ trackModel1 . showHeader = false ;
500+ track2 . albumKey = 'albumKey1' ;
501+ track2 . discNumber = 1 ;
502+ trackModel2 . showHeader = true ;
503+
504+ track3 . albumKey = 'albumKey2' ;
505+ track3 . discNumber = 1 ;
506+ trackModel3 . showHeader = false ;
507+ track4 . albumKey = 'albumKey2' ;
508+ track4 . discNumber = 2 ;
509+ trackModel4 . showHeader = false ;
510+
511+ const trackOrder = TrackOrder . byAlbum ;
512+
513+ // Act
514+ component . applyTrackOrder ( trackOrder ) ;
515+
516+ // Assert
517+ expect ( component . selectedTrackOrder ) . toEqual ( trackOrder ) ;
518+ expect ( component . orderedTracks [ 0 ] ) . toBe ( trackModel1 ) ;
519+ expect ( component . orderedTracks [ 0 ] . showHeader ) . toBeTruthy ( ) ;
520+ expect ( component . orderedTracks [ 1 ] ) . toBe ( trackModel2 ) ;
521+ expect ( component . orderedTracks [ 1 ] . showHeader ) . toBeFalsy ( ) ;
522+ expect ( component . orderedTracks [ 2 ] ) . toBe ( trackModel3 ) ;
523+ expect ( component . orderedTracks [ 2 ] . showHeader ) . toBeTruthy ( ) ;
524+ expect ( component . orderedTracks [ 3 ] ) . toBe ( trackModel4 ) ;
525+ expect ( component . orderedTracks [ 3 ] . showHeader ) . toBeTruthy ( ) ;
526+ } ) ;
527+
491528 it ( 'should persist the selected track order' , ( ) => {
492529 // Arrange
493530 const component : TrackBrowserComponent = createComponent ( ) ;
0 commit comments