Пример #1
0
        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 <Uri>(), 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(new Uri(ServiceAddress, "Surveys/" + SurveyId + "/Relocations"), It.IsAny <SurveyRelocation>()),
                Times.Once());
        }
Пример #2
0
        /// <summary>
        /// See <see cref="INfieldSurveyRelocationsService.UpdateAsync"/>
        /// </summary>
        public Task UpdateAsync(string surveyId, SurveyRelocation relocation)
        {
            CheckSurveyId(surveyId);

            if (relocation == null)
            {
                throw new ArgumentNullException(nameof(relocation));
            }

            return(Client.PutAsJsonAsync(RelocationsApi(surveyId), relocation)
                   .ContinueWith(task => task.Result.Content.ReadAsStringAsync().Result)
                   .ContinueWith(task => JsonConvert.DeserializeObject <SurveyRelocation>(task.Result))
                   .FlattenExceptions());
        }
Пример #3
0
        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(new Uri(ServiceAddress, "Surveys/" + SurveyId + "/Relocations"), relocation))
            .Returns(CreateTask(HttpStatusCode.OK, content));

            var target = new NfieldSurveyRelocationsService();

            target.InitializeNfieldConnection(mockedNfieldConnection.Object);

            // assert: no throw
            target.UpdateAsync(SurveyId, relocation).Wait();
        }