@@ -267,7 +267,7 @@ async function openView(page, name) {
267267 await expect ( page . locator ( `#view-${ name } ` ) ) . toHaveClass ( / \b a c t i v e \b / ) ;
268268}
269269
270- test ( 'local dashboard exposes hosted Pro and Team CTAs without local commercial controls ' , async ( { page } ) => {
270+ test ( 'local dashboard keeps generic Pro and Team CTAs out of settings ' , async ( { page } ) => {
271271 const errors = recordBrowserErrors ( page ) ;
272272 const calls = await mockLocalClient ( page ) ;
273273 const response = await page . goto ( '/classic' ) ;
@@ -280,12 +280,9 @@ test('local dashboard exposes hosted Pro and Team CTAs without local commercial
280280 await openView ( page , 'settings' ) ;
281281 const licensePanel = page . locator ( '.settings-license-panel' ) ;
282282 await expect ( licensePanel . getByText ( 'LOCAL CORE' , { exact : true } ) ) . toBeVisible ( ) ;
283- await expect ( licensePanel . getByRole ( 'link' , { name : 'Start 3-day Pro trial' } ) ) . toBeVisible ( ) ;
284- await expect ( licensePanel . getByRole ( 'link' , { name : 'Start 3-day Team trial' } ) ) . toBeVisible ( ) ;
285- await expect ( licensePanel ) . toContainText (
286- 'The email-confirmed, no-card trial lasts exactly 3 active days; '
287- + 'private-service account grace is separate, capped at 24 hours, and never extends cloud access or restricts local MCP and dashboard use.' ,
288- ) ;
283+ await expect ( licensePanel . getByRole ( 'link' , { name : 'Start 3-day Pro trial' } ) ) . toHaveCount ( 0 ) ;
284+ await expect ( licensePanel . getByRole ( 'link' , { name : 'Start 3-day Team trial' } ) ) . toHaveCount ( 0 ) ;
285+ await expect ( licensePanel ) . not . toContainText ( 'Support continued Engraphis development with Pro.' ) ;
289286
290287 await openView ( page , 'team' ) ;
291288 const team = page . locator ( '#team-body' ) ;
@@ -467,17 +464,9 @@ test('a spent trial says so, and is never offered another one', async ({ page })
467464 await expect ( licensePanel ) . toContainText ( 'Your free trial has ended on 2025-06-28' ) ;
468465 await expect ( licensePanel ) . toContainText ( 'still in your local database' ) ;
469466 await expect ( licensePanel ) . toContainText ( 'cannot be started again' ) ;
470- // Buyable, not trialable.
471- await expect ( licensePanel . getByRole ( 'link' , { name : 'Subscribe to Pro' } ) )
472- . toHaveAttribute (
473- 'href' ,
474- 'https://cloud.engraphis.test/pro?plan=pro&interval=monthly&utm_source=engraphis&utm_medium=product&utm_campaign=pro_conversion&utm_content=license#billing' ,
475- ) ;
476- await expect ( licensePanel . getByRole ( 'link' , { name : 'Subscribe to Team' } ) )
477- . toHaveAttribute (
478- 'href' ,
479- 'https://cloud.engraphis.test/team?plan=team&interval=monthly&utm_source=engraphis&utm_medium=product&utm_campaign=pro_conversion&utm_content=license_team#billing' ,
480- ) ;
467+ // Upgrade CTAs belong with individual locked features, not the general settings panel.
468+ await expect ( licensePanel . getByRole ( 'link' , { name : 'Subscribe to Pro' } ) ) . toHaveCount ( 0 ) ;
469+ await expect ( licensePanel . getByRole ( 'link' , { name : 'Subscribe to Team' } ) ) . toHaveCount ( 0 ) ;
481470 await expect ( licensePanel . getByRole ( 'link' , { name : 'Start 3-day Pro trial' } ) )
482471 . toHaveCount ( 0 ) ;
483472 expect ( errors ) . toEqual ( [ ] ) ;
0 commit comments