public AddAsync ( string surveyId, Language language ) : Task |
||
surveyId | string | |
language | Language | |
리턴 | Task |
public Task<Language> AddAsync(string surveyId, Language language)
{
CheckSurveyId(surveyId);
if (language == null)
{
throw new ArgumentNullException("language");
}
return Client.PostAsJsonAsync(LanguagesApi(surveyId, 0).AbsoluteUri, language)
.ContinueWith(task => task.Result.Content.ReadAsStringAsync().Result)
.ContinueWith(task => JsonConvert.DeserializeObject<Language>(task.Result))
.FlattenExceptions();
}
public void TestAddAsync_ServerAcceptsLanguage_ReturnsLanguage() { var language = new Language { Name = "Language X" }; var mockedNfieldConnection = new Mock<INfieldConnectionClient>(); var mockedHttpClient = CreateHttpClientMock(mockedNfieldConnection); var content = new StringContent(JsonConvert.SerializeObject(language)); mockedHttpClient .Setup(client => client.PostAsJsonAsync(ServiceAddress + "Surveys/" + SurveyId + "/Languages", language)) .Returns(CreateTask(HttpStatusCode.OK, content)); var target = new NfieldLanguagesService(); target.InitializeNfieldConnection(mockedNfieldConnection.Object); var actual = target.AddAsync(SurveyId, language).Result; Assert.Equal(language.Name, actual.Name); }