Nfield.Services.Implementation.NfieldSurveyPackageService.GetSurveyPackageAsync C# (CSharp) Method

GetSurveyPackageAsync() public method

public GetSurveyPackageAsync ( string surveyId, InterviewPackageType interviewPackageType ) : System.Threading.Tasks.Task
surveyId string
interviewPackageType InterviewPackageType
return System.Threading.Tasks.Task
        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();
        }

Usage Example

        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);
        }
All Usage Examples Of Nfield.Services.Implementation.NfieldSurveyPackageService::GetSurveyPackageAsync