@@ -7,7 +7,7 @@ import {useDispatch, useSelector} from 'react-redux';
77import { getToggledCheckboxState , isCheckboxChecked , isCheckboxIndeterminate } from '@/common-utils' ;
88import { EntityType , TreeViewItemData } from '@/static/new-ui/features/suites/components/SuitesPage/types' ;
99import { toggleBrowserCheckbox , toggleGroupCheckbox , toggleSuiteCheckbox , thunkRunSuite } from '@/static/modules/actions' ;
10- import { getAreCheckboxesNeeded , getBrowsers , getSuites } from '@/static/new-ui/store/selectors' ;
10+ import { getAreCheckboxesNeeded , getBrowsers , getBrowsersState , getSuites } from '@/static/new-ui/store/selectors' ;
1111import { getItemCheckStatus } from '@/static/new-ui/components/TreeViewItemTitle/selectors' ;
1212import { ClipboardButton } from '@/static/new-ui/components/ClipboardButton' ;
1313import { RunTestsFeature } from '@/constants' ;
@@ -19,21 +19,28 @@ interface TreeViewItemTitleProps {
1919 item : TreeViewItemData ;
2020}
2121
22- const getSuiteBrowsers = ( suiteId : string , suites : Record < string , { suiteIds ?: string [ ] ; browserIds ?: string [ ] } > , browsers : Record < string , { parentId : string ; name : string } > ) : TestSpec [ ] => {
22+ const getVisibleSuiteBrowsers = (
23+ suiteId : string ,
24+ suites : Record < string , { suiteIds ?: string [ ] ; browserIds ?: string [ ] } > ,
25+ browsers : Record < string , { parentId : string ; name : string } > ,
26+ browsersState : Record < string , { shouldBeShown : boolean } >
27+ ) : TestSpec [ ] => {
2328 const suite = suites [ suiteId ] ;
2429 if ( ! suite ) {
2530 return [ ] ;
2631 }
2732
2833 if ( suite . browserIds ) {
29- return suite . browserIds . map ( browserId => {
30- const browser = browsers [ browserId ] ;
31- return { testName : browser . parentId , browserName : browser . name } ;
32- } ) ;
34+ return suite . browserIds
35+ . filter ( browserId => browsersState [ browserId ] ?. shouldBeShown )
36+ . map ( browserId => {
37+ const browser = browsers [ browserId ] ;
38+ return { testName : browser . parentId , browserName : browser . name } ;
39+ } ) ;
3340 }
3441
3542 if ( suite . suiteIds ) {
36- return suite . suiteIds . flatMap ( childSuiteId => getSuiteBrowsers ( childSuiteId , suites , browsers ) ) ;
43+ return suite . suiteIds . flatMap ( childSuiteId => getVisibleSuiteBrowsers ( childSuiteId , suites , browsers , browsersState ) ) ;
3744 }
3845
3946 return [ ] ;
@@ -48,13 +55,14 @@ export function TreeViewItemTitle({item}: TreeViewItemTitleProps): React.JSX.Ele
4855
4956 const suites = useSelector ( getSuites ) ;
5057 const browsers = useSelector ( getBrowsers ) ;
58+ const browsersState = useSelector ( getBrowsersState ) ;
5159 const isRunning = useSelector ( state => state . running ) ;
5260 const isRunTestsAvailable = useSelector ( state => state . app . availableFeatures )
5361 . find ( feature => feature . name === RunTestsFeature . name ) ;
5462
5563 const getTestsToRun = ( ) : TestSpec [ ] => {
5664 if ( item . entityType === EntityType . Suite ) {
57- return getSuiteBrowsers ( item . entityId , suites , browsers ) ;
65+ return getVisibleSuiteBrowsers ( item . entityId , suites , browsers , browsersState ) ;
5866 } else if ( item . entityType === EntityType . Browser ) {
5967 // On visual checks page, browserId is stored separately from entityId
6068 const browserId = item . browserId || item . entityId ;
@@ -65,10 +73,12 @@ export function TreeViewItemTitle({item}: TreeViewItemTitleProps): React.JSX.Ele
6573 } else if ( item . entityType === EntityType . Group ) {
6674 const group = groups [ item . entityId ] ;
6775 if ( group ) {
68- return group . browserIds . map ( browserId => {
69- const browser = browsers [ browserId ] ;
70- return { testName : browser . parentId , browserName : browser . name } ;
71- } ) ;
76+ return group . browserIds
77+ . filter ( browserId => browsersState [ browserId ] ?. shouldBeShown )
78+ . map ( browserId => {
79+ const browser = browsers [ browserId ] ;
80+ return { testName : browser . parentId , browserName : browser . name } ;
81+ } ) ;
7282 }
7383 }
7484 return [ ] ;
0 commit comments