public void Setup() { _interaction = new Models.Interaction(); _interactionPatch = new Models.InteractionPatch(); _request = null; _log = new Mock <ILogger>(); _resourceHelper = new Mock <IResourceHelper>(); _validate = new Validate(); _httpRequestMessageHelper = new Mock <IHttpRequestHelper>(); _patchInteractionHttpTriggerService = new Mock <IPatchInteractionHttpTriggerService>(); _httpResponseMessageHelper = new HttpResponseMessageHelper(); _jsonHelper = new JsonHelper(); _function = new PatchInteractionHttpTrigger.Function.PatchInteractionHttpTrigger(_resourceHelper.Object, _httpRequestMessageHelper.Object, _patchInteractionHttpTriggerService.Object, _validate, _httpResponseMessageHelper, _jsonHelper); }
public async Task PatchInteractionHttpTrigger_ReturnsStatusCodeUnprocessableEntity_WhenInteractionHasFailedValidation() { // Arrange var validate = new Mock <IValidate>(); var validationResults = new List <ValidationResult> { new ValidationResult("interaction Id is Required") }; validate.Setup(x => x.ValidateResource(It.IsAny <Models.InteractionPatch>())).Returns(validationResults); _function = new PatchInteractionHttpTrigger.Function.PatchInteractionHttpTrigger(_resourceHelper.Object, _httpRequestMessageHelper.Object, _patchInteractionHttpTriggerService.Object, validate.Object, _httpResponseMessageHelper, _jsonHelper); _httpRequestMessageHelper.Setup(x => x.GetDssTouchpointId(_request)).Returns("0000000001"); _httpRequestMessageHelper.Setup(x => x.GetDssApimUrl(_request)).Returns("http://localhost:7071/"); _httpRequestMessageHelper.Setup(x => x.GetResourceFromRequest <Models.InteractionPatch>(_request)).Returns(Task.FromResult(_interactionPatch)); _resourceHelper.Setup(x => x.DoesCustomerExist(It.IsAny <Guid>())).Returns(Task.FromResult(true)); // Act var result = await RunFunction(ValidCustomerId, ValidInteractionId); // Assert Assert.IsInstanceOf <HttpResponseMessage>(result); Assert.AreEqual((HttpStatusCode)422, result.StatusCode); }