@@ -24,29 +24,32 @@ void whenSendingMessages_thenMemberRoleIsIncluded() {
2424 pause ();
2525
2626 // Select two different users from the pre-created user list
27- UserRequestObject userWithRole = testUsersRequestObjects .get (0 );
28- UserRequestObject userWithoutRole = testUsersRequestObjects .get (1 );
27+ UserRequestObject userWithCustomRole = testUsersRequestObjects .get (0 );
28+ UserRequestObject userWithDefaultRole = testUsersRequestObjects .get (1 );
2929
30- // Build channel members – assign the custom role to the first user only
31- var memberWithRole =
32- ChannelMemberRequestObject .builder ().user (userWithRole ).role (customRole ).build ();
33- var memberWithoutRole =
34- ChannelMemberRequestObject .builder ().user (userWithoutRole ).build ();
35-
36- // Create a new channel with these members
30+ // Create a new channel with these members (roles will be assigned later)
3731 var channelResp =
3832 Assertions .assertDoesNotThrow (
3933 () ->
4034 Channel .getOrCreate ("team" , RandomStringUtils .randomAlphabetic (12 ))
4135 .data (
4236 ChannelRequestObject .builder ()
4337 .createdBy (testUserRequestObject )
44- .member (memberWithRole )
45- .member (memberWithoutRole )
38+ .member (ChannelMemberRequestObject . builder (). user ( userWithCustomRole ). build () )
39+ .member (ChannelMemberRequestObject . builder (). user ( userWithDefaultRole ). build () )
4640 .build ())
4741 .request ());
4842 var channel = channelResp .getChannel ();
4943
44+ // Assign the custom role to the first user *after* channel creation
45+ var assignment = new RoleAssignment ();
46+ assignment .setChannelRole (customRole );
47+ assignment .setUserId (userWithCustomRole .getId ());
48+ Assertions .assertDoesNotThrow (
49+ () -> Channel .assignRoles (channel .getType (), channel .getId ()).assignRole (assignment ).request ());
50+
51+ pause (); // give backend time to apply the role
52+
5053 // User with role sends a message
5154 Message messageWithRole =
5255 Assertions .assertDoesNotThrow (
@@ -55,7 +58,7 @@ void whenSendingMessages_thenMemberRoleIsIncluded() {
5558 .message (
5659 MessageRequestObject .builder ()
5760 .text ("Message from user with role" )
58- .userId (userWithRole .getId ())
61+ .userId (userWithCustomRole .getId ())
5962 .build ())
6063 .request ())
6164 .getMessage ();
@@ -68,17 +71,17 @@ void whenSendingMessages_thenMemberRoleIsIncluded() {
6871 .message (
6972 MessageRequestObject .builder ()
7073 .text ("Message from user without role" )
71- .userId (userWithoutRole .getId ())
74+ .userId (userWithDefaultRole .getId ())
7275 .build ())
7376 .request ())
7477 .getMessage ();
7578
7679 // Assert the role information in the immediate responses
7780 Assertions .assertNotNull (messageWithRole .getMember ());
78- Assertions .assertEquals (customRole , messageWithRole .getMember ().getRole ());
81+ Assertions .assertEquals (customRole , messageWithRole .getMember ().getChannelRole ());
7982
8083 Assertions .assertNotNull (messageWithoutRole .getMember ());
81- Assertions .assertNull ( messageWithoutRole .getMember ().getRole ());
84+ Assertions .assertEquals ( "channel_member" , messageWithoutRole .getMember ().getChannelRole ());
8285
8386 // Retrieve the channel again and ensure both messages still carry the correct member role
8487 var channelState =
@@ -101,11 +104,12 @@ void whenSendingMessages_thenMemberRoleIsIncluded() {
101104
102105 Assertions .assertNotNull (storedWithRole );
103106 Assertions .assertNotNull (storedWithRole .getMember ());
104- Assertions .assertEquals (customRole , storedWithRole .getMember ().getRole ());
107+ Assertions .assertEquals (customRole , storedWithRole .getMember ().getChannelRole ());
105108
106109 Assertions .assertNotNull (storedWithoutRole );
107110 Assertions .assertNotNull (storedWithoutRole .getMember ());
108- Assertions .assertNull ( storedWithoutRole .getMember ().getRole ());
111+ Assertions .assertEquals ( "channel_member" , storedWithoutRole .getMember ().getChannelRole ());
109112 }
110113}
111114
115+
0 commit comments