public void GetResponseOverviewIsDeserialised() { var client = new MockWebClient(); client.Responses.Add(@" {""total_time"":8,""href"":""https:\/\/api.surveymonkey.net\/v3\/collectors\/91395530\/responses\/4968420283"",""custom_variables"":{},""ip_address"":""18.187.48.612"",""id"":""4968420283"",""logic_path"":{},""date_modified"":""2016-09-13T07:29:09+00:00"",""response_status"":""completed"",""custom_value"":"""",""analyze_url"":""http:\/\/www.surveymonkey.com\/analyze\/browse\/9GyriWHWhcPYK8l_2FdYdcIEvqmtt5hBjuRL79fS2mOFI_3D?respondent_id=4968420283"",""page_path"":[],""recipient_id"":"""",""collector_id"":""91395530"",""date_created"":""2016-09-13T07:29:01+00:00"",""survey_id"":""84672934"",""collection_mode"":""default"",""edit_url"":""http:\/\/www.surveymonkey.com\/r\/?sm=db1E_2B5FvGitK17_2F_2F8_2Blnhcl_2BCTwKHT5dPY9EBCDJmi8tUeGDo34qJJ5CuL7ceRS7"",""metadata"":{}} "); var api = new SurveyMonkeyApi("TestApiKey", "TestOAuthToken", client); var result = api.GetCollectorResponseDetails(84672934, 4968420283); Assert.AreEqual(@"http://www.surveymonkey.com/analyze/browse/9GyriWHWhcPYK8l_2FdYdcIEvqmtt5hBjuRL79fS2mOFI_3D?respondent_id=4968420283", result.AnalyzeUrl); Assert.AreEqual(CollectionMode.Default, result.CollectionMode); Assert.AreEqual(91395530, result.CollectorId); Assert.AreEqual(String.Empty, result.CustomValue); Assert.IsEmpty(result.CustomVariables); Assert.AreEqual(new DateTime(2016, 9, 13, 07, 29, 01, DateTimeKind.Utc), result.DateCreated); Assert.AreEqual(new DateTime(2016, 9, 13, 07, 29, 09, DateTimeKind.Utc), result.DateModified); Assert.AreEqual(@"http://www.surveymonkey.com/r/?sm=db1E_2B5FvGitK17_2F_2F8_2Blnhcl_2BCTwKHT5dPY9EBCDJmi8tUeGDo34qJJ5CuL7ceRS7", result.EditUrl); Assert.AreEqual(@"https://api.surveymonkey.net/v3/collectors/91395530/responses/4968420283", result.Href); Assert.AreEqual(4968420283, result.Id); Assert.AreEqual("18.187.48.612", result.IpAddress); Assert.IsEmpty(result.LogicPath); Assert.IsEmpty(result.Metadata); Assert.IsEmpty(result.PagePath); Assert.IsNull(result.RecipientId); Assert.AreEqual(ResponseStatus.Completed, result.ResponseStatus); Assert.AreEqual(84672934, result.SurveyId); Assert.AreEqual(8, result.TotalTime); Assert.IsNull(result.Pages); }
public void GetResponseListUrlsAreCorrectlyGenerated() { var standardListResponse = @"{""per_page"":50,""total"":3,""data"":[{""href"":""https:\/\/api.surveymonkey.net\/v3\/collectors\/91395530\/responses\/4968420283"",""id"":""4968420283""},{""href"":""https:\/\/api.surveymonkey.net\/v3\/collectors\/91395530\/responses\/4968420510"",""id"":""4968420510""},{""href"":""https:\/\/api.surveymonkey.net\/v3\/collectors\/91395530\/responses\/4968420845"",""id"":""4968420845""}],""page"":1,""links"":{""self"":""https:\/\/api.surveymonkey.net\/v3\/collectors\/91395530\/responses?page=1&per_page=50""}}"; var standardIndividualResponse = @"{""total_time"":8,""href"":""https:\/\/api.surveymonkey.net\/v3\/collectors\/91395530\/responses\/4968420283"",""custom_variables"":{},""ip_address"":""18.187.48.612"",""id"":""4968420283"",""logic_path"":{},""date_modified"":""2016-09-13T07:29:09+00:00"",""response_status"":""completed"",""custom_value"":"""",""analyze_url"":""http:\/\/www.surveymonkey.com\/analyze\/browse\/9GyriWHWhcPYK8l_2FdYdcIEvqmtt5hBjuRL79fS2mOFI_3D?respondent_id=4968420283"",""page_path"":[],""recipient_id"":"""",""collector_id"":""91395530"",""date_created"":""2016-09-13T07:29:01+00:00"",""survey_id"":""84672934"",""collection_mode"":""default"",""edit_url"":""http:\/\/www.surveymonkey.com\/r\/?sm=db1E_2B5FvGitK17_2F_2F8_2Blnhcl_2BCTwKHT5dPY9EBCDJmi8tUeGDo34qJJ5CuL7ceRS7"",""metadata"":{}}"; var client = new MockWebClient(); client.Responses.Add(standardListResponse); client.Responses.Add(standardListResponse); client.Responses.Add(standardListResponse); client.Responses.Add(standardListResponse); client.Responses.Add(standardListResponse); client.Responses.Add(standardListResponse); client.Responses.Add(standardListResponse); client.Responses.Add(standardListResponse); client.Responses.Add(standardIndividualResponse); client.Responses.Add(standardIndividualResponse); client.Responses.Add(standardIndividualResponse); client.Responses.Add(standardIndividualResponse); var api = new SurveyMonkeyApi("TestApiKey", "TestOAuthToken", client); api.GetSurveyResponseDetailsList(1); Assert.AreEqual(@"https://api.surveymonkey.net/v3/surveys/1/responses/bulk", client.Requests.Last().Url); api.GetCollectorResponseDetailsList(2); Assert.AreEqual(@"https://api.surveymonkey.net/v3/collectors/2/responses/bulk", client.Requests.Last().Url); api.GetSurveyResponseOverviewList(3); Assert.AreEqual(@"https://api.surveymonkey.net/v3/surveys/3/responses", client.Requests.Last().Url); api.GetCollectorResponseOverviewList(4); Assert.AreEqual(@"https://api.surveymonkey.net/v3/collectors/4/responses", client.Requests.Last().Url); api.GetSurveyResponseDetailsList(5, new GetResponseListSettings()); Assert.AreEqual(@"https://api.surveymonkey.net/v3/surveys/5/responses/bulk", client.Requests.Last().Url); api.GetCollectorResponseDetailsList(6, new GetResponseListSettings()); Assert.AreEqual(@"https://api.surveymonkey.net/v3/collectors/6/responses/bulk", client.Requests.Last().Url); api.GetSurveyResponseOverviewList(7, new GetResponseListSettings()); Assert.AreEqual(@"https://api.surveymonkey.net/v3/surveys/7/responses", client.Requests.Last().Url); api.GetCollectorResponseOverviewList(8, new GetResponseListSettings()); Assert.AreEqual(@"https://api.surveymonkey.net/v3/collectors/8/responses", client.Requests.Last().Url); api.GetSurveyResponseDetails(9, 10); Assert.AreEqual(@"https://api.surveymonkey.net/v3/surveys/9/responses/10/details", client.Requests.Last().Url); api.GetCollectorResponseDetails(11, 12); Assert.AreEqual(@"https://api.surveymonkey.net/v3/collectors/11/responses/12/details", client.Requests.Last().Url); api.GetSurveyResponseOverview(13, 14); Assert.AreEqual(@"https://api.surveymonkey.net/v3/surveys/13/responses/14", client.Requests.Last().Url); api.GetCollectorResponseOverview(15, 16); Assert.AreEqual(@"https://api.surveymonkey.net/v3/collectors/15/responses/16", client.Requests.Last().Url); }