public void TestAddAsync_ValidSurveyResponseCode_ReturnsAddedResponseCode() { // Arrange const string surveyId = "surveyId"; var mockedNfieldConnection = new Mock <INfieldConnectionClient>(); var mockedHttpClient = CreateHttpClientMock(mockedNfieldConnection); var responseCodeToAdd = new SurveyResponseCode { ResponseCode = 15, Description = "Description", IsDefinite = true, AllowAppointment = false }; mockedHttpClient.Setup(client => client.PostAsJsonAsync(It.IsAny <string>(), It.IsAny <SurveyResponseCode>())) .Returns(CreateTask(HttpStatusCode.OK, new StringContent(JsonConvert.SerializeObject(responseCodeToAdd)))); var target = new NfieldSurveyResponseCodesService(); target.InitializeNfieldConnection(mockedNfieldConnection.Object); // Act var result = target.AddAsync(surveyId, responseCodeToAdd).Result; // Assert Assert.Equal(responseCodeToAdd.ResponseCode, result.ResponseCode); Assert.Equal(responseCodeToAdd.Description, result.Description); Assert.Equal(responseCodeToAdd.IsDefinite, result.IsDefinite); Assert.Equal(responseCodeToAdd.AllowAppointment, result.AllowAppointment); Assert.Equal(responseCodeToAdd.IsSelectable, result.IsSelectable); }
public void TestAddAsync_ValidSurveyResponseCode_CallsCorrectUrl() { // Arrange const string surveyId = "surveyId"; var mockedNfieldConnection = new Mock <INfieldConnectionClient>(); var mockedHttpClient = CreateHttpClientMock(mockedNfieldConnection); var responseCodeToAdd = new SurveyResponseCode { ResponseCode = 15, Description = "Description", IsDefinite = true, AllowAppointment = false }; mockedHttpClient.Setup(client => client.PostAsJsonAsync(It.IsAny <string>(), It.IsAny <SurveyResponseCode>())) .Returns(CreateTask(HttpStatusCode.OK, new StringContent(JsonConvert.SerializeObject(new SurveyResponseCode())))); var target = new NfieldSurveyResponseCodesService(); target.InitializeNfieldConnection(mockedNfieldConnection.Object); // Act target.AddAsync(surveyId, responseCodeToAdd).Wait(); // Assert mockedHttpClient.Verify(hc => hc.PostAsJsonAsync(It.Is <string>(url => url.EndsWith("Surveys/" + surveyId + "/ResponseCodes/")), responseCodeToAdd), Times.Once()); }
public void TestAddAsync_SurveyIdIsEmptyString_Throws() { var target = new NfieldSurveyResponseCodesService(); Assert.Throws <ArgumentNullException>( () => UnwrapAggregateException(target.AddAsync(string.Empty, new SurveyResponseCode()))); }
public void TestAddAsync_SurveyResponseCodeIdIsNull_Throws() { var target = new NfieldSurveyResponseCodesService(); Assert.Throws <ArgumentNullException>(() => UnwrapAggregateException(target.AddAsync("surveyId", null))); }