@@ -747,4 +747,66 @@ void testDeactivateUser() throws Exception {
747747 assertNotNull (taskId );
748748 waitForAsyncTask (taskId );
749749 }
750+
751+ @ Test
752+ @ Order (14 )
753+ void testTeams () throws Exception {
754+ String callId = "vid-teams-" + RandomStringUtils .randomAlphabetic (8 ).toLowerCase ();
755+ String userId = "vid-teams-user-" + RandomStringUtils .randomAlphabetic (8 ).toLowerCase ();
756+
757+ // Create user with teams
758+ Map <String , UserRequest > usersMap = new HashMap <>();
759+ usersMap .put (
760+ userId ,
761+ UserRequest .builder ().id (userId ).name ("Teams User" ).teams (List .of ("red" , "blue" )).build ());
762+ client .updateUsers (UpdateUsersRequest .builder ().users (usersMap ).build ()).execute ();
763+
764+ // Create call with team="blue"
765+ var createResp =
766+ video
767+ .getOrCreateCall (
768+ "default" ,
769+ callId ,
770+ GetOrCreateCallRequest .builder ()
771+ .data (CallRequest .builder ().createdByID (userId ).team ("blue" ).build ())
772+ .build ())
773+ .execute ();
774+ assertNotNull (createResp .getData ());
775+ assertEquals ("blue" , createResp .getData ().getCall ().getTeam ());
776+ createdCallIds .add (callId );
777+
778+ // Query users with teams filter - verify user is found
779+ var usersResp =
780+ client
781+ .queryUsers (
782+ QueryUsersRequest .builder ()
783+ .Payload (
784+ QueryUsersPayload .builder ()
785+ .filterConditions (
786+ Map .of (
787+ "id" ,
788+ userId ,
789+ "teams" ,
790+ Map .of ("$in" , List .of ("red" , "blue" ))))
791+ .build ())
792+ .build ())
793+ .execute ();
794+ assertNotNull (usersResp .getData ());
795+ assertTrue (usersResp .getData ().getUsers ().size () > 0 );
796+ boolean userFound =
797+ usersResp .getData ().getUsers ().stream ().anyMatch (u -> userId .equals (u .getId ()));
798+ assertTrue (userFound , "Expected user with teams to be found in query result" );
799+
800+ // Query calls with team filter - verify call is found
801+ var callsResp =
802+ video
803+ .queryCalls (
804+ QueryCallsRequest .builder ()
805+ .filterConditions (
806+ Map .of ("id" , callId , "team" , Map .of ("$eq" , "blue" )))
807+ .build ())
808+ .execute ();
809+ assertNotNull (callsResp .getData ());
810+ assertTrue (callsResp .getData ().getCalls ().size () > 0 , "Expected call with team to be found" );
811+ }
750812}
0 commit comments