public async Task ReportUserFromSpam_ReturnsFromUserQueryExecutor() { // Arrange var controller = CreateUserController(); var userDTO = A.Fake <IUserDTO>(); var parameters = new ReportUserForSpamParameters(userDTO); var request = A.Fake <ITwitterRequest>(); var expectedResult = A.Fake <ITwitterResult <IUserDTO> >(); A.CallTo(() => _fakeUserQueryExecutor.ReportUserForSpam(parameters, request)).Returns(expectedResult); // Act var result = await controller.ReportUserForSpam(parameters, request); // Assert Assert.Equal(result, expectedResult); }
public void ReportUserForSpamQuery_ReturnsExpectedQuery() { // Arrange var queryGenerator = CreateUserQueryGenerator(); var user = new UserIdentifier(42); var parameters = new ReportUserForSpamParameters(user) { PerformBlock = false, CustomQueryParameters = { new Tuple <string, string>("hello", "world") } }; // Act var result = queryGenerator.GetReportUserForSpamQuery(parameters); // Assert Assert.Equal(result, $"https://api.twitter.com/1.1/users/report_spam.json?user_id=42&perform_block=false&hello=world"); }
public async Task ReportUserForSpam_ReturnsUserDTOAsync() { // Arrange var queryExecutor = CreateUserQueryExecutor(); var url = TestHelper.GenerateString(); var parameters = new ReportUserForSpamParameters(42); var request = A.Fake <ITwitterRequest>(); var expectedResult = A.Fake <ITwitterResult <IUserDTO> >(); A.CallTo(() => _fakeUserQueryGenerator.GetReportUserForSpamQuery(parameters)).Returns(url); A.CallTo(() => _fakeTwitterAccessor.ExecuteRequestAsync <IUserDTO>(request)).Returns(expectedResult); // Act var result = await queryExecutor.ReportUserForSpamAsync(parameters, request); // Assert Assert.Equal(result, expectedResult); Assert.Equal(request.Query.Url, url); Assert.Equal(HttpMethod.POST, request.Query.HttpMethod); }