public QueryAsync ( string surveyId, int languageId ) : Task |
||
surveyId | string | |
languageId | int | |
return | Task |
public void TestQueryAsync_SurveyIdIsNull_Throws() { var target = new NfieldTranslationsService(); Assert.Throws<ArgumentNullException>(() => UnwrapAggregateException(target.QueryAsync(null, 0))); }
public void TestQueryAsync_ServerReturnsQuery_ReturnsListWithTranslations() { var expectedTranslations = new Translation[] { new Translation{ Name = "X", Text = "Translation X" }, new Translation{ Name = "Y", Text = "Translation Y" } }; var mockedNfieldConnection = new Mock<INfieldConnectionClient>(); var mockedHttpClient = CreateHttpClientMock(mockedNfieldConnection); mockedHttpClient .Setup(client => client.GetAsync(ServiceAddress + "Surveys/" + SurveyId + "/Languages/10/Translations")) .Returns(CreateTask(HttpStatusCode.OK, new StringContent(JsonConvert.SerializeObject(expectedTranslations)))); var target = new NfieldTranslationsService(); target.InitializeNfieldConnection(mockedNfieldConnection.Object); var actualTranslations = target.QueryAsync(SurveyId, LanguageId).Result; Assert.Equal(expectedTranslations[0].Name, actualTranslations.ToArray()[0].Name); Assert.Equal(expectedTranslations[1].Name, actualTranslations.ToArray()[1].Name); Assert.Equal(2, actualTranslations.Count()); }