@@ -449,6 +449,40 @@ func (s *groupListIntegrationTestSuite) TestList() {
449449 s .Contains (groups [0 ].Description , "A team" )
450450 })
451451
452+ s .Run ("list groups with name OR description filter" , func () {
453+ // Clear existing groups
454+ _ , _ = s .Data .DB .Group .Delete ().Exec (ctx )
455+
456+ // Create groups with different names and descriptions
457+ _ , err := s .Group .Create (ctx , uuid .MustParse (s .org .ID ), "frontend-team" , "Frontend development team" , uuid .MustParse (s .user .ID ))
458+ require .NoError (s .T (), err )
459+ _ , err = s .Group .Create (ctx , uuid .MustParse (s .org .ID ), "backend-team" , "Backend development team" , uuid .MustParse (s .user .ID ))
460+ require .NoError (s .T (), err )
461+ _ , err = s .Group .Create (ctx , uuid .MustParse (s .org .ID ), "qa-team" , "Quality Assurance team" , uuid .MustParse (s .user .ID ))
462+ require .NoError (s .T (), err )
463+ _ , err = s .Group .Create (ctx , uuid .MustParse (s .org .ID ), "devops-team" , "Team responsible for infrastructure" , uuid .MustParse (s .user .ID ))
464+ require .NoError (s .T (), err )
465+
466+ // Filter with a term that appears in one group's name and another group's description
467+ // Should match both the "frontend-team" (name contains "front") and "backend-team" (description contains "development")
468+ filterOpts := & biz.ListGroupOpts {
469+ Name : "front" ,
470+ Description : "development" ,
471+ }
472+
473+ groups , count , err := s .Group .List (ctx , uuid .MustParse (s .org .ID ), filterOpts , nil )
474+ s .NoError (err )
475+
476+ // Should match 2 groups due to OR filtering
477+ s .Equal (2 , count )
478+ s .Equal (2 , len (groups ))
479+
480+ // Verify that both expected groups are in the results
481+ groupNames := []string {groups [0 ].Name , groups [1 ].Name }
482+ s .Contains (groupNames , "frontend-team" )
483+ s .Contains (groupNames , "backend-team" )
484+ })
485+
452486 s .Run ("list groups with member email filter" , func () {
453487 // Create a second user
454488 user2 ,
err := s .
User .
UpsertByEmail (
ctx ,
"[email protected] " ,
nil )
0 commit comments