public void TestAddAsync_ValidSurveyResponseCode_CallsCorrectUrl() { // Arrange const string surveyId = "surveyId"; const string interviewerId = "interviewerId"; var mockedNfieldConnection = new Mock<INfieldConnectionClient>(); var mockedHttpClient = CreateHttpClientMock(mockedNfieldConnection); mockedHttpClient.Setup(client => client.PostAsJsonAsync(It.IsAny<string>(), It.IsAny<SurveyInterviewerAddModel>())) .Returns(CreateTask(HttpStatusCode.OK)); var target = new NfieldSurveyInterviewersService(); target.InitializeNfieldConnection(mockedNfieldConnection.Object); // Act target.AddAsync(surveyId, interviewerId).Wait(); // Assert mockedHttpClient.Verify(hc => hc.PostAsJsonAsync( It.Is<string>(url => url.EndsWith("Surveys/" + surveyId + "/Interviewers/")), It.Is<SurveyInterviewerAddModel>(model => model.InterviewerId == interviewerId)), Times.Once()); }
public void TestAddAsync_SurveyIdIsNull_Throws() { var target = new NfieldSurveyInterviewersService(); Assert.Throws<ArgumentNullException>( () => UnwrapAggregateException(target.AddAsync(null, "interviewerId"))); }