@@ -16,7 +16,7 @@ const getRootSuiteIds = (state) => {
1616 const viewMode = getViewMode ( state ) ;
1717 return viewMode === viewModes . FAILED ? state . tree . suites . failedRootIds : state . tree . suites . allRootIds ;
1818} ;
19- const getImageIds = ( state ) => state . tree . images . allIds ;
19+ const getBrowserIds = ( state ) => state . tree . browsers . allIds ;
2020
2121const getSuiteById = ( state , { suiteId} ) => state . tree . suites . byId [ suiteId ] ;
2222const getBrowserById = ( state , { browserId} ) => state . tree . browsers . byId [ browserId ] ;
@@ -54,11 +54,10 @@ export const mkGetLastImageByStateName = () => createSelector(
5454) ;
5555
5656export const getAcceptableImagesByStateName = createSelector (
57- getImageIds , getBrowsers , getResults , getImages ,
58- ( imageIds , browsers , results , images ) => {
57+ getBrowserIds , getBrowsers , getResults , getImages , getFilteredBrowsers ,
58+ ( browserIds , browsers , results , images , filteredBrowsers ) => {
5959 const getImageInfo = ( image ) => {
60- const result = results [ image . parentId ] ;
61- const browser = browsers [ result . parentId ] ;
60+ const browser = getImageBrowser ( image , browsers , results ) ;
6261
6362 return { suiteId : browser . parentId , browserName : browser . name } ;
6463 } ;
@@ -74,8 +73,11 @@ export const getAcceptableImagesByStateName = createSelector(
7473 : compareSuiteIdsRes ;
7574 } ;
7675
77- const preparedImages = imageIds
78- . map ( ( imgId ) => images [ imgId ] )
76+ const matchedBrowsers = browserIds
77+ . map ( ( browserId ) => browsers [ browserId ] )
78+ . filter ( ( browser ) => shouldShowBrowser ( browser , filteredBrowsers ) ) ;
79+
80+ const preparedImages = flatMap ( matchedBrowsers , ( browser ) => getBrowserImages ( browser , { results, images} ) )
7981 . filter ( isAcceptable )
8082 . sort ( sortImages ) ;
8183
@@ -206,6 +208,18 @@ function getSuiteBrowsers(suite, tree) {
206208 return flatMap ( suite . suiteIds , ( suiteId ) => getSuiteBrowsers ( suites [ suiteId ] , tree ) ) ;
207209}
208210
211+ function getBrowserImages ( node , tree ) {
212+ const { results, images} = tree ;
213+
214+ if ( node . imageIds ) {
215+ return [ ] . concat ( node . imageIds ) . map ( ( imageId ) => images [ imageId ] ) ;
216+ }
217+
218+ return flatMap ( node . resultIds , ( resultId ) => {
219+ return getBrowserImages ( results [ resultId ] , tree ) ;
220+ } ) ;
221+ }
222+
209223function isStatusMatchViewMode ( status , viewMode ) {
210224 if ( viewMode === viewModes . ALL ) {
211225 return true ;
@@ -268,15 +282,19 @@ function getFailedTestSuites(suite, suites) {
268282}
269283
270284function getLastImageByStateName ( image , browsers , results , images ) {
271- const result = results [ image . parentId ] ;
272- const browser = browsers [ result . parentId ] ;
285+ const browser = getImageBrowser ( image , browsers , results ) ;
273286 const allBrowserImages = flatMap ( browser . resultIds , ( resultId ) => {
274287 return results [ resultId ] . imageIds . map ( ( imgId ) => images [ imgId ] ) ;
275288 } ) ;
276289
277290 return findLast ( allBrowserImages , { stateName : image . stateName } ) ;
278291}
279292
293+ function getImageBrowser ( image , browsers , results ) {
294+ const result = results [ image . parentId ] ;
295+ return browsers [ result . parentId ] ;
296+ }
297+
280298export const areAllRootSuitesIdle = createSelector (
281299 getAllRootSuiteIds , getSuites ,
282300 ( allRootSuiteIds , suites ) => {
0 commit comments