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);
        }