public System.Threading.Tasks.Task<SurveyPackage> GetSurveyPackageAsync(string surveyId, InterviewPackageType interviewPackageType) { ValidateParams(surveyId, interviewPackageType); return Client.GetAsync(SurveyPackageApi(surveyId, interviewPackageType).AbsoluteUri) .ContinueWith(task => task.Result.Content.ReadAsStringAsync().Result) .ContinueWith(task => JsonConvert.DeserializeObject<SurveyPackage>(task.Result)) .FlattenExceptions(); }
public void TestGetSurveyPackageAsync_ReturnsSurveyPackage() { var expectedPackage = new SurveyPackage() { SurveyName = "SurveyName" }; var mockedNfieldConnection = new Mock<INfieldConnectionClient>(); var mockedHttpClient = CreateHttpClientMock(mockedNfieldConnection); mockedHttpClient .Setup(client => client.GetAsync(ServiceAddress + "Surveys/" + SurveyId + "/Package/?type=" + InterviewPackageType.Live)) .Returns(CreateTask(HttpStatusCode.OK, new StringContent(JsonConvert.SerializeObject(expectedPackage)))); var target = new NfieldSurveyPackageService(); target.InitializeNfieldConnection(mockedNfieldConnection.Object); var actual = target.GetSurveyPackageAsync(SurveyId, InterviewPackageType.Live).Result; Assert.Equal(expectedPackage.SurveyName, actual.SurveyName); }