@@ -32,6 +32,28 @@ void whenRetrievingAMessage_thenIsRetrieved() {
3232 Assertions .assertTrue (retrievedMessage .getId ().equals (testMessage .getId ()));
3333 }
3434
35+ @ DisplayName ("Can send a message with restricted visibility" )
36+ @ Test
37+ void whenSendingMessageWithRestrictedVisibility_thenMessageHasRestrictedVisibility () {
38+ List <String > restrictedUsers = Arrays .asList (testUserRequestObject .getId ());
39+ MessageRequestObject messageRequest =
40+ MessageRequestObject .builder ()
41+ .text ("This is a restricted message" )
42+ .userId (testUserRequestObject .getId ())
43+ .restrictedVisibility (restrictedUsers )
44+ .build ();
45+
46+ Message restrictedMessage =
47+ Assertions .assertDoesNotThrow (
48+ () ->
49+ Message .send (testChannel .getType (), testChannel .getId ())
50+ .message (messageRequest )
51+ .request ()
52+ .getMessage ());
53+
54+ Assertions .assertEquals (restrictedUsers , restrictedMessage .getRestrictedVisibility ());
55+ }
56+
3557 @ DisplayName ("Can retrieve a deleted message" )
3658 @ Test
3759 void whenRetrievingADeletedMessage_thenIsRetrieved () {
@@ -71,6 +93,28 @@ void whenUpdatingAMessage_thenNoException() {
7193 Assertions .assertEquals (updatedText , updatedMessage .getText ());
7294 }
7395
96+ @ DisplayName ("Can update a message with restricted visibility" )
97+ @ Test
98+ void whenUpdatingAMessageWithRestrictedVisibility_thenNoException () {
99+ // Should not use testMessage to not modify it
100+ Message message = Assertions .assertDoesNotThrow (() -> sendTestMessage ());
101+ String updatedText = "This is an updated message" ;
102+ List <String > restrictedUsers = Arrays .asList (testUserRequestObject .getId ());
103+
104+ MessageRequestObject updatedMessageRequest =
105+ MessageRequestObject .builder ()
106+ .text (updatedText )
107+ .userId (testUserRequestObject .getId ())
108+ .restrictedVisibility (restrictedUsers )
109+ .build ();
110+ Message updatedMessage =
111+ Assertions .assertDoesNotThrow (
112+ () -> Message .update (message .getId ()).message (updatedMessageRequest ).request ())
113+ .getMessage ();
114+ Assertions .assertEquals (updatedText , updatedMessage .getText ());
115+ Assertions .assertEquals (restrictedUsers , updatedMessage .getRestrictedVisibility ());
116+ }
117+
74118 @ DisplayName ("Searching with query and message filter conditions throws an exception" )
75119 @ Test
76120 void givenQueryAndMessageFilterConditions_whenSearchingMessages_thenThrowException () {
@@ -663,6 +707,27 @@ void whenPartiallyUpdatingAMessage_thenIsUpdated() {
663707 Assertions .assertEquals (updatedText , updatedMessage .getText ());
664708 }
665709
710+ @ DisplayName ("Can partially update a message with restricted visibility" )
711+ @ Test
712+ void whenPartiallyUpdatingAMessageWithRestrictedVisibility_thenIsUpdated () {
713+ // Should not use testMessage to not modify it
714+ Message message = Assertions .assertDoesNotThrow (() -> sendTestMessage ());
715+ String updatedText = "This is an updated message" ;
716+ List <String > restrictedUsers = Arrays .asList (testUserRequestObject .getId ());
717+
718+ Message updatedMessage =
719+ Assertions .assertDoesNotThrow (
720+ () ->
721+ Message .partialUpdate (message .getId ())
722+ .setValue ("text" , updatedText )
723+ .setValue ("restricted_visibility" , restrictedUsers )
724+ .user (testUserRequestObject )
725+ .request ())
726+ .getMessage ();
727+ Assertions .assertEquals (updatedText , updatedMessage .getText ());
728+ Assertions .assertEquals (restrictedUsers , updatedMessage .getRestrictedVisibility ());
729+ }
730+
666731 @ DisplayName ("Can pin a message" )
667732 @ Test
668733 void whenPinningAMessage_thenIsPinned () {
0 commit comments