@@ -30,7 +30,8 @@ module.exports = () => {
3030 [ page , browser ] = await defaultBefore ( ) ;
3131 } ) ;
3232
33- // Not all filters for the pages will be checked, as many of them are identical.
33+ // Not all filters for the pages will be checked, as many of them are identical between pages.
34+ // Environments is not checked at all because it has no filter implementations not allready covered by other pages
3435 const runSelectionFiltersChecks = {
3536 'tags' : [ { count : 1 , selector : '#tag-dropdown-option-FOOD' } , { count : 0 , selector : '#tag-dropdown-option-CTP' } , { count : 1 , selector : '#tag-filter-combination-operator-radio-button-or' } ] ,
3637 'beam mode' : [ { count : 1 , selector : '#beam-mode-dropdown-option-NO\\ BEAM' } , { count : 2 , selector : '#beam-mode-dropdown-option-UNSTABLE\\ BEAMS' } ] ,
@@ -42,15 +43,18 @@ module.exports = () => {
4243 'magnets' : [ { count : 1 , selector : '#l3-dipole-current-dropdown-option-20003kA\\/0kA' } , { count : 3 , selector : '#l3-dipole-current-dropdown-option-30003kA\\/0kA' } ] ,
4344 } ;
4445
45- it ( 'should undo filters if the user presses go-back on the runs page' , async ( ) => {
46- await goToPage ( page , 'run-overview' ) ;
47-
48- const startPopoverSelector = await getPopoverSelector ( await page . $ ( '.timeO2Start-filter .popover-trigger' ) ) ;
46+ const logSelectionFiltersChecks = {
47+ 'tags' : [ { count : 1 , selector : '#tag-dropdown-option-DPG' } , { count : 0 , selector : '#tag-dropdown-option-FOOD' } , { count : 3 , selector : '#tag-filter-combination-operator-radio-button-or' } ] ,
48+ } ;
4949
50- const { fromDateSelector, fromTimeSelector } = getPeriodInputsSelectors ( startPopoverSelector ) ;
50+ const lhcFillsSelectionFiltersChecks = {
51+ 'hasStableBeams' : [ { count : 6 , selector : '.switch > input' } ] ,
52+ 'beamTypes' : [ { count : 1 , selector : '#beam-types-checkbox-p-p' } , { count : 2 , selector : '#beam-types-checkbox-p-Pb' } ]
53+ } ;
5154
52- for ( const checks of Object . values ( runSelectionFiltersChecks ) ) {
53- await waitForTableTotalRowsCountToEqual ( page , 109 ) ;
55+ const checkSelectionFilters = async ( selectionFilterObject , baseRowCount ) => {
56+ for ( const [ _key , checks ] of Object . entries ( selectionFilterObject ) ) {
57+ await waitForTableTotalRowsCountToEqual ( page , baseRowCount ) ;
5458
5559 for ( const { count, selector } of checks ) {
5660 await pressElement ( page , selector , true ) ;
@@ -62,8 +66,18 @@ module.exports = () => {
6266 await page . goBack ( ) ;
6367 }
6468
65- await waitForTableTotalRowsCountToEqual ( page , 109 ) ;
69+ await waitForTableTotalRowsCountToEqual ( page , baseRowCount ) ;
6670 }
71+ } ;
72+
73+ it ( 'should undo filters if the user presses go-back on the runs page' , async ( ) => {
74+ await goToPage ( page , 'run-overview' ) ;
75+ const baseRowCount = 109 ;
76+ const startPopoverSelector = await getPopoverSelector ( await page . $ ( '.timeO2Start-filter .popover-trigger' ) ) ;
77+
78+ const { fromDateSelector, fromTimeSelector } = getPeriodInputsSelectors ( startPopoverSelector ) ;
79+
80+ await checkSelectionFilters ( runSelectionFiltersChecks , baseRowCount ) ;
6781
6882 // Run duration
6983 await page . select ( '#duration-operator' , '>' ) ;
@@ -74,7 +88,7 @@ module.exports = () => {
7488 await page . goBack ( ) ;
7589 await waitForTableTotalRowsCountToEqual ( page , 8 ) ;
7690 await page . goBack ( ) ;
77- await waitForTableTotalRowsCountToEqual ( page , 109 ) ;
91+ await waitForTableTotalRowsCountToEqual ( page , baseRowCount ) ;
7892
7993 // EorReason filter
8094 await page . select ( '#eorCategories' , 'DETECTORS' ) ;
@@ -88,7 +102,7 @@ module.exports = () => {
88102 await page . goBack ( ) ;
89103 await waitForTableTotalRowsCountToEqual ( page , 3 ) ;
90104 await page . goBack ( ) ;
91- await waitForTableTotalRowsCountToEqual ( page , 109 ) ;
105+ await waitForTableTotalRowsCountToEqual ( page , baseRowCount ) ;
92106
93107 // O2 Start Filter:
94108 await fillInput ( page , fromTimeSelector , '11:11' , [ 'change' ] ) ;
@@ -99,7 +113,44 @@ module.exports = () => {
99113 await page . goBack ( ) ;
100114 await waitForTableTotalRowsCountToEqual ( page , 1 ) ;
101115 await page . goBack ( ) ;
102- await waitForTableTotalRowsCountToEqual ( page , 109 ) ;
116+ await waitForTableTotalRowsCountToEqual ( page , baseRowCount ) ;
117+ } ) ;
118+
119+ it ( 'should undo filters if the user presses go-back on the LHC fills page' , async ( ) => {
120+ await goToPage ( page , 'lhc-fill-overview' ) ;
121+ await checkSelectionFilters ( lhcFillsSelectionFiltersChecks , 5 )
122+ } ) ;
123+
124+ it ( 'should undo filters if the user presses go-back on the logs page' , async ( ) => {
125+ await goToPage ( page , 'log-overview' ) ;
126+ await waitForTableTotalRowsCountToEqual ( page , 119 ) ;
127+
128+ // AuthorFilter
129+ await pressElement ( page , '.author-filter .switch input' , true ) ;
130+ await waitForTableTotalRowsCountToEqual ( page , 117 ) ;
131+ await fillInput ( page , '#authorFilterText' , '!Anonymous,John' , [ 'change' ] ) ;
132+ await waitForTableTotalRowsCountToEqual ( page , 5 ) ;
133+ await page . goBack ( ) ;
134+ await waitForTableTotalRowsCountToEqual ( page , 117 ) ;
135+ await page . goBack ( ) ;
136+ await waitForTableTotalRowsCountToEqual ( page , 119 ) ;
137+
138+ await checkSelectionFilters ( logSelectionFiltersChecks , 119 ) ;
139+ } ) ;
140+
141+ it ( 'should undo filters if the user presses go-back on the lhc periods page' , async ( ) => {
142+ await goToPage ( page , 'lhc-period-overview' ) ;
143+ await waitForTableTotalRowsCountToEqual ( page , 3 ) ;
144+
145+ // Name
146+ await fillInput ( page , '.name-filter input' , 'LHC23f' ) ;
147+ await waitForTableTotalRowsCountToEqual ( page , 1 ) ;
148+ await fillInput ( page , '.name-filter input' , 'bogus' ) ;
149+ await waitForTableTotalRowsCountToEqual ( page , 0 ) ;
150+ await page . goBack ( ) ;
151+ await waitForTableTotalRowsCountToEqual ( page , 1 ) ;
152+ await page . goBack ( ) ;
153+ await waitForTableTotalRowsCountToEqual ( page , 3 ) ;
103154 } ) ;
104155
105156 after ( async ( ) => await defaultAfter ( page , browser ) ) ;
0 commit comments