@@ -715,17 +715,37 @@ try {
715715 await expect ( page ) . toHaveURL ( `${ baseUrl . origin } ${ root } /search/chat/${ assistantId } ` )
716716 await expect ( page . getByText ( answer , { exact : true } ) ) . toBeVisible ( )
717717 } )
718- await check ( 'New search clears its draft while Back restores the prior query draft' , async ( ) => {
719- await page . goto ( `${ baseUrl . origin } ${ root } /search?q=Launch` )
720- const input = page . getByRole ( 'textbox' , { name : 'Search your sources' } )
721- await input . fill ( 'Edited launch query' )
722- await page . getByRole ( 'button' , { name : 'New search' , exact : true } ) . click ( )
723- await expect ( page ) . toHaveURL ( `${ baseUrl . origin } ${ root } /search` )
724- await expect ( input ) . toHaveValue ( '' )
725- await page . goBack ( )
726- await expect ( input ) . toHaveValue ( 'Edited launch query' )
727- assert . equal ( new URL ( page . url ( ) ) . searchParams . get ( 'q' ) , 'Launch' )
728- } )
718+ await check (
719+ 'Search protects edits during hydration and restores the prior draft on Back' ,
720+ async ( ) => {
721+ const releaseScripts = createDeferred < void > ( )
722+ const scripts = '**/_next/static/**/*.js'
723+ await page . route ( scripts , async ( route ) => {
724+ await releaseScripts . promise
725+ await route . continue ( )
726+ } )
727+ const input = page . getByRole ( 'textbox' , { name : 'Search your sources' } )
728+ try {
729+ await page . goto ( `${ baseUrl . origin } ${ root } /search?q=Launch` , { waitUntil : 'commit' } )
730+ await expect ( input ) . toBeVisible ( )
731+ await expect ( input ) . toBeDisabled ( )
732+ await expect ( page . getByLabel ( 'Search' , { exact : true } ) ) . toBeDisabled ( )
733+ } finally {
734+ releaseScripts . resolve ( )
735+ await page . unrouteAll ( { behavior : 'wait' } )
736+ await page . waitForLoadState ( )
737+ }
738+ await expect ( input ) . toBeFocused ( )
739+ await input . fill ( 'Edited launch query' )
740+ await expect ( input ) . toHaveValue ( 'Edited launch query' )
741+ await page . getByRole ( 'button' , { name : 'New search' , exact : true } ) . click ( )
742+ await expect ( page ) . toHaveURL ( `${ baseUrl . origin } ${ root } /search` )
743+ await expect ( input ) . toHaveValue ( '' )
744+ await page . goBack ( )
745+ await expect ( input ) . toHaveValue ( 'Edited launch query' )
746+ assert . equal ( new URL ( page . url ( ) ) . searchParams . get ( 'q' ) , 'Launch' )
747+ }
748+ )
729749 await check ( 'Search URLs cannot change an agent conversation into an assistant' , async ( ) => {
730750 await page . goto ( `${ baseUrl . origin } ${ root } /search/chat/${ agentId } ` )
731751 await expect ( page ) . toHaveURL ( `${ baseUrl . origin } ${ root } /chat/${ agentId } ` )
0 commit comments