@@ -71,6 +71,33 @@ void whenParsingNotDefinedLanguage_thenUnknown() {
7171 Assertions .assertEquals (lang , Language .UNKNOWN );
7272 }
7373
74+ @ DisplayName ("Can create a user with team and teams_role" )
75+ @ Test
76+ void whenCreatingUserWithTeam_thenNoException () {
77+ var id = RandomStringUtils .randomAlphabetic (10 );
78+ var team = "blue" ;
79+ var role = "admin" ;
80+
81+ // Create user with team and teams_role
82+ UserUpsertResponse response =
83+ Assertions .assertDoesNotThrow (
84+ () ->
85+ User .upsert ()
86+ .user (
87+ UserRequestObject .builder ()
88+ .id (id )
89+ .teams (Collections .singletonList (team ))
90+ .teamsRole (Collections .singletonMap (team , role ))
91+ .build ())
92+ .request ());
93+
94+ // Verify the user was created with correct team and role
95+ User createdUser = response .getUsers ().get (id );
96+ Assertions .assertNotNull (createdUser );
97+ Assertions .assertEquals (team , createdUser .getTeams ().get (0 ));
98+ Assertions .assertEquals (role , createdUser .getTeamsRole ().get (team ));
99+ }
100+
74101 @ DisplayName ("Can partial update a user" )
75102 @ Test
76103 void whenPartiallyUpdatingUser_thenNoException () {
@@ -109,6 +136,48 @@ void whenPartiallyUpdatingUser_thenNoException() {
109136 Assertions .assertEquals (addedValue , updatedUser .getAdditionalFields ().get (addedKey ));
110137 }
111138
139+ @ DisplayName ("Can partial update a user with team and teams_role" )
140+ @ Test
141+ void whenPartiallyUpdatingUserWithTeam_thenNoException () {
142+ // First create a basic user
143+ UserUpsertRequest usersUpsertRequest = User .upsert ();
144+ User user =
145+ Assertions .assertDoesNotThrow (
146+ () ->
147+ usersUpsertRequest
148+ .user (
149+ UserRequestObject .builder ()
150+ .id (RandomStringUtils .randomAlphabetic (10 ))
151+ .name ("Test User" )
152+ .build ())
153+ .request ())
154+ .getUsers ()
155+ .values ()
156+ .iterator ()
157+ .next ();
158+
159+ // Partially update the user with team and teams_role
160+ UserPartialUpdateRequestObject userPartialUpdateRequestObject =
161+ UserPartialUpdateRequestObject .builder ()
162+ .id (user .getId ())
163+ .setValue ("teams" , Collections .singletonList ("blue" ))
164+ .setValue ("teams_role" , Collections .singletonMap ("blue" , "admin" ))
165+ .build ();
166+
167+ User updatedUser =
168+ Assertions .assertDoesNotThrow (
169+ () ->
170+ User .partialUpdate ()
171+ .users (Arrays .asList (userPartialUpdateRequestObject ))
172+ .request ())
173+ .getUsers ()
174+ .get (user .getId ());
175+
176+ // Verify the changes
177+ Assertions .assertEquals ("blue" , updatedUser .getTeams ().get (0 ));
178+ Assertions .assertEquals ("admin" , updatedUser .getTeamsRole ().get ("blue" ));
179+ }
180+
112181 @ DisplayName ("Can ban user" )
113182 @ Test
114183 void whenBanUser_thenIsBanned () {
0 commit comments