@@ -11,6 +11,7 @@ import {
1111 applyTextFilter ,
1212 applyNumberFilter ,
1313 selectOptionValue ,
14+ getByTableColumnText ,
1415} from "./filter-helpers" ;
1516import { test } from "./lib/fixtures" ;
1617
@@ -186,8 +187,8 @@ test.describe("Insights > Routing Filters", () => {
186187
187188 await applySelectFilter ( page , "bookingUserId" , user1Name ) ;
188189
189- await expect ( page . getByText ( "John Doe" ) ) . toBeVisible ( ) ;
190- await expect ( page . getByText ( "Jane Smith" ) ) . toBeHidden ( ) ;
190+ await expect ( getByTableColumnText ( page , fieldId , "John Doe" ) ) . toBeVisible ( ) ;
191+ await expect ( getByTableColumnText ( page , fieldId , "Jane Smith" ) ) . toBeHidden ( ) ;
191192
192193 await prisma . booking . delete ( { where : { id : booking1 . id } } ) ;
193194 await prisma . booking . delete ( { where : { id : booking2 . id } } ) ;
@@ -291,26 +292,26 @@ test.describe("Insights > Routing Filters", () => {
291292 await page . getByPlaceholder ( "Filter attendees by name or email" ) . fill ( "John" ) ;
292293 await page . keyboard . press ( "Enter" ) ;
293294
294- await expect ( page . getByText ( "Response 1" ) ) . toBeVisible ( ) ;
295- await expect ( page . getByText ( "Response 2" ) ) . toBeHidden ( ) ;
295+ await expect ( getByTableColumnText ( page , fieldId , "Response 1" ) ) . toBeVisible ( ) ;
296+ await expect ( getByTableColumnText ( page , fieldId , "Response 2" ) ) . toBeHidden ( ) ;
296297
297298 await clearFilters ( page ) ;
298299 await addFilter ( page , "bookingAttendees" ) ;
299300 await openFilter ( page , "bookingAttendees" ) ;
300301 await page . getByPlaceholder ( "Filter attendees by name or email" ) . fill ( "jane.smith@example" ) ;
301302 await page . keyboard . press ( "Enter" ) ;
302303
303- await expect ( page . getByText ( "Response 2" ) ) . toBeVisible ( ) ;
304- await expect ( page . getByText ( "Response 1" ) ) . toBeHidden ( ) ;
304+ await expect ( getByTableColumnText ( page , fieldId , "Response 2" ) ) . toBeVisible ( ) ;
305+ await expect ( getByTableColumnText ( page , fieldId , "Response 1" ) ) . toBeHidden ( ) ;
305306
306307 await clearFilters ( page ) ;
307308 await addFilter ( page , "bookingAttendees" ) ;
308309 await openFilter ( page , "bookingAttendees" ) ;
309310 await page . getByPlaceholder ( "Filter attendees by name or email" ) . fill ( "JANE" ) ;
310311 await page . keyboard . press ( "Enter" ) ;
311312
312- await expect ( page . getByText ( "Response 2" ) ) . toBeVisible ( ) ;
313- await expect ( page . getByText ( "Response 1" ) ) . toBeHidden ( ) ;
313+ await expect ( getByTableColumnText ( page , fieldId , "Response 2" ) ) . toBeVisible ( ) ;
314+ await expect ( getByTableColumnText ( page , fieldId , "Response 1" ) ) . toBeHidden ( ) ;
314315
315316 await prisma . booking . delete ( { where : { id : booking1 . id } } ) ;
316317 await prisma . booking . delete ( { where : { id : booking2 . id } } ) ;
@@ -392,26 +393,26 @@ test.describe("Insights > Routing Filters", () => {
392393
393394 await applyTextFilter ( page , fieldId , "Contains" , "test" ) ;
394395
395- await expect ( page . getByText ( "This is a test description" ) ) . toBeVisible ( ) ;
396- await expect ( page . getByText ( "Another description for testing" ) ) . toBeVisible ( ) ;
396+ await expect ( getByTableColumnText ( page , fieldId , "This is a test description" ) ) . toBeVisible ( ) ;
397+ await expect ( getByTableColumnText ( page , fieldId , "Another description for testing" ) ) . toBeVisible ( ) ;
397398
398399 await clearFilters ( page ) ;
399400 await applyTextFilter ( page , fieldId , "Is" , "This is a test description" ) ;
400401
401- await expect ( page . getByText ( "This is a test description" ) ) . toBeVisible ( ) ;
402- await expect ( page . getByText ( "Another description for testing" ) ) . toBeHidden ( ) ;
402+ await expect ( getByTableColumnText ( page , fieldId , "This is a test description" ) ) . toBeVisible ( ) ;
403+ await expect ( getByTableColumnText ( page , fieldId , "Another description for testing" ) ) . toBeHidden ( ) ;
403404
404405 await clearFilters ( page ) ;
405406 await applyTextFilter ( page , fieldId , "Is empty" ) ;
406407
407- await expect ( page . getByText ( "This is a test description" ) ) . toBeHidden ( ) ;
408- await expect ( page . getByText ( "Another description for testing" ) ) . toBeHidden ( ) ;
408+ await expect ( getByTableColumnText ( page , fieldId , "This is a test description" ) ) . toBeHidden ( ) ;
409+ await expect ( getByTableColumnText ( page , fieldId , "Another description for testing" ) ) . toBeHidden ( ) ;
409410
410411 await clearFilters ( page ) ;
411412 await applyTextFilter ( page , fieldId , "Contains" , "TEST" ) ;
412413
413- await expect ( page . getByText ( "This is a test description" ) ) . toBeVisible ( ) ;
414- await expect ( page . getByText ( "Another description for testing" ) ) . toBeVisible ( ) ;
414+ await expect ( getByTableColumnText ( page , fieldId , "This is a test description" ) ) . toBeVisible ( ) ;
415+ await expect ( getByTableColumnText ( page , fieldId , "Another description for testing" ) ) . toBeVisible ( ) ;
415416 } ) ;
416417
417418 test ( "NUMBER field: should filter with different number operators" , async ( {
@@ -489,26 +490,23 @@ test.describe("Insights > Routing Filters", () => {
489490
490491 await applyNumberFilter ( page , fieldId , "=" , 3 ) ;
491492
492- const getByNumber = ( number : number ) =>
493- page . locator ( `[data-testid="data-table-td-${ fieldId } "]` ) . getByText ( String ( number ) ) ;
494-
495- await expect ( getByNumber ( 3 ) ) . toBeVisible ( ) ;
496- await expect ( getByNumber ( 1 ) ) . toBeHidden ( ) ;
497- await expect ( getByNumber ( 5 ) ) . toBeHidden ( ) ;
493+ await expect ( getByTableColumnText ( page , fieldId , "3" ) ) . toBeVisible ( ) ;
494+ await expect ( getByTableColumnText ( page , fieldId , "1" ) ) . toBeHidden ( ) ;
495+ await expect ( getByTableColumnText ( page , fieldId , "5" ) ) . toBeHidden ( ) ;
498496
499497 await clearFilters ( page ) ;
500498 await applyNumberFilter ( page , fieldId , ">" , 3 ) ;
501499
502- await expect ( getByNumber ( 5 ) ) . toBeVisible ( ) ;
503- await expect ( getByNumber ( 1 ) ) . toBeHidden ( ) ;
504- await expect ( getByNumber ( 3 ) ) . toBeHidden ( ) ;
500+ await expect ( getByTableColumnText ( page , fieldId , "5" ) ) . toBeVisible ( ) ;
501+ await expect ( getByTableColumnText ( page , fieldId , "1" ) ) . toBeHidden ( ) ;
502+ await expect ( getByTableColumnText ( page , fieldId , "3" ) ) . toBeHidden ( ) ;
505503
506504 await clearFilters ( page ) ;
507505 await applyNumberFilter ( page , fieldId , "≤" , 3 ) ;
508506
509- await expect ( getByNumber ( 1 ) ) . toBeVisible ( ) ;
510- await expect ( getByNumber ( 3 ) ) . toBeVisible ( ) ;
511- await expect ( getByNumber ( 5 ) ) . toBeHidden ( ) ;
507+ await expect ( getByTableColumnText ( page , fieldId , "1" ) ) . toBeVisible ( ) ;
508+ await expect ( getByTableColumnText ( page , fieldId , "3" ) ) . toBeVisible ( ) ;
509+ await expect ( getByTableColumnText ( page , fieldId , "5" ) ) . toBeHidden ( ) ;
512510 } ) ;
513511
514512 test ( "SINGLE_SELECT and MULTI_SELECT fields: should filter correctly" , async ( {
@@ -620,19 +618,16 @@ test.describe("Insights > Routing Filters", () => {
620618
621619 await page . goto ( `/insights/routing` ) ;
622620
623- const getByColumnValue = ( columnId : string , value : string ) =>
624- page . locator ( `[data-testid="data-table-td-${ columnId } "]` ) . getByText ( value ) ;
625-
626621 await applySelectFilter ( page , locationFieldId , "New York" ) ;
627- await expect ( getByColumnValue ( locationFieldId , "New York" ) ) . toBeVisible ( ) ;
628- await expect ( getByColumnValue ( locationFieldId , "London" ) ) . toBeHidden ( ) ;
622+ await expect ( getByTableColumnText ( page , locationFieldId , "New York" ) ) . toBeVisible ( ) ;
623+ await expect ( getByTableColumnText ( page , locationFieldId , "London" ) ) . toBeHidden ( ) ;
629624
630625 await clearFilters ( page ) ;
631626 await applySelectFilter ( page , skillFieldId , "JavaScript" ) ;
632627 await applySelectFilter ( page , skillFieldId , "TypeScript" ) ;
633- await expect ( getByColumnValue ( skillFieldId , "JavaScript" ) ) . toBeVisible ( ) ;
634- await expect ( getByColumnValue ( skillFieldId , "TypeScript" ) ) . toBeVisible ( ) ;
635- await expect ( getByColumnValue ( skillFieldId , "React" ) ) . toBeHidden ( ) ;
628+ await expect ( getByTableColumnText ( page , skillFieldId , "JavaScript" ) ) . toBeVisible ( ) ;
629+ await expect ( getByTableColumnText ( page , skillFieldId , "TypeScript" ) ) . toBeVisible ( ) ;
630+ await expect ( getByTableColumnText ( page , skillFieldId , "React" ) ) . toBeHidden ( ) ;
636631 } ) ;
637632
638633 test ( "createdAt filter: should filter by date range" , async ( { page, users, routingForms, prisma } ) => {
@@ -698,14 +693,14 @@ test.describe("Insights > Routing Filters", () => {
698693 await page . getByTestId ( "date-range-options-w" ) . click ( ) ; // Last 7 Days
699694 await page . keyboard . press ( "Escape" ) ;
700695
701- await expect ( page . getByText ( "Recent Response" ) ) . toBeVisible ( ) ;
702- await expect ( page . getByText ( "Old Response" ) ) . toBeHidden ( ) ;
696+ await expect ( getByTableColumnText ( page , fieldId , "Recent Response" ) ) . toBeVisible ( ) ;
697+ await expect ( getByTableColumnText ( page , fieldId , "Old Response" ) ) . toBeHidden ( ) ;
703698
704699 await openFilter ( page , "createdAt" ) ;
705700 await page . getByTestId ( "date-range-options-t" ) . click ( ) ; // Last 30 Days
706701 await page . keyboard . press ( "Escape" ) ;
707702
708- await expect ( page . getByText ( "Recent Response" ) ) . toBeVisible ( ) ;
709- await expect ( page . getByText ( "Old Response" ) ) . toBeVisible ( ) ;
703+ await expect ( getByTableColumnText ( page , fieldId , "Recent Response" ) ) . toBeVisible ( ) ;
704+ await expect ( getByTableColumnText ( page , fieldId , "Old Response" ) ) . toBeVisible ( ) ;
710705 } ) ;
711706} ) ;
0 commit comments