@@ -286,4 +286,52 @@ public async Task CantRateProfileCommentWithInvalidRating(string rawRating)
286286 Assert . That ( response . IsSuccessStatusCode , Is . False ) ;
287287 Assert . That ( context . Database . GetProfileCommentRatingByUser ( comment , rater ) , Is . Null ) ;
288288 }
289+
290+ [ Test ]
291+ public async Task DeletesProfileCommentsByPublisherUuidAndName ( )
292+ {
293+ using TestContext context = this . GetServer ( ) ;
294+ GameUser mod = context . CreateUser ( role : GameUserRole . Moderator ) ;
295+ GameUser publisher = context . CreateUser ( role : GameUserRole . User ) ;
296+ GameUser profile = context . CreateUser ( role : GameUserRole . User ) ;
297+ HttpClient client = context . GetAuthenticatedClient ( TokenType . Api , mod ) ;
298+
299+ // UUID
300+ context . Database . PostCommentToProfile ( profile , publisher , "you stink" ) ;
301+ Assert . That ( context . Database . GetTotalCommentsForProfile ( profile ) , Is . EqualTo ( 1 ) ) ; // TODO: Actually check number of comments by publisher
302+ HttpResponseMessage resetResponse = await client . DeleteAsync ( $ "/api/v3/admin/users/uuid/{ publisher . UserId } /comments/profile") ;
303+ Assert . That ( resetResponse . IsSuccessStatusCode , Is . True ) ;
304+ Assert . That ( context . Database . GetTotalCommentsForProfile ( profile ) , Is . Zero ) ;
305+
306+ // name
307+ context . Database . PostCommentToProfile ( profile , publisher , "you stink" ) ;
308+ Assert . That ( context . Database . GetTotalCommentsForProfile ( profile ) , Is . EqualTo ( 1 ) ) ;
309+ resetResponse = await client . DeleteAsync ( $ "/api/v3/admin/users/name/{ publisher . Username } /comments/profile") ;
310+ Assert . That ( resetResponse . IsSuccessStatusCode , Is . True ) ;
311+ Assert . That ( context . Database . GetTotalCommentsForProfile ( profile ) , Is . Zero ) ;
312+ }
313+
314+ [ Test ]
315+ public async Task DeletesLevelCommentsByPublisherUuidAndName ( )
316+ {
317+ using TestContext context = this . GetServer ( ) ;
318+ GameUser mod = context . CreateUser ( role : GameUserRole . Moderator ) ;
319+ GameLevel level = context . CreateLevel ( mod ) ;
320+ GameUser publisher = context . CreateUser ( role : GameUserRole . User ) ;
321+ HttpClient client = context . GetAuthenticatedClient ( TokenType . Api , mod ) ;
322+
323+ // UUID
324+ context . Database . PostCommentToLevel ( level , publisher , "you stink" ) ;
325+ Assert . That ( context . Database . GetTotalCommentsForLevel ( level ) , Is . EqualTo ( 1 ) ) ; // TODO: Actually check number of comments by publisher
326+ HttpResponseMessage resetResponse = await client . DeleteAsync ( $ "/api/v3/admin/users/uuid/{ publisher . UserId } /comments/level") ;
327+ Assert . That ( resetResponse . IsSuccessStatusCode , Is . True ) ;
328+ Assert . That ( context . Database . GetTotalCommentsForLevel ( level ) , Is . Zero ) ;
329+
330+ // name
331+ context . Database . PostCommentToLevel ( level , publisher , "you stink" ) ;
332+ Assert . That ( context . Database . GetTotalCommentsForLevel ( level ) , Is . EqualTo ( 1 ) ) ;
333+ resetResponse = await client . DeleteAsync ( $ "/api/v3/admin/users/name/{ publisher . Username } /comments/level") ;
334+ Assert . That ( resetResponse . IsSuccessStatusCode , Is . True ) ;
335+ Assert . That ( context . Database . GetTotalCommentsForLevel ( level ) , Is . Zero ) ;
336+ }
289337}
0 commit comments