public async Task verify_that_we_handle_a_missing_change_object() { var mockAdapter = new Mock <IHubSpotAdapter>(); var json_no_crmid = "{ \"crmid\": \"012345\" }"; var func = new DequeueContactDiffs(mockAdapter.Object); await func.Run(json_no_crmid, _errorQueue, _logger); // We can handle a missing changes object without fuss Assert.Empty(_errorQueue.Items); }
public async Task verify_that_we_handle_invalid_change_object() { var mockAdapter = new Mock <IHubSpotAdapter>(); var json_no_crmid = "{ \"crmid\": \"012345\", \"changes\": 100 }"; // changes is not an array var func = new DequeueContactDiffs(mockAdapter.Object); await func.Run(json_no_crmid, _errorQueue, _logger); // We expect an exception to be thrown Assert.Single(_errorQueue.Items); var errMsg = _errorQueue.Items[0]; Assert.Contains("Exception", errMsg); Assert.Contains("not an array", errMsg); }
public async Task verify_that_we_handle_a_non_json_message() { var mockAdapter = new Mock <IHubSpotAdapter>(); var notJsonAtAll = "I am just a string"; var func = new DequeueContactDiffs(mockAdapter.Object); await func.Run(notJsonAtAll, _errorQueue, _logger); // We expect an exception to be thrown Assert.Single(_errorQueue.Items); var errMsg = _errorQueue.Items[0]; Assert.Contains("Exception", errMsg); Assert.Contains("deserialising message text", errMsg); }
public async Task verify_that_we_handle_no_crmid() { var mockAdapter = new Mock <IHubSpotAdapter>(); var json_no_crmid = "{ \"msg\": \"no crmid here\" }"; var func = new DequeueContactDiffs(mockAdapter.Object); await func.Run(json_no_crmid, _errorQueue, _logger); // We expect an exception to be thrown Assert.Single(_errorQueue.Items); var errMsg = _errorQueue.Items[0]; Assert.Contains("Exception", errMsg); Assert.Contains("crmid not found", errMsg); }
public async Task verify_that_we_handle_some_changes() { var mockAdapter = new Mock <IHubSpotAdapter>(); var desiredResult = new HubSpotContactResult(HttpStatusCode.OK); mockAdapter.Setup(p => p.UpdateContactDetailsAsync( "012345", It.IsAny <HubSpotContactProperties>(), It.IsAny <ILogger>(), It.IsAny <bool>())).ReturnsAsync(desiredResult); var json_no_crmid = "{ \"crmid\": \"012345\", \"changes\": [{\"name\": \"Street Address\", \"value\": \"18 Example Place\"},{\"name\": \"Phone\", \"value\": \"0451443455\"}] }"; var func = new DequeueContactDiffs(mockAdapter.Object); await func.Run(json_no_crmid, _errorQueue, _logger); // We can handle a missing changes object without fuss Assert.Empty(_errorQueue.Items); }