@@ -22,6 +22,10 @@ test("selects a base branch for a new workspace", async ({ page }) => {
2222 pageMessages : ( ) => ( { items : [ ] } ) ,
2323 vcsBranches : [ "feature/api" , "main" , "origin/release" ] ,
2424 } )
25+ await page . route ( "**/api/vcs/branches?*" , ( route ) => {
26+ if ( new URL ( route . request ( ) . url ( ) ) . searchParams . get ( "search" ) !== "feature" ) return route . fallback ( )
27+ return route . fulfill ( { json : { location : { directory } , data : [ "feature/api" ] } } )
28+ } )
2529 await page . addInitScript (
2630 ( { directory, draftID, server } ) => {
2731 localStorage . setItem (
@@ -44,10 +48,28 @@ test("selects a base branch for a new workspace", async ({ page }) => {
4448 await page . getByRole ( "button" , { name : "Local" , exact : true } ) . click ( )
4549 await page . getByRole ( "menuitem" , { name : "New worktree" , exact : true } ) . click ( )
4650 await page . getByRole ( "button" , { name : "from main" , exact : true } ) . click ( )
51+ const search = page . getByRole ( "textbox" , { name : "Search branches" , exact : true } )
52+ await expect ( search ) . toBeFocused ( )
53+ await page . keyboard . type ( "feature" )
54+ await expect ( search ) . toHaveValue ( "feature" )
55+ await expect ( page . getByRole ( "menuitemradio" ) ) . toHaveText ( [ "feature/api" ] )
56+ await expect ( search ) . toBeFocused ( )
4757 await page . getByRole ( "menuitemradio" , { name : "feature/api" , exact : true } ) . click ( )
4858
4959 const selected = page . getByRole ( "button" , { name : "from feature/api" , exact : true } )
5060 await expect ( selected ) . toBeVisible ( )
5161 await selected . click ( )
62+ await expect ( search ) . toBeFocused ( )
63+ await expect ( search ) . toHaveValue ( "" )
5264 await expect ( page . getByRole ( "menuitemradio" , { name : "feature/api" , exact : true } ) ) . toBeChecked ( )
65+ await page . keyboard . press ( "Escape" )
66+ await expect ( selected ) . toBeFocused ( )
67+ await page . keyboard . press ( "Enter" )
68+ await expect ( search ) . toBeFocused ( )
69+ await page . keyboard . type ( "feature" )
70+ await expect ( search ) . toHaveValue ( "feature" )
71+ await expect ( page . getByRole ( "menuitemradio" ) ) . toHaveText ( [ "feature/api" ] )
72+ await page . getByRole ( "button" , { name : "Clear" , exact : true } ) . click ( )
73+ await expect ( search ) . toHaveValue ( "" )
74+ await expect ( page . getByRole ( "menuitemradio" ) ) . toHaveText ( [ "feature/api" , "main" , "origin/release" ] )
5375} )
0 commit comments