@@ -116,26 +116,31 @@ describe('queue', () => {
116116 const t = await page . evaluate ( ( sel , n ) => document . querySelector ( `${ sel } .element:nth-child(${ n } ) .title` ) . textContent , queueSelector , num ) ;
117117 // titles in nebula are weird...
118118 // e.g. https://nebula.app/videos/extra-history-vlad-the-impaler-lies-extra-history contains extra space that is stripped in document title
119- await page . waitForFunction ( ( ) => document . title . indexOf ( 'Loading' ) === - 1 && document . title !== 'Nebula' , { timeout : 5000 } ) ;
119+ await page . waitForFunction ( ( ) => document . title . indexOf ( 'Loading' ) === - 1 && document . title !== 'Nebula' && document . title !== 'Videos | Nebula' , { timeout : 5000 } ) ;
120120 await expect ( page . title ( ) ) . resolves . toContain ( t . replace ( / \s + / g, ' ' ) ) ;
121121 await expect ( page . evaluate ( sel => document . querySelector ( `${ sel } .top .title` ) . textContent , queueSelector ) ) . resolves . toBe ( t ) ;
122122 await expect ( page . evaluate ( sel => document . querySelector ( `${ sel } .top .no` ) . textContent , queueSelector ) ) . resolves . toBe ( `${ num } ` ) ;
123123 } ;
124+ const changed = async ( promise : Promise < any > ) => {
125+ const prev = await page . title ( ) ;
126+ await promise ;
127+ await page . waitForFunction ( prev => document . title !== prev , { timeout : 5000 } , prev ) ;
128+ } ;
124129
125130 await addToQueue ( 5 ) ;
126131 await page . evaluate ( sel => document . querySelector < HTMLDivElement > ( `${ sel } .element:nth-child(3)` ) . click ( ) , queueSelector ) ;
127132 await correct ( 3 ) ;
128- await page . click ( `${ queueSelector } .top .prev` ) ;
133+ await changed ( page . click ( `${ queueSelector } .top .prev` ) ) ;
129134 await correct ( 2 ) ;
130- await page . click ( `${ queueSelector } .top .prev` ) ;
135+ await changed ( page . click ( `${ queueSelector } .top .prev` ) ) ;
131136 await correct ( 1 ) ;
132137 await page . click ( `${ queueSelector } .top .prev` ) ;
133138 await correct ( 1 ) ;
134- await page . click ( `${ queueSelector } .top .next` ) ;
139+ await changed ( page . click ( `${ queueSelector } .top .next` ) ) ;
135140 await correct ( 2 ) ;
136- await page . click ( `${ queueSelector } .top .next` ) ;
137- await page . click ( `${ queueSelector } .top .next` ) ;
138- await page . click ( `${ queueSelector } .top .next` ) ;
141+ await changed ( page . click ( `${ queueSelector } .top .next` ) ) ;
142+ await changed ( page . click ( `${ queueSelector } .top .next` ) ) ;
143+ await changed ( page . click ( `${ queueSelector } .top .next` ) ) ;
139144 await correct ( 5 ) ;
140145 await page . click ( `${ queueSelector } .top .next` ) ;
141146 await correct ( 5 ) ;
0 commit comments