@@ -288,6 +288,43 @@ test.describe("Login", () => {
288288 await expect ( h1 ) . toBeVisible ( ) ;
289289 } ) ;
290290 } ) ;
291+
292+ test ( "Can reset identity to become verified" , async ( { page, homeserver, request, credentials } ) => {
293+ // Log in
294+ const res = await request . post ( `${ homeserver . baseUrl } /_matrix/client/v3/keys/device_signing/upload` , {
295+ headers : { Authorization : `Bearer ${ credentials . accessToken } ` } ,
296+ data : DEVICE_SIGNING_KEYS_BODY ,
297+ } ) ;
298+ if ( res . status ( ) / 100 !== 2 ) {
299+ console . log ( "Uploading dummy keys failed" , await res . json ( ) ) ;
300+ }
301+ expect ( res . status ( ) / 100 ) . toEqual ( 2 ) ;
302+
303+ await page . goto ( "/" ) ;
304+ await login ( page , homeserver , credentials ) ;
305+
306+ await expect ( page . getByRole ( "heading" , { name : "Verify this device" , level : 1 } ) ) . toBeVisible ( ) ;
307+
308+ // Start the reset process
309+ await page . getByRole ( "button" , { name : "Proceed with reset" } ) . click ( ) ;
310+
311+ // First try cancelling and restarting
312+ await page . getByRole ( "button" , { name : "Cancel" } ) . click ( ) ;
313+ await page . getByRole ( "button" , { name : "Proceed with reset" } ) . click ( ) ;
314+
315+ // Then click outside the dialog and restart
316+ await page . getByRole ( "link" , { name : "Powered by Matrix" } ) . click ( { force : true } ) ;
317+ await page . getByRole ( "button" , { name : "Proceed with reset" } ) . click ( ) ;
318+
319+ // Finally we actually continue
320+ await page . getByRole ( "button" , { name : "Continue" } ) . click ( ) ;
321+ await page . getByPlaceholder ( "Password" ) . fill ( credentials . password ) ;
322+ await page . getByRole ( "button" , { name : "Continue" } ) . click ( ) ;
323+
324+ // We end up at the Home screen
325+ await expect ( page ) . toHaveURL ( / \/ # \/ h o m e $ / , { timeout : 10000 } ) ;
326+ await expect ( page . getByRole ( "heading" , { name : "Welcome Dave" , exact : true } ) ) . toBeVisible ( ) ;
327+ } ) ;
291328 } ) ;
292329 } ) ;
293330
0 commit comments