public async Task DestroyRetweet_ReturnsQueryExecutorResultAsync() { // Arrange var controller = CreateTweetController(); var parameters = new DestroyRetweetParameters(42); var request = A.Fake <ITwitterRequest>(); var expectedResult = A.Fake <ITwitterResult <ITweetDTO> >(); A.CallTo(() => _fakeTweetQueryExecutor.DestroyRetweetAsync(parameters, request)).Returns(expectedResult); // Act var result = await controller.DestroyRetweetAsync(parameters, request); // Assert Assert.Equal(result, expectedResult); }
public void GetDestroyRetweetQuery_ReturnsExpectedQuery() { // Arrange var queryGenerator = CreateUserQueryGenerator(); var parameters = new DestroyRetweetParameters(42) { TrimUser = true, CustomQueryParameters = { new Tuple <string, string>("hello", "world") } }; // Act var result = queryGenerator.GetDestroyRetweetQuery(parameters, TweetMode.Extended); // Assert Assert.Equal(result, $"https://api.twitter.com/1.1/statuses/unretweet/42.json?trim_user=true&tweet_mode=extended&hello=world"); }
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); }