File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -103,6 +103,7 @@ defineOgImageComponent('Default', {
103103 type =" button"
104104 class =" w-full flex items-center justify-between gap-4 group"
105105 role =" switch"
106+ data-testid =" settings-toggle"
106107 :aria-checked =" settings.relativeDates"
107108 @click =" settings.relativeDates = !settings.relativeDates"
108109 >
@@ -134,6 +135,7 @@ defineOgImageComponent('Default', {
134135 type =" button"
135136 class =" w-full flex items-center justify-between gap-4 group"
136137 role =" switch"
138+ data-testid =" settings-toggle"
137139 :aria-checked =" settings.includeTypesInInstall"
138140 @click =" settings.includeTypesInInstall = !settings.includeTypesInInstall"
139141 >
@@ -167,6 +169,7 @@ defineOgImageComponent('Default', {
167169 type =" button"
168170 class =" w-full flex items-center justify-between gap-4 group"
169171 role =" switch"
172+ data-testid =" settings-toggle"
170173 :aria-checked =" settings.hidePlatformPackages"
171174 @click =" settings.hidePlatformPackages = !settings.hidePlatformPackages"
172175 >
Original file line number Diff line number Diff line change 1+ import { expect , test } from '@nuxt/test-utils/playwright'
2+
3+ test . describe ( 'Settings' , ( ) => {
4+ test ( 'settings persist across new tabs and reloads' , async ( { page, goto } ) => {
5+ await goto ( '/settings' , { waitUntil : 'domcontentloaded' } )
6+
7+ const toggles = page . getByTestId ( 'settings-toggle' )
8+ const toggleCount = await toggles . count ( )
9+ expect ( toggleCount ) . toBeGreaterThan ( 0 )
10+ for ( let i = 0 ; i < toggleCount ; i += 1 ) {
11+ await toggles . nth ( i ) . click ( )
12+ }
13+
14+ const page2 = await page . context ( ) . newPage ( )
15+ await page2 . goto ( '/nuxt' , { waitUntil : 'domcontentloaded' } )
16+
17+ const storedBefore = await page . evaluate ( ( ) => localStorage . getItem ( 'npmx-settings' ) )
18+
19+ await page . reload ( )
20+ const storedAfter = await page . evaluate ( ( ) => localStorage . getItem ( 'npmx-settings' ) )
21+ expect ( storedAfter ) . toBe ( storedBefore )
22+
23+ await page2 . reload ( )
24+ const storedFromOtherTab = await page2 . evaluate ( ( ) => localStorage . getItem ( 'npmx-settings' ) )
25+ expect ( storedFromOtherTab ) . toBe ( storedBefore )
26+ } )
27+ } )
You can’t perform that action at this time.
0 commit comments