public CreateOrUpdateOnlineQuotaAsync ( string surveyId, QuotaFrame quotaFrame ) : Task |
||
surveyId | string | |
quotaFrame | QuotaFrame | |
Результат | Task |
public Task<QuotaFrame> CreateOrUpdateOnlineQuotaAsync(string surveyId, QuotaFrame quotaFrame)
{
string uri = string.Format(@"{0}{1}/{2}", SurveysApi.AbsoluteUri, surveyId, QuotaControllerName);
return Client.PutAsJsonAsync(uri, quotaFrame)
.ContinueWith(
responseMessageTask => responseMessageTask.Result.Content.ReadAsStringAsync().Result)
.ContinueWith(
stringTask => JsonConvert.DeserializeObject<QuotaFrame>(stringTask.Result))
.FlattenExceptions();
}
public void TestCreateOrUpdateOnlineQuotaAsync_ReturnsCorrectQuotaFrame() { const string surveyId = "surveyId"; const string uri = ServiceAddress + "surveys/" + surveyId + "/quota"; var quotaFrame = new QuotaFrame { Target = 10 }; var mockedNfieldConnection = new Mock<INfieldConnectionClient>(); var mockedHttpClient = CreateHttpClientMock(mockedNfieldConnection); mockedHttpClient .Setup(client => client.PutAsJsonAsync(uri, quotaFrame)) .Returns(CreateTask(HttpStatusCode.OK, new StringContent(JsonConvert.SerializeObject(quotaFrame)))); var target = new NfieldSurveysService(); target.InitializeNfieldConnection(mockedNfieldConnection.Object); var actualQuotaFrame = target.CreateOrUpdateOnlineQuotaAsync(surveyId, quotaFrame).Result; Assert.Equal(10, actualQuotaFrame.Target); }