@@ -69,15 +69,10 @@ test("unreachable node shows error with seed selector", async ({ page }) => {
6969 page . getByText ( "Select a different node to continue." ) ,
7070 ) . toBeVisible ( ) ;
7171
72- // Shows the seed selector dropdown toggle.
72+ // Shows the seed selector toggle.
7373 await expect (
74- page . getByRole ( "button" , { name : "Toggle seed selector dropdown " } ) ,
74+ page . getByRole ( "button" , { name : "Seed selector" } ) ,
7575 ) . toBeVisible ( ) ;
76-
77- // Bookmark button is not shown in compact mode.
78- await expect (
79- page . getByRole ( "button" , { name : "Add bookmark" } ) ,
80- ) . not . toBeVisible ( ) ;
8176} ) ;
8277
8378test ( "seed selector on not-found page allows navigating to a working node" , async ( {
@@ -90,10 +85,9 @@ test("seed selector on not-found page allows navigating to a working node", asyn
9085 await expect ( page . getByText ( "Could not connect to" ) ) . toBeVisible ( ) ;
9186
9287 // Open the seed selector and navigate to the working local node.
93- await page
94- . getByRole ( "button" , { name : "Toggle seed selector dropdown" } )
95- . click ( ) ;
96- await page . getByPlaceholder ( "seed.radicle.example" ) . fill ( "localhost" ) ;
88+ await page . getByRole ( "button" , { name : "Seed selector" } ) . click ( ) ;
89+ await page . getByRole ( "button" , { name : "Add new" } ) . click ( ) ;
90+ await page . getByPlaceholder ( "seed.radicle.example" ) . fill ( "localhost:8081" ) ;
9791 await page . getByPlaceholder ( "seed.radicle.example" ) . press ( "Enter" ) ;
9892
9993 // Should navigate to the working node.
@@ -113,7 +107,7 @@ test("unreachable seed on repo page shows error with seed selector", async ({
113107
114108 // Seed selector is available to navigate away.
115109 await expect (
116- page . getByRole ( "button" , { name : "Toggle seed selector dropdown " } ) ,
110+ page . getByRole ( "button" , { name : "Seed selector" } ) ,
117111 ) . toBeVisible ( ) ;
118112} ) ;
119113
@@ -135,53 +129,35 @@ test("edit seed bookmarks", async ({ page }) => {
135129
136130 await page . goto ( "/" ) ;
137131
138- await page
139- . getByRole ( "button" , { name : "Toggle seed selector dropdown" } )
140- . click ( ) ;
141- await expect ( page . getByPlaceholder ( "seed.radicle.example" ) ) . toHaveValue (
142- "localhost" ,
143- ) ;
144- await expect (
145- page . getByRole ( "button" , { name : "Default seeds can't be removed" } ) ,
146- ) . toBeVisible ( ) ;
147- await expect ( page . locator ( ".dropdown > .dropdown-item" ) ) . toHaveCount ( 1 ) ;
132+ const seedSelector = page . getByRole ( "button" , { name : "Seed selector" } ) ;
148133
149- // The input box is focussed, has the text selected and ready to be overwritten.
134+ // Add a custom seed via the seed selector.
135+ await seedSelector . click ( ) ;
136+ await page . getByRole ( "button" , { name : "Add new" } ) . click ( ) ;
150137 await page . getByPlaceholder ( "seed.radicle.example" ) . fill ( "seed.example.tld" ) ;
151138 await page . getByPlaceholder ( "seed.radicle.example" ) . press ( "Enter" ) ;
152139
153- await expect ( page ) . toHaveURL ( "/nodes/seed.example.tld" ) ;
140+ // On the explore page the URL is unchanged, but the active seed switches to
141+ // the new custom seed, which is added to the bookmarked custom seeds.
142+ await expect ( seedSelector ) . toContainText ( "seed.example.tld" ) ;
143+
144+ await seedSelector . click ( ) ;
154145 await expect (
155- page . getByRole ( "button" , { name : "Add bookmark" } ) ,
146+ page . getByRole ( "button" , { name : "Remove bookmark" , exact : true } ) ,
156147 ) . toBeVisible ( ) ;
157148
158- await page
159- . getByRole ( "button" , { name : "Toggle seed selector dropdown" } )
160- . click ( ) ;
161-
162- // After navigating to the seed it should not yet be added to the bookmarks.
163- await expect ( page . locator ( ".dropdown > .dropdown-item" ) ) . toHaveCount ( 1 ) ;
164-
165- await page . getByRole ( "button" , { name : "Add bookmark" } ) . click ( ) ;
166- await expect ( page . locator ( ".dropdown > .dropdown-item" ) ) . toHaveCount ( 2 ) ;
167-
168- // Test that new seed is persisted and opened when we go to the landing page.
169- await page . getByRole ( "link" , { name : "Home" } ) . click ( ) ;
170- await expect ( page . getByText ( "seed.example.tld" ) . first ( ) ) . toBeVisible ( ) ;
171-
172- // Test removing a bookmark.
173- await page
174- . getByRole ( "button" , { name : "Toggle seed selector dropdown" } )
175- . click ( ) ;
176- await page . getByRole ( "button" , { name : "Remove bookmark" } ) . nth ( 1 ) . click ( ) ;
177- await expect ( page . locator ( ".dropdown > .dropdown-item" ) ) . toHaveCount ( 1 ) ;
149+ // The bookmark persists across reloads.
150+ await page . reload ( ) ;
151+ await seedSelector . click ( ) ;
152+ await expect (
153+ page . getByRole ( "button" , { name : "Remove bookmark" , exact : true } ) ,
154+ ) . toBeVisible ( ) ;
178155
179- // Remove the bookmark from within the dropdown.
180- await page . getByRole ( "button" , { name : "Add bookmark" } ) . click ( ) ;
181- await expect ( page . locator ( ".dropdown > .dropdown-item" ) ) . toHaveCount ( 2 ) ;
156+ // Removing the bookmark drops it from the custom seeds.
182157 await page
183- . getByRole ( "button" , { name : "seed.example.tld" } )
184- . getByRole ( "button" , { name : "Remove bookmark" } )
158+ . getByRole ( "button" , { name : "Remove bookmark" , exact : true } )
185159 . click ( ) ;
186- await expect ( page . locator ( ".dropdown > .dropdown-item" ) ) . toHaveCount ( 1 ) ;
160+ await expect (
161+ page . getByRole ( "button" , { name : "Remove bookmark" , exact : true } ) ,
162+ ) . not . toBeVisible ( ) ;
187163} ) ;
0 commit comments