module GdsApi::TestHelpers::PublishingApi
def values_match_recursively(expected_value, actual_value)
def values_match_recursively(expected_value, actual_value) case expected_value when Hash return false unless actual_value.is_a?(Hash) expected_value.all? do |expected_sub_key, expected_sub_value| actual_value.has_key?(expected_sub_key.to_s) && values_match_recursively(expected_sub_value, actual_value[expected_sub_key.to_s]) end when Array return false unless actual_value.is_a?(Array) return false unless actual_value.size == expected_value.size expected_value.each.with_index.all? do |expected_sub_value, i| values_match_recursively(expected_sub_value, actual_value[i]) end else expected_value == actual_value end end