Nfield.Services.Implementation.NfieldSurveysService.SamplingPointsCountAsync C# (CSharp) Method

SamplingPointsCountAsync() public method

See INfieldSurveysService.SamplingPointsCountAsync
public SamplingPointsCountAsync ( string surveyId ) : Task
surveyId string
return Task
        public Task<int> SamplingPointsCountAsync(string surveyId)
        {
            string uri = $@"{SurveysApi.AbsoluteUri}{surveyId}/{SamplingPointsControllerName}/Count";

            return Client.GetAsync(uri)
                .ContinueWith(rm => int.Parse(rm.Result.Content.ReadAsStringAsync().Result))
                .FlattenExceptions();
        }

Usage Example

        public void TestSamplingPointsCountAsync_ServerReturnsCount_ReturnsNumberOfSamplingPointsForTheSurvey()
        {
            const string surveyId = "123";
            const int samplingPointCount = 5;
            var uri = $@"{ServiceAddress}surveys/{surveyId}/samplingpoints/Count";
            var mockedNfieldConnection = new Mock<INfieldConnectionClient>();
            var mockedHttpClient = CreateHttpClientMock(mockedNfieldConnection);
            mockedHttpClient
                .Setup(client => client.GetAsync(uri))
                .Returns(CreateTask(HttpStatusCode.OK, new StringContent(samplingPointCount.ToString())));
            var target = new NfieldSurveysService();
            target.InitializeNfieldConnection(mockedNfieldConnection.Object);

            var result = target.SamplingPointsCountAsync(surveyId).Result;

            Assert.Equal(samplingPointCount, result);
        }