@ -23,11 +23,36 @@ test('New offers for another user', async ({ page }) => {
await page . getByPlaceholder ( 'URL or DID, Name, Public Key' ) . fill ( autoCreatedDid + ', A Friend' ) ;
await expect ( page . locator ( 'button > svg.fa-plus' ) ) . toBeVisible ( ) ;
await page . locator ( 'button > svg.fa-plus' ) . click ( ) ;
await page . locator ( 'div[role="alert"] button:has-text("No")' ) . click ( ) ; // don't register
await page . locator ( 'div[role="alert"]:has-text("Register") button:has-text("No")' ) . click ( ) ; // don't register
await expect ( page . locator ( 'div[role="alert"] h4:has-text("Success")' ) ) . toBeVisible ( ) ;
await page . locator ( 'div[role="alert"] button > svg.fa-xmark' ) . click ( ) ; // dismiss info alert
await expect ( page . locator ( 'div[role="alert"] button > svg.fa-xmark' ) ) . toBeHidden ( ) ; // ensure alert is gone
// Wait for any dialogs to appear and dismiss them systematically
await page . waitForTimeout ( 1000 ) ; // Give time for any dialogs to appear
// Check for and dismiss export dialog
const exportDialog = page . locator ( 'div[role="alert"]:has-text("Export Your Data")' ) ;
if ( await exportDialog . isVisible ( ) ) {
await page . locator ( 'div[role="alert"]:has-text("Export Your Data") button:has-text("No, Not Now")' ) . click ( ) ;
await expect ( exportDialog ) . toBeHidden ( ) ;
await page . waitForTimeout ( 500 ) ;
}
// Check for any other modal overlays that might be blocking
const modalOverlay = page . locator ( 'div[class*="bg-slate-900"]' ) ;
if ( await modalOverlay . isVisible ( ) ) {
// Try to find and click any close buttons in the overlay
const closeButtons = page . locator ( 'div[class*="bg-slate-900"] button' ) ;
if ( await closeButtons . count ( ) > 0 ) {
await closeButtons . first ( ) . click ( ) ;
await page . waitForTimeout ( 500 ) ;
}
}
// Ensure no dialogs are blocking before proceeding
await page . waitForTimeout ( 1000 ) ;
// show buttons to make offers directly to people
await page . getByRole ( 'button' ) . filter ( { hasText : /See Actions/i } ) . click ( ) ;
@ -39,8 +64,8 @@ test('New offers for another user', async ({ page }) => {
await page . getByTestId ( 'inputOfferAmount' ) . locator ( 'input' ) . fill ( '1' ) ;
await page . getByRole ( 'button' , { name : 'Sign & Send' } ) . click ( ) ;
await expect ( page . getByText ( 'That offer was recorded.' ) ) . toBeVisible ( ) ;
await page . locator ( 'div[role="alert"] button > svg.fa-xmark' ) . click ( ) ; // dismiss info alert
await expect ( page . locator ( 'div[role="alert"] button > svg.fa-xmark' ) ) . toBeHidden ( ) ; // ensure alert is gone
await page . locator ( 'div[role="alert"]:has-text("That offer was recorded") button > svg.fa-xmark' ) . click ( ) ; // dismiss info alert
await expect ( page . locator ( 'div[role="alert"]:has-text("That offer was recorded") button > svg.fa-xmark' ) ) . toBeHidden ( ) ; // ensure alert is gone
// make another offer to user 1
const randomString2 = Math . random ( ) . toString ( 36 ) . substring ( 2 , 5 ) ;
@ -49,8 +74,8 @@ test('New offers for another user', async ({ page }) => {
await page . getByTestId ( 'inputOfferAmount' ) . locator ( 'input' ) . fill ( '3' ) ;
await page . getByRole ( 'button' , { name : 'Sign & Send' } ) . click ( ) ;
await expect ( page . getByText ( 'That offer was recorded.' ) ) . toBeVisible ( ) ;
await page . locator ( 'div[role="alert"] button > svg.fa-xmark' ) . click ( ) ; // dismiss info alert
await expect ( page . locator ( 'div[role="alert"] button > svg.fa-xmark' ) ) . toBeHidden ( ) ; // ensure alert is gone
await page . locator ( 'div[role="alert"]:has-text("That offer was recorded") button > svg.fa-xmark' ) . click ( ) ; // dismiss info alert
await expect ( page . locator ( 'div[role="alert"]:has-text("That offer was recorded") button > svg.fa-xmark' ) ) . toBeHidden ( ) ; // ensure alert is gone
// Switch back to the auto-created DID (the "another user") to see the offers
await switchToUser ( page , autoCreatedDid ) ;