@@ -16,8 +16,8 @@ import {
1616 saveDocAndAssert ,
1717} from '../../../__helpers/e2e/helpers.js'
1818import { AdminUrlUtil } from '../../../__helpers/shared/adminUrlUtil.js'
19- import { initPayloadE2ENoConfig } from '../../../__helpers/shared/initPayloadE2ENoConfig.js'
2019import { reInitializeDB } from '../../../__helpers/shared/clearAndSeed/reInitializeDB.js'
20+ import { initPayloadE2ENoConfig } from '../../../__helpers/shared/initPayloadE2ENoConfig.js'
2121import { RESTClient } from '../../../__helpers/shared/rest.js'
2222import { TEST_TIMEOUT_LONG } from '../../../playwright.config.js'
2323import { slugFieldsSlug } from '../../slugs.js'
@@ -162,6 +162,30 @@ describe('SlugField', () => {
162162 } )
163163 } )
164164
165+ describe ( 'read-only slug field' , ( ) => {
166+ test ( 'should hide lock and generate buttons when slug field is read-only' , async ( ) => {
167+ await page . goto ( url . create )
168+ await page . locator ( '#field-title' ) . waitFor ( )
169+
170+ const readOnlySlugField = page
171+ . locator ( '.slug-field-component' )
172+ . filter ( { has : page . locator ( '#field-readOnlySlug' ) } )
173+
174+ await expect ( readOnlySlugField . locator ( '.lock-button' ) ) . toHaveCount ( 0 )
175+ } )
176+
177+ test ( 'should show lock button for non-read-only slug fields' , async ( ) => {
178+ await page . goto ( url . create )
179+ await page . locator ( '#field-title' ) . waitFor ( )
180+
181+ const regularSlugField = page
182+ . locator ( '.slug-field-component' )
183+ . filter ( { has : page . locator ( '#field-slug' ) } )
184+
185+ await expect ( regularSlugField . locator ( '.lock-button' ) ) . toBeVisible ( )
186+ } )
187+ } )
188+
165189 describe ( 'A11y' , ( ) => {
166190 test ( 'Edit view should have no accessibility violations' , async ( { } , testInfo ) => {
167191 await page . goto ( url . create )
0 commit comments