Class: DaVinciDTRTestKit::DTRLightEHRSupportedPayersUserResponseTest

Inherits:
Inferno::Test
  • Object
show all
Includes:
URLs
Defined in:
lib/davinci_dtr_test_kit/client_groups/light_ehr/dtr_light_ehr_supported_payers_user_response_test.rb

Instance Method Summary collapse

Methods included from URLs

#base_url, #ehr_authorize_url, #ehr_token_url, #fhir_base_url, #next_url, #payer_token_url, #questionnaire_package_url, #questionnaire_response_url, #registration_url, #resume_fail_url, #resume_pass_url, #suite_id, #supported_payer_url, #token_url, #udap_discovery_url

Instance Method Details

#validate_payer(payer, index) ⇒ Object



41
42
43
44
45
46
47
48
49
# File 'lib/davinci_dtr_test_kit/client_groups/light_ehr/dtr_light_ehr_supported_payers_user_response_test.rb', line 41

def validate_payer(payer, index)
  unless payer.is_a?(Hash)
    add_message('error', "Payer at index #{index} is not a valid JSON object (Hash expected).")
    return
  end

  add_message('error', "Payer at index #{index} does not contain the required 'id' key.") unless payer.key?('id')
  add_message('error', "Payer at index #{index} does not contain the required 'name' key.") unless payer['name']
end

#validate_response(parsed_response) ⇒ Object



20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# File 'lib/davinci_dtr_test_kit/client_groups/light_ehr/dtr_light_ehr_supported_payers_user_response_test.rb', line 20

def validate_response(parsed_response)
  assert parsed_response.present?, 'User provided response is nil.'

  unless parsed_response.is_a?(Hash)
    add_message('error', 'Response is not a valid JSON object (Hash expected).')
    return
  end

  unless parsed_response['payers'].is_a?(Array)
    add_message('error', 'The "payers" field is not an array.')
    return
  end

  add_message('error', 'Response does not contain the required "payers" key.') unless parsed_response.key?('payers')
  add_message('error', 'The "payers" field is an empty array.') if parsed_response['payers'].empty?

  parsed_response['payers'].each_with_index do |payer, index|
    validate_payer(payer, index)
  end
end