@@ -388,21 +388,30 @@ describe('ExperimentsModel', () => {
388388 )
389389 } )
390390
391- it ( 'should remove outdated branches to show when calling pruneBranchesToShow ' , ( ) => {
391+ it ( 'should always return the current branch first ' , ( ) => {
392392 const model = new ExperimentsModel ( '' , buildMockMemento ( ) )
393393
394- model . setBranchesToShow ( [ 'A' , 'old' , 'B' , 'C' , 'older' ] )
395- model . pruneBranchesToShow ( [ 'A' , 'B' , 'C' , 'four' , 'five' , 'six' ] )
394+ model . setSelectedBranches ( [ 'A' , 'old' , 'B' , 'C' , 'older' ] )
395+ model . setBranches ( 'six' , [ 'A' , 'B' , 'C' , 'four' , 'five' , 'six' ] )
396396
397- expect ( model . getBranchesToShow ( ) ) . toStrictEqual ( [ 'A' , 'B' , 'C' ] )
397+ expect ( model . getBranchesToShow ( ) ) . toStrictEqual ( [ 'six' , ' A', 'B' , 'C' ] )
398398 } )
399399
400- it ( 'should persist the branches to show when calling pruneBranchesToShow' , ( ) => {
400+ it ( 'should remove outdated selected branches when calling setBranches' , ( ) => {
401+ const model = new ExperimentsModel ( '' , buildMockMemento ( ) )
402+
403+ model . setSelectedBranches ( [ 'A' , 'old' , 'B' , 'C' , 'older' ] )
404+ model . setBranches ( 'main' , [ 'A' , 'B' , 'C' , 'four' , 'five' , 'six' ] )
405+
406+ expect ( model . getBranchesToShow ( ) ) . toStrictEqual ( [ 'main' , 'A' , 'B' , 'C' ] )
407+ } )
408+
409+ it ( 'should persist the selected branches when calling setBranches' , ( ) => {
401410 const memento = buildMockMemento ( )
402411 const model = new ExperimentsModel ( '' , memento )
403412
404- model . setBranchesToShow ( [ 'A' , 'old' , 'B' , 'C' , 'older' ] )
405- model . pruneBranchesToShow ( [ 'A' , 'B' , 'C' , 'four' , 'five' , 'six' ] )
413+ model . setSelectedBranches ( [ 'A' , 'old' , 'B' , 'C' , 'older' ] )
414+ model . setBranches ( 'main' , [ 'A' , 'B' , 'C' , 'four' , 'five' , 'six' ] )
406415
407416 expect ( memento . get ( PersistenceKey . EXPERIMENTS_BRANCHES ) ) . toStrictEqual ( [
408417 'A' ,
@@ -411,6 +420,35 @@ describe('ExperimentsModel', () => {
411420 ] )
412421 } )
413422
423+ it ( 'should persist the selected branches when calling setSelectedBranches' , ( ) => {
424+ const memento = buildMockMemento ( )
425+ const model = new ExperimentsModel ( '' , memento )
426+
427+ model . setSelectedBranches ( [ 'A' , 'old' , 'B' , 'C' , 'older' ] )
428+
429+ expect ( memento . get ( PersistenceKey . EXPERIMENTS_BRANCHES ) ) . toStrictEqual ( [
430+ 'A' ,
431+ 'old' ,
432+ 'B' ,
433+ 'C' ,
434+ 'older'
435+ ] )
436+ } )
437+
438+ it ( 'should remove the current branch from the selected branches and only persist the selected branches' , ( ) => {
439+ const memento = buildMockMemento ( )
440+ const model = new ExperimentsModel ( '' , memento )
441+
442+ model . setSelectedBranches ( [ 'A' , 'old' , 'B' , 'C' , 'older' ] )
443+ model . setBranches ( 'A' , [ 'A' , 'B' , 'C' , 'four' , 'five' , 'six' ] )
444+
445+ expect ( model . getBranchesToShow ( ) ) . toStrictEqual ( [ 'A' , 'B' , 'C' ] )
446+ expect ( memento . get ( PersistenceKey . EXPERIMENTS_BRANCHES ) ) . toStrictEqual ( [
447+ 'B' ,
448+ 'C'
449+ ] )
450+ } )
451+
414452 const getSelectedRevisions = (
415453 model : ExperimentsModel
416454 ) : { id : string ; displayColor : string } [ ] =>
0 commit comments