@@ -172,6 +172,46 @@ public async Task TestUpdateMessage()
172
172
Assert . AreEqual ( "stuff" , updatedMessage . GetData < string > ( "new" ) ) ;
173
173
}
174
174
175
+ [ Test ]
176
+ public async Task TestUpdateMessagePartial ( )
177
+ {
178
+ var user1 = new User ( )
179
+ {
180
+ ID = Guid . NewGuid ( ) . ToString ( ) ,
181
+ Role = Role . Admin ,
182
+ } ;
183
+
184
+ await this . _client . Users . Upsert ( user1 ) ;
185
+
186
+ var channel = this . _client . Channel ( "messaging" , Guid . NewGuid ( ) . ToString ( ) ) ;
187
+ await channel . Create ( user1 . ID , new string [ ] { user1 . ID } ) ;
188
+
189
+ var initialMsg = new MessageInput
190
+ {
191
+ Text = Guid . NewGuid ( ) . ToString ( )
192
+ } ;
193
+ initialMsg . SetData ( "foo" , "barsky" ) ;
194
+ initialMsg . SetData ( "bar" , "baz" ) ;
195
+
196
+ var msg = await channel . SendMessage ( initialMsg , user1 . ID ) ;
197
+
198
+ var resp = await _client . UpdateMessagePartial ( msg . ID , new MessagePartialUpdateRequest
199
+ {
200
+ UserId = user1 . ID ,
201
+ Set = new Dictionary < string , object >
202
+ {
203
+ { "foo" , "new" }
204
+ } ,
205
+ Unset = new List < string > { "bar" } ,
206
+ } ) ;
207
+
208
+ Assert . AreEqual ( msg . ID , resp . Message . ID ) ;
209
+ Assert . AreEqual ( msg . Text , resp . Message . Text ) ;
210
+ Assert . NotNull ( resp . Duration ) ;
211
+ Assert . AreEqual ( resp . Message . GetData < string > ( "foo" ) , "new" ) ;
212
+ Assert . IsNull ( resp . Message . GetData < string > ( "bar" ) ) ;
213
+ }
214
+
175
215
[ Test ]
176
216
public async Task TestGetMessage ( )
177
217
{
0 commit comments