@@ -288,6 +288,43 @@ test.describe("Login", () => {
288
288
await expect ( h1 ) . toBeVisible ( ) ;
289
289
} ) ;
290
290
} ) ;
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
+ } ) ;
291
328
} ) ;
292
329
} ) ;
293
330
0 commit comments