@@ -271,5 +271,83 @@ public async Task TestRunCommandActionAsync()
271271
272272 commandResp . Message . Command . Should ( ) . BeEquivalentTo ( "giphy" ) ;
273273 }
274+
275+ [ Test ]
276+ public async Task TestSendMessageWithRestrictedVisibilityAsync ( )
277+ {
278+ var messageText = Guid . NewGuid ( ) . ToString ( ) ;
279+ var restrictedToUsers = new [ ] { _user . Id } ;
280+
281+ var messageRequest = new MessageRequest
282+ {
283+ Text = messageText ,
284+ Type = MessageRequestType . Regular ,
285+ RestrictedVisibility = restrictedToUsers ,
286+ } ;
287+
288+ var msgResp = await _messageClient . SendMessageAsync ( _channel . Type , _channel . Id , messageRequest , _user . Id ) ;
289+
290+ var channel = await _channelClient . GetOrCreateAsync ( _channel . Type , _channel . Id , new ChannelGetRequest { Watch = false , State = true } ) ;
291+ var actualMsg = channel . Messages . First ( m => m . Id == msgResp . Message . Id ) ;
292+
293+ actualMsg . User . Id . Should ( ) . BeEquivalentTo ( _user . Id ) ;
294+ actualMsg . Text . Should ( ) . BeEquivalentTo ( messageText ) ;
295+ actualMsg . RestrictedVisibility . Should ( ) . BeEquivalentTo ( restrictedToUsers ) ;
296+ }
297+
298+ [ Test ]
299+ public async Task TestUpdateMessageWithRestrictedVisibilityAsync ( )
300+ {
301+ var originalText = Guid . NewGuid ( ) . ToString ( ) ;
302+ var messageRequest = new MessageRequest
303+ {
304+ Text = originalText ,
305+ Type = MessageRequestType . Regular ,
306+ } ;
307+
308+ var msgResp = await _messageClient . SendMessageAsync ( _channel . Type , _channel . Id , messageRequest , _user . Id ) ;
309+
310+ var updatedText = Guid . NewGuid ( ) . ToString ( ) ;
311+ var restrictedToUsers = new [ ] { _user . Id } ;
312+
313+ var updated = await _messageClient . UpdateMessageAsync ( new MessageRequest
314+ {
315+ Id = msgResp . Message . Id ,
316+ Text = updatedText ,
317+ UserId = _user . Id ,
318+ RestrictedVisibility = restrictedToUsers ,
319+ } ) ;
320+
321+ updated . Message . Text . Should ( ) . BeEquivalentTo ( updatedText ) ;
322+ updated . Message . RestrictedVisibility . Should ( ) . BeEquivalentTo ( restrictedToUsers ) ;
323+ updated . Message . User . Id . Should ( ) . BeEquivalentTo ( _user . Id ) ;
324+ }
325+
326+ [ Test ]
327+ public async Task TestUpdateMessagePartialWithRestrictedVisibilityAsync ( )
328+ {
329+ var messageText = Guid . NewGuid ( ) . ToString ( ) ;
330+ var messageRequest = new MessageRequest
331+ {
332+ Text = messageText ,
333+ Type = MessageRequestType . Regular ,
334+ } ;
335+
336+ var msgResp = await _messageClient . SendMessageAsync ( _channel . Type , _channel . Id , messageRequest , _user . Id ) ;
337+
338+ var restrictedToUsers = new [ ] { _user . Id } ;
339+ var resp = await _messageClient . UpdateMessagePartialAsync ( msgResp . Message . Id , new MessagePartialUpdateRequest
340+ {
341+ UserId = _user . Id ,
342+ Set = new Dictionary < string , object >
343+ {
344+ { "restricted_visibility" , restrictedToUsers } ,
345+ } ,
346+ } ) ;
347+
348+ resp . Message . RestrictedVisibility . Should ( ) . BeEquivalentTo ( restrictedToUsers ) ;
349+ resp . Message . Text . Should ( ) . BeEquivalentTo ( messageText ) ;
350+ resp . Message . User . Id . Should ( ) . BeEquivalentTo ( _user . Id ) ;
351+ }
274352 }
275353}
0 commit comments