Class: DaVinciPASTestKit::DaVinciPASV221::AbstractClaimUpdateSubmitTest

Inherits:
Inferno::Test
  • Object
show all
Includes:
URLs, SessionIdentification, UserInputResponse
Defined in:
lib/davinci_pas_test_kit/client/v2.2.1/workflows/pas_client_claim_update_submit_tests.rb

Overview

Shared behavior for the Claim Update "wait" tests. Each subclass waits for a single $submit request from the client and, on receipt, returns the response configured through its dedicated response input (or an Inferno-generated approval if none was provided). Subclasses differ only in:

- their dedicated response input + `submit_respond_with`
- the unique `claim_update_tag` used to tag the received request
- the instructions shown to the tester (`interaction_instructions`)

These tests auto-continue when a request is received (they do not set accepts_multiple_requests, so ClaimEndpoint#update_result marks the result pass and resumes the wait), and they never trigger a Subscription notification (suppress_notifications is honored by ClaimEndpoint#make_response), even when the configured response indicates the request was pended.

Instance Method Summary collapse

Methods included from UserInputResponse

included, #input_title, read_input, response_candidates, user_inputted_response, #user_inputted_response?, valid_candidate?

Methods included from SessionIdentification

#bearer_token_to_wait_identifier, #session_endpoint_url, #session_wait_identifier

Methods included from URLs

#suite_id

Methods included from ClientURLs

#fhir_base_url, #fhir_subscription_url, #inquire_url, #registration_url, #session_fhir_base_url, #session_fhir_subscription_url, #session_inquire_url, #session_submit_url, #submit_url, #token_url, #udap_discovery_url

Methods included from BaseURLs

#base_url, #resume_fail_url, #resume_pass_url, #resume_skip_url

Instance Method Details

#claim_update_wait_message(submit_endpoint) ⇒ Object



66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
# File 'lib/davinci_pas_test_kit/client/v2.2.1/workflows/pas_client_claim_update_submit_tests.rb', line 66

def claim_update_wait_message(submit_endpoint)
  %(
    **Claim Update Workflow**

    #{interaction_instructions}

    Submit the request to

    `#{submit_endpoint}`

    #{response_note}

    Inferno will automatically continue once it receives the request, so no further
    action is required after submitting.
  )
end

#interaction_instructionsObject

Overridden by subclasses to describe the specific submission the tester should make.

Raises:

  • (NotImplementedError)


94
95
96
# File 'lib/davinci_pas_test_kit/client/v2.2.1/workflows/pas_client_claim_update_submit_tests.rb', line 94

def interaction_instructions
  raise NotImplementedError, "#{self.class} must implement #interaction_instructions"
end

#response_noteObject



83
84
85
86
87
88
89
90
91
# File 'lib/davinci_pas_test_kit/client/v2.2.1/workflows/pas_client_claim_update_submit_tests.rb', line 83

def response_note
  response_input = config.options[:submit_respond_with]
  if response_input.present? && send(response_input).present?
    "The response provided in the '**#{input_title(response_input)}**' input will be returned, " \
      'updated with current timestamps.'
  else
    'Inferno will generate an approved response from the submitted Claim and return it.'
  end
end