// Publish UnRetweet
        public Task <ITwitterResult <ITweetDTO> > DestroyRetweetAsync(IDestroyRetweetParameters parameters, ITwitterRequest request)
        {
            var query = _tweetQueryGenerator.GetDestroyRetweetQuery(parameters, request.ExecutionContext.TweetMode);

            request.Query.Url        = query;
            request.Query.HttpMethod = HttpMethod.POST;
            return(_twitterAccessor.ExecuteRequestAsync <ITweetDTO>(request));
        }
Example #2
0
        public async Task DestroyRetweet_ReturnsFavoritedTweetsAsync()
        {
            // Arrange
            var queryExecutor = CreateUserQueryExecutor();
            var expectedQuery = TestHelper.GenerateString();

            var parameters     = new DestroyRetweetParameters(42);
            var request        = A.Fake <ITwitterRequest>();
            var expectedResult = A.Fake <ITwitterResult <ITweetDTO> >();

            A.CallTo(() => _fakeTweetQueryGenerator.GetDestroyRetweetQuery(parameters, It.IsAny <TweetMode?>())).Returns(expectedQuery);
            A.CallTo(() => _fakeTwitterAccessor.ExecuteRequestAsync <ITweetDTO>(request)).Returns(expectedResult);

            // Act
            var result = await queryExecutor.DestroyRetweetAsync(parameters, request);

            // Assert
            Assert.Equal(result, expectedResult);
            Assert.Equal(request.Query.Url, expectedQuery);
            Assert.Equal(HttpMethod.POST, request.Query.HttpMethod);
        }