public void TestQueryAsync_ServerReturnsQuery_ReturnsListWithFieldworkOffices() { const HttpStatusCode httpStatusCode = HttpStatusCode.NotFound; var expectedFieldworkOffices = new FieldworkOffice[] { new FieldworkOffice{OfficeId = "TestOfficeId"}, new FieldworkOffice{OfficeId = "AnotherTestOfficeId"} }; var mockedNfieldConnection = new Mock<INfieldConnectionClient>(); var mockedHttpClient = new Mock<INfieldHttpClient>(); mockedHttpClient .Setup(client => client.GetAsync(ServiceAddress + "offices/")) .Returns( Task.Factory.StartNew( () => new HttpResponseMessage(httpStatusCode) { Content = new StringContent(JsonConvert.SerializeObject(expectedFieldworkOffices)) })); mockedNfieldConnection .SetupGet(connection => connection.Client) .Returns(mockedHttpClient.Object); mockedNfieldConnection .SetupGet(connection => connection.NfieldServerUri) .Returns(new Uri(ServiceAddress)); var target = new NfieldFieldworkOfficesService(); target.InitializeNfieldConnection(mockedNfieldConnection.Object); var actualFieldworkOffices = target.QueryAsync().Result; Assert.Equal(expectedFieldworkOffices[0].OfficeId, actualFieldworkOffices.ToArray()[0].OfficeId); Assert.Equal(expectedFieldworkOffices[1].OfficeId, actualFieldworkOffices.ToArray()[1].OfficeId); Assert.Equal(2, actualFieldworkOffices.Count()); }
public void TestSamplingPointAddAsync_ServerAcceptsSamplingPoint_ReturnsSamplingPoint() { const string samplingPointGroupId = "MyGroupId"; var office = new FieldworkOffice { OfficeId = "OfficeId" }; var survey = new Survey(SurveyType.Basic) { SurveyId = "SurveyId" }; var samplingPoint = new SamplingPoint { SamplingPointId = "SamplingPointId", FieldworkOfficeId = office.OfficeId, GroupId = samplingPointGroupId }; var mockedNfieldConnection = new Mock<INfieldConnectionClient>(); var mockedHttpClient = CreateHttpClientMock(mockedNfieldConnection); var content = new StringContent(JsonConvert.SerializeObject(samplingPoint)); mockedHttpClient .Setup( client => client.PostAsJsonAsync( string.Format("{0}surveys/{1}/samplingpoints", ServiceAddress, survey.SurveyId), samplingPoint)) .Returns(CreateTask(HttpStatusCode.OK, content)); var target = new NfieldSurveysService(); target.InitializeNfieldConnection(mockedNfieldConnection.Object); var actual = target.SamplingPointAddAsync(survey.SurveyId, samplingPoint).Result; Assert.Equal(samplingPoint.SamplingPointId, actual.SamplingPointId); Assert.Equal(samplingPoint.FieldworkOfficeId, actual.FieldworkOfficeId); Assert.Equal(samplingPoint.GroupId, actual.GroupId); }