public async Task RemoveModeratorAsync_ByUserName_Test()
        {
            /* arrange */

            var addModeratorRequest = DisqusForumAddModeratorRequest
                                      .New(TestData.Forum, TestData.ModeratorUserName);

            var moderator = await Disqus.Forums
                            .AddModeratorAsync(DisqusAccessToken.Create(TestData.AccessToken), addModeratorRequest)
                            .ConfigureAwait(false);

            var request = DisqusForumRemoveModeratorRequest
                          .New()
                          .User(moderator.Response.User.Username);

            /* act */

            var response = await Disqus.Forums
                           .RemoveModeratorAsync(DisqusAccessToken.Create(TestData.AccessToken), request)
                           .ConfigureAwait(false);

            /* assert */

            Assert.That(response, Is.Not.Null);
            Assert.That(response.Code, Is.EqualTo(DisqusApiResponseCode.Success));
            Assert.That(response.Response.Id, Is.Null);
        }
        public async Task <DisqusResponse <DisqusId> > RemoveModeratorAsync(DisqusAccessToken accessToken,
                                                                            DisqusForumRemoveModeratorRequest request)
        {
            Collection <KeyValuePair <string, string> > parameters = Parameters
                                                                     .WithOptionalParameter("access_token", accessToken)
                                                                     .WithMultipleParameters(request.Parameters);

            return(await RequestProcessor
                   .ExecuteAsync <DisqusResponse <DisqusId> >(DisqusRequestMethod.Post,
                                                              DisqusEndpoints.Forums.RemoveModerator, parameters)
                   .ConfigureAwait(false));
        }