@@ -2,10 +2,13 @@ import type { Page } from '@playwright/test'
22import type { GeneratedTypes } from 'helpers/sdk/types.js'
33
44import { expect , test } from '@playwright/test'
5- import { openListColumns , toggleColumn } from 'helpers/e2e/toggleColumn.js'
5+ import { openListColumns } from 'helpers/e2e/openListColumns.js'
6+ import { openListFilters } from 'helpers/e2e/openListFilters.js'
7+ import { toggleColumn } from 'helpers/e2e/toggleColumn.js'
68import { upsertPrefs } from 'helpers/e2e/upsertPrefs.js'
79import path from 'path'
810import { wait } from 'payload/shared'
11+ import * as qs from 'qs-esm'
912import { fileURLToPath } from 'url'
1013
1114import type { PayloadTestSDK } from '../../../helpers/sdk/index.js'
@@ -180,7 +183,7 @@ describe('Text', () => {
180183
181184 test ( 'should show field in filter when admin.disableListColumn is true' , async ( ) => {
182185 await page . goto ( url . list )
183- await page . locator ( '.list-controls__toggle-where' ) . click ( )
186+ await openListFilters ( page , { } )
184187 await page . locator ( '.where-builder__add-first-filter' ) . click ( )
185188
186189 const initialField = page . locator ( '.condition__field' )
@@ -191,7 +194,7 @@ describe('Text', () => {
191194 ) . toBeVisible ( )
192195 } )
193196
194- test ( 'should display field in list view column selector if admin.disableListColumn is false and admin. disableListFilter is true ' , async ( ) => {
197+ test ( 'should display field in list view column selector despite admin.disableListFilter' , async ( ) => {
195198 await page . goto ( url . list )
196199 await page . locator ( '.list-controls__toggle-columns' ) . click ( )
197200
@@ -205,6 +208,43 @@ describe('Text', () => {
205208 ) . toBeVisible ( )
206209 } )
207210
211+ test ( 'should disable field when admin.disableListFilter is true but still exists in the query' , async ( ) => {
212+ await page . goto (
213+ `${ url . list } ${ qs . stringify (
214+ {
215+ where : {
216+ or : [
217+ {
218+ and : [
219+ {
220+ disableListFilterText : {
221+ equals : 'Disable List Filter Text' ,
222+ } ,
223+ } ,
224+ ] ,
225+ } ,
226+ ] ,
227+ } ,
228+ } ,
229+ { addQueryPrefix : true } ,
230+ ) } `,
231+ )
232+
233+ await openListFilters ( page , { } )
234+
235+ const condition = page . locator ( '.condition__field' )
236+ await expect ( condition . locator ( 'input.rs__input' ) ) . toBeDisabled ( )
237+ await expect ( page . locator ( '.condition__operator input.rs__input' ) ) . toBeDisabled ( )
238+ await expect ( page . locator ( '.condition__value input.condition-value-text' ) ) . toBeDisabled ( )
239+ await expect ( condition . locator ( '.rs__single-value' ) ) . toHaveText ( 'Disable List Filter Text' )
240+ await page . locator ( 'button.condition__actions-add' ) . click ( )
241+ const condition2 = page . locator ( '.condition__field' ) . nth ( 1 )
242+ await condition2 . click ( )
243+ await expect (
244+ condition2 ?. locator ( '.rs__menu-list:has-text("Disable List Filter Text")' ) ,
245+ ) . toBeHidden ( )
246+ } )
247+
208248 test ( 'should respect admin.disableListColumn despite preferences' , async ( ) => {
209249 await upsertPrefs < Config , GeneratedTypes < any > > ( {
210250 payload,
@@ -233,7 +273,7 @@ describe('Text', () => {
233273
234274 test ( 'should hide field in filter when admin.disableListFilter is true' , async ( ) => {
235275 await page . goto ( url . list )
236- await page . locator ( '.list-controls__toggle-where' ) . click ( )
276+ await openListFilters ( page , { } )
237277 await page . locator ( '.where-builder__add-first-filter' ) . click ( )
238278
239279 const initialField = page . locator ( '.condition__field' )
@@ -298,8 +338,7 @@ describe('Text', () => {
298338 await page . goto ( url . list )
299339
300340 // open the first filter options
301- await page . locator ( '.list-controls__toggle-where' ) . click ( )
302- await expect ( page . locator ( '.list-controls__where.rah-static--height-auto' ) ) . toBeVisible ( )
341+ await openListFilters ( page , { } )
303342 await page . locator ( '.where-builder__add-first-filter' ) . click ( )
304343
305344 const firstInitialField = page . locator ( '.condition__field' )
@@ -340,8 +379,7 @@ describe('Text', () => {
340379 await page . goto ( url . list )
341380
342381 // open the first filter options
343- await page . locator ( '.list-controls__toggle-where' ) . click ( )
344- await expect ( page . locator ( '.list-controls__where.rah-static--height-auto' ) ) . toBeVisible ( )
382+ await openListFilters ( page , { } )
345383 await page . locator ( '.where-builder__add-first-filter' ) . click ( )
346384
347385 const firstInitialField = page . locator ( '.condition__field' )
@@ -371,8 +409,7 @@ describe('Text', () => {
371409 await page . goto ( url . list )
372410
373411 // open the first filter options
374- await page . locator ( '.list-controls__toggle-where' ) . click ( )
375- await expect ( page . locator ( '.list-controls__where.rah-static--height-auto' ) ) . toBeVisible ( )
412+ await openListFilters ( page , { } )
376413 await page . locator ( '.where-builder__add-first-filter' ) . click ( )
377414
378415 const firstInitialField = page . locator ( '.condition__field' )
0 commit comments