 
         it "should set errors for headers and no errors for body in request and response", () ->
           hitValidation.validate()
+
           assert.isUndefined hitValidation.hit.request.validationResults.body
           assert.isDefined hitValidation.hit.request.validationResults.headers
+          assert.isDefined hitValidation.hit.request.validationResults.headers['header2']
           assert.isUndefined hitValidation.hit.response.validationResults.body
           assert.isDefined hitValidation.hit.response.validationResults.headers
+          assert.isDefined hitValidation.hit.response.validationResults.headers['header2']
+
+      describe 'when value is missing in array in body', ->
+        before ->
+          params =  {
+          req_body_defined:     fixtures.sampleJson,
+          req_headers_defined:  fixtures.sampleHeaders,
+          req_body_real:        fixtures.sampleJsonArrayItemMissing,
+          req_headers_real:     fixtures.sampleHeaders,
+          res_body_defined:     fixtures.sampleJson,
+          res_headers_defined:  fixtures.sampleHeaders,
+          res_body_real:        fixtures.sampleJsonArrayItemMissing,
+          res_headers_real:     fixtures.sampleHeaders
+          }
+          hit = get_hit params
+          hitValidation = new HitValidation hit
+
+        it "should set errors for body in request and response", () ->
+          hitValidation.validate()
+
+          assert.isDefined hitValidation.hit.request.validationResults.body
+          assert.isDefined hitValidation.hit.request.validationResults.body['array_of_mixed_simple_types[3]']
+          assert.isUndefined hitValidation.hit.request.validationResults.headers
+          assert.isDefined hitValidation.hit.response.validationResults.body
+          assert.isDefined hitValidation.hit.response.validationResults.body['array_of_mixed_simple_types[3]']
+          assert.isUndefined hitValidation.hit.response.validationResults.headers
+
+      describe 'when value is added to array in body', ->
+        before ->
+          params =  {
+          req_body_defined:     fixtures.sampleJson,
+          req_headers_defined:  fixtures.sampleHeaders,
+          req_body_real:        fixtures.sampleJsonArrayItemAdded,
+          req_headers_real:     fixtures.sampleHeaders,
+          res_body_defined:     fixtures.sampleJson,
+          res_headers_defined:  fixtures.sampleHeaders,
+          res_body_real:        fixtures.sampleJsonArrayItemAdded,
+          res_headers_real:     fixtures.sampleHeaders
+          }
+          hit = get_hit params
+          hitValidation = new HitValidation hit
+
+        it "should set errors for body in request and response", () ->
+          hitValidation.validate()
+          assert.isUndefined hitValidation.hit.request.validationResults.body
+          assert.isUndefined hitValidation.hit.request.validationResults.headers
+          assert.isUndefined hitValidation.hit.response.validationResults.body
+          assert.isUndefined hitValidation.hit.response.validationResults.headers
 
   describe "when body isn't json parsable (handled as text)", ->
     describe 'and lines are added', ->


        it "shouldn't set errors for body in request and response", () ->
          hitValidation.validate()
          assert.isUndefined hitValidation.hit.request.validationResults.body
          assert.isUndefined hitValidation.hit.request.validationResults.headers
          assert.isUndefined hitValidation.hit.response.validationResults.body


        it "should set errors for body in request and response", () ->
          hitValidation.validate()

          assert.isDefined hitValidation.hit.request.validationResults.body
          assert.isDefined hitValidation.hit.request.validationResults.body['complex_key_value_pair.complex_key_value_pair_key3.complex_key_value_pair_key1_in_nested_hash']
          assert.isUndefined hitValidation.hit.request.validationResults.headers
          assert.isDefined hitValidation.hit.response.validationResults.body
          assert.isDefined hitValidation.hit.response.validationResults.body['complex_key_value_pair.complex_key_value_pair_key3.complex_key_value_pair_key1_in_nested_hash']
          assert.isUndefined hitValidation.hit.response.validationResults.headers

      describe 'and there are different values in real payloads', ->
