コード例 #1
0
        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(new Uri(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(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());
        }
コード例 #2
0
        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);
        }