public void TestUnassignAsync_ValidSurveyResponseCode_CallsCorrectUrl() { // Arrange const string surveyId = "surveyId"; const string interviewerId = "interviewerId"; var mockedNfieldConnection = new Mock<INfieldConnectionClient>(); var mockedHttpClient = CreateHttpClientMock(mockedNfieldConnection); mockedHttpClient.Setup(client => client.PutAsJsonAsync(It.IsAny<string>(), It.IsAny<SurveyInterviewerAssignmentChangeModel>())) .Returns(CreateTask(HttpStatusCode.OK)); var target = new NfieldSurveyInterviewerAssignmentsService(); target.InitializeNfieldConnection(mockedNfieldConnection.Object); // Act target.UnassignAsync(surveyId, interviewerId).Wait(); // Assert mockedHttpClient.Verify(hc => hc.PutAsJsonAsync( It.Is<string>(url => url.EndsWith("Surveys/" + surveyId + "/Assignment/")), It.Is<SurveyInterviewerAssignmentChangeModel>(model => model.InterviewerId == interviewerId && !model.Assign)), Times.Once()); }
public void TestUnassignAsync_SurveyIdIsNull_Throws() { var target = new NfieldSurveyInterviewerAssignmentsService(); Assert.Throws<ArgumentNullException>( () => UnwrapAggregateException(target.UnassignAsync(null, "interviewerId"))); }