public void TestAssignAsync_SurveyIdIsNull_Throws() { var target = new NfieldSamplingPointInterviewerAssignmentsService(); Assert.Throws <ArgumentNullException>(() => UnwrapAggregateException(target.AssignAsync(null, SamplingPointId, InterviewerId))); }
public void TestBatchUnassignAsync_ModelIsNull_Throws() { var target = new NfieldSamplingPointInterviewerAssignmentsService(); Assert.Throws <ArgumentNullException>(() => UnwrapAggregateException(target.AssignAsync(SurveyId, null))); }
public void TestQueryAsync_ServerReturnsQuery_ReturnsListWithAssignments() { var expectedAssignments = new[] { new InterviewerSamplingPointAssignmentModel { Active = false, Assigned = false, FirstName = "fn1", InterviewerId = "id1", LastName = "ln1", UserName = "******" }, new InterviewerSamplingPointAssignmentModel { Active = true, Assigned = true, FirstName = "fn2", InterviewerId = "id2", LastName = "ln2", UserName = "******" } }; var mockedNfieldConnection = new Mock <INfieldConnectionClient>(); var mockedHttpClient = CreateHttpClientMock(mockedNfieldConnection); mockedHttpClient.Setup(client => client.GetAsync(It.IsAny <Uri>())) .Returns(CreateTask(HttpStatusCode.OK, new StringContent(JsonConvert.SerializeObject(expectedAssignments)))); var target = new NfieldSamplingPointInterviewerAssignmentsService(); target.InitializeNfieldConnection(mockedNfieldConnection.Object); var actualAssignments = target.QueryAsync(SurveyId, SamplingPointId).Result; Assert.Equal(expectedAssignments[0].InterviewerId, actualAssignments.ToArray()[0].InterviewerId); Assert.Equal(expectedAssignments[1].InterviewerId, actualAssignments.ToArray()[1].InterviewerId); Assert.Equal(2, actualAssignments.Count()); }
public void TestQueryAsync_SamplingPointIdIsEmpty_Throws() { var target = new NfieldSamplingPointInterviewerAssignmentsService(); Assert.Throws <ArgumentException>(() => UnwrapAggregateException(target.QueryAsync(SurveyId, ""))); }
public void TestUnassignAsync_ServerAcceptsUnassign_ReturnsNoError() { var mockedNfieldConnection = new Mock <INfieldConnectionClient>(); var mockedHttpClient = CreateHttpClientMock(mockedNfieldConnection); mockedHttpClient.Setup(client => client.DeleteAsync(It.IsAny <Uri>())) .Returns(CreateTask(HttpStatusCode.OK)); var target = new NfieldSamplingPointInterviewerAssignmentsService(); target.InitializeNfieldConnection(mockedNfieldConnection.Object); target.UnassignAsync(SurveyId, SamplingPointId, InterviewerId).Wait(); mockedHttpClient.Verify(hc => hc.DeleteAsync( It.Is <Uri>(url => url.AbsolutePath.EndsWith("Surveys/" + SurveyId + "/SamplingPoints/" + SamplingPointId + "/Assignments/" + InterviewerId))), Times.Once()); }
public void TestBatchAssignAsync_ServerAcceptsAssign_ReturnsNoError() { var mockedNfieldConnection = new Mock <INfieldConnectionClient>(); var mockedHttpClient = CreateHttpClientMock(mockedNfieldConnection); mockedHttpClient.Setup(client => client.PostAsJsonAsync(It.IsAny <Uri>(), It.IsAny <SamplingPointInterviewerAssignmentsModel>())) .Returns(CreateTask(HttpStatusCode.OK)); var target = new NfieldSamplingPointInterviewerAssignmentsService(); target.InitializeNfieldConnection(mockedNfieldConnection.Object); var model = new SamplingPointInterviewerAssignmentsModel(); target.AssignAsync(SurveyId, model); mockedHttpClient.Verify(hc => hc.PostAsJsonAsync( It.Is <Uri>(url => url.AbsolutePath.EndsWith("Surveys/" + SurveyId + "/SamplingPointsAssignments")), It.Is <SamplingPointInterviewerAssignmentsModel>(m => m == model)), Times.Once()); }