@@ -20,6 +20,7 @@ import {
20
20
blockFieldsSlug ,
21
21
collapsibleFieldsSlug ,
22
22
tabsFields2Slug ,
23
+ tabsFieldsSlug ,
23
24
} from './slugs.js'
24
25
const filename = fileURLToPath ( import . meta. url )
25
26
const dirname = path . dirname ( filename )
@@ -479,13 +480,18 @@ describe('fields', () => {
479
480
} )
480
481
481
482
describe ( 'tabs' , ( ) => {
482
- let url : AdminUrlUtil
483
+ // tabsFieldsSlug is used for testing tabs
484
+ let tabsFieldsUrl : AdminUrlUtil
485
+ // tabsFields2Slug is used for testing nested tabs
486
+ let tabsFieldsUrl2 : AdminUrlUtil
487
+
483
488
beforeAll ( ( ) => {
484
- url = new AdminUrlUtil ( serverURL , tabsFields2Slug )
489
+ tabsFieldsUrl = new AdminUrlUtil ( serverURL , tabsFieldsSlug )
490
+ tabsFieldsUrl2 = new AdminUrlUtil ( serverURL , tabsFields2Slug )
485
491
} )
486
492
487
493
test ( 'should correctly save nested unnamed and named tabs' , async ( ) => {
488
- await page . goto ( url . create )
494
+ await page . goto ( tabsFieldsUrl2 . create )
489
495
490
496
await page . locator ( '#field-tabsInArray .array-field__add-row' ) . click ( )
491
497
await page . locator ( '#field-tabsInArray__0__text' ) . fill ( 'tab 1 text' )
@@ -498,5 +504,27 @@ describe('fields', () => {
498
504
await page . locator ( '.tabs-field__tabs button:nth-child(2)' ) . click ( )
499
505
await expect ( page . locator ( '#field-tabsInArray__0__tab2__text2' ) ) . toHaveValue ( 'tab 2 text' )
500
506
} )
507
+
508
+ test ( 'should save preferences for tab order' , async ( ) => {
509
+ await page . goto ( tabsFieldsUrl . list )
510
+
511
+ const firstItem = page . locator ( '.cell-id a' ) . nth ( 0 )
512
+ const href = await firstItem . getAttribute ( 'href' )
513
+ await firstItem . click ( )
514
+
515
+ const regex = new RegExp ( href . replace ( / [ . * + ? ^ $ { } ( ) | [ \] \\ ] / g, '\\$&' ) )
516
+
517
+ await page . waitForURL ( regex )
518
+
519
+ await page . locator ( '.tabs-field__tabs button:nth-child(2)' ) . nth ( 0 ) . click ( )
520
+
521
+ await page . reload ( )
522
+
523
+ const tab2 = page . locator ( '.tabs-field__tabs button:nth-child(2)' ) . nth ( 0 )
524
+
525
+ await expect ( async ( ) => await expect ( tab2 ) . toHaveClass ( / - - a c t i v e / ) ) . toPass ( {
526
+ timeout : POLL_TOPASS_TIMEOUT ,
527
+ } )
528
+ } )
501
529
} )
502
530
} )
0 commit comments