public OnlineQuotaQueryAsync ( string surveyId ) : Task |
||
surveyId | string | |
Résultat | Task |
public Task<QuotaFrame> OnlineQuotaQueryAsync(string surveyId)
{
string uri = string.Format(@"{0}{1}/{2}", SurveysApi.AbsoluteUri, surveyId, QuotaControllerName);
return Client.GetAsync(uri)
.ContinueWith(
responseMessageTask => responseMessageTask.Result.Content.ReadAsStringAsync().Result)
.ContinueWith(
stringTask =>
JsonConvert.DeserializeObject<QuotaFrame>(stringTask.Result))
.FlattenExceptions();
}
public void TestOnlineQuotaQueryAsync_ServerReturnsQuery_ReturnsAppropriateQuota() { var quotaFrame = new QuotaFrame { Target = 10 }; var mockedNfieldConnection = new Mock<INfieldConnectionClient>(); var mockedHttpClient = CreateHttpClientMock(mockedNfieldConnection); mockedHttpClient .Setup(client => client.GetAsync(ServiceAddress + "surveys/1/quota")) .Returns(CreateTask(HttpStatusCode.OK, new StringContent(JsonConvert.SerializeObject(quotaFrame)))); var target = new NfieldSurveysService(); target.InitializeNfieldConnection(mockedNfieldConnection.Object); var actualQuotaFrame = target.OnlineQuotaQueryAsync("1").Result; mockedHttpClient.Verify(hc => hc.GetAsync(It.IsAny<string>()), Times.Once()); Assert.Equal(quotaFrame.Target, actualQuotaFrame.Target); }