public void TestPutAsync_Always_CallsCorrectURI() { var relocation = new SurveyRelocation { Reason = "reason X", Url = "url X" }; var mockedNfieldConnection = new Mock<INfieldConnectionClient>(); var mockedHttpClient = CreateHttpClientMock(mockedNfieldConnection); mockedHttpClient .Setup(client => client.PutAsJsonAsync(It.IsAny<string>(), It.IsAny<SurveyRelocation>())) .Returns(CreateTask(HttpStatusCode.OK, new StringContent(JsonConvert.SerializeObject(It.IsAny<SurveyRelocation>())))); var target = new NfieldSurveyRelocationsService(); target.InitializeNfieldConnection(mockedNfieldConnection.Object); target.UpdateAsync(SurveyId, relocation).Wait(); mockedHttpClient .Verify( client => client.PutAsJsonAsync(ServiceAddress + "Surveys/" + SurveyId + "/Relocations", It.IsAny<SurveyRelocation>()), Times.Once()); }
public void TestQueryAsync_ServerReturnsQuery_ReturnsListWithRelocations() { var expectedRelocationss = new [] { new SurveyRelocation { Reason = "reason X", Url = "url X"}, new SurveyRelocation { Reason = "reason Y", Url = "url Y"} }; var mockedNfieldConnection = new Mock<INfieldConnectionClient>(); var mockedHttpClient = CreateHttpClientMock(mockedNfieldConnection); mockedHttpClient .Setup(client => client.GetAsync(ServiceAddress + "Surveys/" + SurveyId + "/Relocations")) .Returns(CreateTask(HttpStatusCode.OK, new StringContent(JsonConvert.SerializeObject(expectedRelocationss)))); var target = new NfieldSurveyRelocationsService(); target.InitializeNfieldConnection(mockedNfieldConnection.Object); var actualRelocations = target.QueryAsync(SurveyId).Result.ToArray(); ; Assert.Equal(expectedRelocationss[0].Reason, actualRelocations[0].Reason); Assert.Equal(expectedRelocationss[0].Url, actualRelocations[0].Url); Assert.Equal(expectedRelocationss[1].Reason, actualRelocations[1].Reason); Assert.Equal(expectedRelocationss[1].Url, actualRelocations[1].Url); Assert.Equal(2, actualRelocations.Length); }
public void TestQueryAsync_SurveyIdIsEmpty_Throws() { var target = new NfieldSurveyRelocationsService(); Assert.Throws<ArgumentException>(() => UnwrapAggregateException(target.QueryAsync(""))); }
public void TestUpdateAsync_SurveyIdIsNull_Throws() { var target = new NfieldSurveyRelocationsService(); Assert.Throws<ArgumentNullException>(() => UnwrapAggregateException(target.UpdateAsync(null, new SurveyRelocation()))); }
public void TestUpdateAsync_ServerAcceptsRelocations_ReturnsOk() { var relocation = new SurveyRelocation {Reason = "reason X", Url = "url X"}; var mockedNfieldConnection = new Mock<INfieldConnectionClient>(); var mockedHttpClient = CreateHttpClientMock(mockedNfieldConnection); var content = new StringContent(JsonConvert.SerializeObject(relocation)); mockedHttpClient .Setup( client => client.PutAsJsonAsync(ServiceAddress + "Surveys/" + SurveyId + "/Relocations", relocation)) .Returns(CreateTask(HttpStatusCode.OK, content)); var target = new NfieldSurveyRelocationsService(); target.InitializeNfieldConnection(mockedNfieldConnection.Object); Assert.DoesNotThrow(() => target.UpdateAsync(SurveyId, relocation).Wait()); }