Class: DaVinciDTRTestKit::MockPayer::QuestionnairePackageProxyEndpoint

Inherits:
Inferno::DSL::SuiteEndpoint
  • Object
show all
Defined in:
lib/davinci_dtr_test_kit/endpoints/mock_payer/questionnaire_package_proxy_endpoint.rb

Instance Method Summary collapse

Instance Method Details

#make_responseObject



12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/davinci_dtr_test_kit/endpoints/mock_payer/questionnaire_package_proxy_endpoint.rb', line 12

def make_response
  session_id = result.test_session_id
  session_data = Inferno::Repositories::SessionData.new
  endpoint_input = session_data.load(test_session_id: session_id, name: 'custom_endpoint')
  url_input = session_data.load(test_session_id: session_id, name: 'url')
  credentials_input =
    session_data.load(
      test_session_id: session_id,
      name: 'smart_auth_info',
      type: 'auth_info'
    )

  client = FHIR::Client.new(url_input)
  client.default_json
  client.set_bearer_token(credentials_input.access_token) if credentials_input.access_token
  endpoint = endpoint_input.nil? ? '/Questionnaire/$questionnaire-package' : endpoint_input
  payer_response = client.send(:post, endpoint, JSON.parse(request.body.string),
                               { 'Content-Type' => 'application/fhir+json' })

  response.status = 200
  response.format = 'application/fhir+json'
  response.headers['Access-Control-Allow-Origin'] = '*'
  response.body = payer_response.response[:body].to_s
end

#tagsObject



8
9
10
# File 'lib/davinci_dtr_test_kit/endpoints/mock_payer/questionnaire_package_proxy_endpoint.rb', line 8

def tags
  [QUESTIONNAIRE_TAG]
end

#test_run_identifierObject



4
5
6
# File 'lib/davinci_dtr_test_kit/endpoints/mock_payer/questionnaire_package_proxy_endpoint.rb', line 4

def test_run_identifier
  request.headers['authorization']&.delete_prefix('Bearer ')
end

#update_resultObject



37
38
39
# File 'lib/davinci_dtr_test_kit/endpoints/mock_payer/questionnaire_package_proxy_endpoint.rb', line 37

def update_result
  results_repo.update_result(result.id, 'pass') unless test.config.options[:accepts_multiple_requests]
end