davinci_dtr_test_kit 0.10.0 → 0.11.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (32) hide show
  1. checksums.yaml +4 -4
  2. data/lib/davinci_dtr_test_kit/client_groups/dinner_static/dtr_dinner_questionnaire_package_request_test.rb +134 -0
  3. data/lib/davinci_dtr_test_kit/client_groups/dinner_static/dtr_questionnaire_response_save_test.rb +2 -2
  4. data/lib/davinci_dtr_test_kit/client_groups/dinner_static/dtr_smart_app_questionnaire_workflow_group.rb +3 -2
  5. data/lib/davinci_dtr_test_kit/client_groups/dinner_static/prepopulation_attestation_test.rb +4 -4
  6. data/lib/davinci_dtr_test_kit/client_groups/dinner_static/prepopulation_override_attestation_test.rb +4 -4
  7. data/lib/davinci_dtr_test_kit/client_groups/dinner_static/rendering_enabled_questions_attestation_test.rb +4 -4
  8. data/lib/davinci_dtr_test_kit/client_groups/resp_assist_device/dtr_questionnaire_package_group.rb +2 -2
  9. data/lib/davinci_dtr_test_kit/client_groups/resp_assist_device/dtr_questionnaire_rendering_attestation_test.rb +4 -4
  10. data/lib/davinci_dtr_test_kit/client_groups/resp_assist_device/dtr_questionnaire_response_save_test.rb +2 -2
  11. data/lib/davinci_dtr_test_kit/client_groups/resp_assist_device/dtr_resp_questionnaire_package_request_test.rb +132 -0
  12. data/lib/davinci_dtr_test_kit/client_groups/resp_assist_device/dtr_smart_app_questionnaire_workflow_group.rb +4 -3
  13. data/lib/davinci_dtr_test_kit/client_groups/shared/dtr_questionnaire_response_pre_population_test.rb +1 -0
  14. data/lib/davinci_dtr_test_kit/docs/dtr_payer_server_suite_description_v201.md +2 -2
  15. data/lib/davinci_dtr_test_kit/docs/dtr_smart_app_suite_description_v201.md +106 -42
  16. data/lib/davinci_dtr_test_kit/dtr_full_ehr_suite.rb +4 -3
  17. data/lib/davinci_dtr_test_kit/dtr_payer_server_suite.rb +6 -4
  18. data/lib/davinci_dtr_test_kit/dtr_questionnaire_response_validation.rb +26 -10
  19. data/lib/davinci_dtr_test_kit/dtr_smart_app_suite.rb +33 -11
  20. data/lib/davinci_dtr_test_kit/fixtures/dinner_adaptive/dinner_order_adaptive_next_question_hamburger.json +1 -1
  21. data/lib/davinci_dtr_test_kit/fixtures/dinner_static/questionnaire_dinner_order_static.json +2 -2
  22. data/lib/davinci_dtr_test_kit/fixtures/questionnaire_package.json +1 -1
  23. data/lib/davinci_dtr_test_kit/mock_auth_server.rb +145 -0
  24. data/lib/davinci_dtr_test_kit/mock_ehr.rb +37 -12
  25. data/lib/davinci_dtr_test_kit/mock_payer.rb +1 -20
  26. data/lib/davinci_dtr_test_kit/payer_server_groups/static_form_request_validation_test.rb +1 -0
  27. data/lib/davinci_dtr_test_kit/payer_server_groups/static_form_response_validation_test.rb +1 -0
  28. data/lib/davinci_dtr_test_kit/urls.rb +14 -3
  29. data/lib/davinci_dtr_test_kit/validation_test.rb +1 -0
  30. data/lib/davinci_dtr_test_kit/version.rb +1 -1
  31. metadata +19 -3
  32. data/lib/davinci_dtr_test_kit/client_groups/shared/dtr_questionnaire_package_request_test.rb +0 -36
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 940914e499d108663302b9df9fac473315dff874b8e6d1f7afa354a0fb02b412
4
- data.tar.gz: 878e70bfea50b8458ad08cbe7ad4834ae05c1c34c21a883dd1cdce883d1c3500
3
+ metadata.gz: 3449c737f53b2443bc81890e9788ff4aad6837c70865512e58b5a5d3809ad96e
4
+ data.tar.gz: 4b2775168992e4887e5e330178138bd918a225bf9d57f2b7425a021acc7ee7c1
5
5
  SHA512:
6
- metadata.gz: 4b6888ef1ce9334ced832a2816c614ae4fd846c376181fcb7ff698e4069afe197db2f7305ff0100de94518ef22cd6d043ddd6516e965839e4acc7d836b9d98e2
7
- data.tar.gz: 5a4003c46adfd4f682979ef22bdf7d97dbff6c7be12416e744851eada2ece766f4dbceaa77a01468d7a5f2a4567f65e1d5885dcabfca1d42eddbc66ef575dafe
6
+ metadata.gz: e6107a0cf03478d3bdc9c9b155af0664b8d39b9a3819e563c3dcf45bc69b34d80a83b0be270022be6d75aeb95a6b2b9b85d486c00693a9ad3e4f0605e2d504ee
7
+ data.tar.gz: 69701c0a2b4a2a69ae16d5e8dd1b79fd9d27fddf0230d02dc6793be32752d965f01688d3661df72cfdddc9a208b252fda1303f516b5aa6458d33631383fc17f2
@@ -0,0 +1,134 @@
1
+ require 'base64'
2
+ require_relative '../../urls'
3
+
4
+ module DaVinciDTRTestKit
5
+ class DTRDinnerQuestionnairePackageRequestTest < Inferno::Test
6
+ include URLs
7
+
8
+ id :dtr_dinner_questionnaire_package_request
9
+ title 'Invoke the DTR Questionnaire Package operation'
10
+ description %(
11
+ Inferno will wait for a DTR questionnaire package request from the client. Upon receipt, Inferno will generate and
12
+ send a response.
13
+ )
14
+ input :smart_app_launch,
15
+ type: 'radio',
16
+ title: 'SMART App Launch',
17
+ description: 'How will the DTR SMART App launch?',
18
+ options: { list_options: [{ label: 'EHR Launch from Inferno', value: 'ehr' },
19
+ { label: 'Standalone Launch', value: 'standalone' }] }
20
+ input :client_id
21
+ input :launch_uri,
22
+ optional: true,
23
+ description: 'Required if "Launch from Inferno" is selected'
24
+ input :smart_patient_id,
25
+ optional: true,
26
+ title: 'SMART App Launch Patient ID (Dinner Static)',
27
+ type: 'text',
28
+ description: %(
29
+ Patient instance `id` to be provided by Inferno as the `patient` as a part of the SMART App
30
+ Launch.
31
+ ),
32
+ default: 'pat015'
33
+ input :smart_fhir_context,
34
+ optional: true,
35
+ title: 'SMART App Launch fhirContext (Dinner Static)',
36
+ type: 'textarea',
37
+ description: %(
38
+ References to be provided by Inferno as the `fhirContext` as a part of the SMART App
39
+ Launch. These references help determine the behavior of the app. Referenced instances
40
+ may be provided in the "EHR-available resources" input.
41
+ ),
42
+ default: JSON.pretty_generate([{ reference: 'Coverage/cov015' },
43
+ { reference: 'DeviceRequest/devreqe0470' }])
44
+ input :ehr_bundle,
45
+ optional: true,
46
+ title: 'EHR-available resources (Dinner Static)',
47
+ type: 'textarea',
48
+ description: %(
49
+ Resources available from the EHR needed to drive the dinner static workflow.
50
+ Formatted as a FHIR bundle that contains resources, each with an `id` property populated. Each
51
+ instance present will be available for retrieval from Inferno at the endpoint:
52
+
53
+ ```
54
+ [fhir-base]/[resource type]/[instance id]
55
+ ```
56
+ )
57
+
58
+ def example_client_jwt_payload_part
59
+ Base64.strict_encode64({ inferno_client_id: client_id }.to_json).delete('=')
60
+ end
61
+
62
+ run do
63
+ # validate relevant inputs and provide warnings if they are bad
64
+ warning do
65
+ if smart_fhir_context
66
+ assert_valid_json(smart_fhir_context,
67
+ 'The **SMART App Launch fhirContext** input is not valid JSON, so it will not be included in
68
+ the access token response.')
69
+ end
70
+ end
71
+
72
+ warning do
73
+ if ehr_bundle
74
+ assert_valid_json(ehr_bundle,
75
+ 'The **EHR-available resources** input is not valid JSON, so no tester-specified instances
76
+ will be available to access from Inferno.')
77
+ assert(FHIR.from_contents(ehr_bundle).is_a?(FHIR::Bundle),
78
+ 'The **EHR-available resources** input does not contain a FHIR Bundle, so no tester-specified instances
79
+ will be available to access from Inferno.')
80
+ end
81
+ end
82
+
83
+ launch_prompt = if smart_app_launch == 'ehr'
84
+ %(Launch the DTR SMART App from Inferno by right clicking
85
+ [this link](#{launch_uri}?iss=#{fhir_base_url}&launch=#{launch_uri})
86
+ and selecting or "Open in new window" or "Open in new tab".)
87
+ else
88
+ %(Launch the SMART App from your EHR.)
89
+ end
90
+ inferno_prompt_cont = %(As the DTR app steps through the launch steps, Inferno will wait and respond to the app's
91
+ requests for SMART configuration, authorization and access token.)
92
+
93
+ wait(
94
+ identifier: client_id,
95
+ message: %(
96
+ ### SMART App Launch
97
+
98
+ #{launch_prompt}
99
+
100
+ #{inferno_prompt_cont if smart_app_launch == 'ehr'}
101
+
102
+ Then, Inferno will expect the SMART App to invoke the DTR Questionnaire Package operation by sending a POST
103
+ request to
104
+
105
+ `#{questionnaire_package_url}`
106
+
107
+ A questionnaire package generated by Inferno will be returned.
108
+
109
+ ### Pre-population
110
+
111
+ Inferno will then wait for the client to complete Questionnaire pre-population. The client should make FHIR
112
+ GET requests using service base path:
113
+
114
+ `#{fhir_base_url}`
115
+
116
+ ### Request Identification
117
+
118
+ In order to identify requests for this session, Inferno will look for
119
+ an `Authorization` header with value:
120
+
121
+ ```
122
+ Bearer eyJhbGcmOiJub25lIn0.#{example_client_jwt_payload_part}.
123
+ ```
124
+
125
+ ### Continuing the Tests
126
+
127
+ When the DTR application has finished loading the Questionnaire,
128
+ including any clinical data requests to support pre-population,
129
+ [Click here](#{resume_pass_url}?client_id=#{client_id}) to continue.
130
+ )
131
+ )
132
+ end
133
+ end
134
+ end
@@ -9,11 +9,11 @@ module DaVinciDTRTestKit
9
9
  description %(
10
10
  Inferno, acting as the EHR, will wait for a request to save the QuestionnaireResponse from the client.
11
11
  )
12
- input :access_token
12
+ input :client_id
13
13
 
14
14
  run do
15
15
  wait(
16
- identifier: access_token,
16
+ identifier: client_id,
17
17
  message: %(
18
18
  Complete the questionnaire, leaving the following items unmodified, because a subsequent test will expect
19
19
  their pre-populated values:
@@ -1,4 +1,4 @@
1
- require_relative '../shared/dtr_questionnaire_package_request_test'
1
+ require_relative 'dtr_dinner_questionnaire_package_request_test'
2
2
  require_relative '../shared/dtr_questionnaire_package_request_validation_test'
3
3
  require_relative 'prepopulation_attestation_test'
4
4
  require_relative 'prepopulation_override_attestation_test'
@@ -17,6 +17,7 @@ module DaVinciDTRTestKit
17
17
  demonstrate their ability to:
18
18
 
19
19
  1. Fetch the static questionnaire package
20
+ ([DinnerOrderStatic](https://github.com/inferno-framework/davinci-dtr-test-kit/blob/main/lib/davinci_dtr_test_kit/fixtures/dinner_static/questionnaire_dinner_order_static.json))
20
21
  2. Render and pre-populate the questionnaire appropriately, including:
21
22
  - fetch additional data needed for pre-population
22
23
  - pre-populate data as directed by the questionnaire
@@ -36,7 +37,7 @@ module DaVinciDTRTestKit
36
37
  run_as_group
37
38
 
38
39
  # Test 1: wait for the $questionnaire-package request
39
- test from: :dtr_questionnaire_package_request
40
+ test from: :dtr_dinner_questionnaire_package_request
40
41
  # Test 2: validate the $questionnaire-package body
41
42
  test from: :dtr_questionnaire_package_request_validation
42
43
  end
@@ -9,19 +9,19 @@ module DaVinciDTRTestKit
9
9
  description %(
10
10
  Validate that pre-population of patient name information occurs as expected.
11
11
  )
12
- input :access_token
12
+ input :client_id
13
13
 
14
14
  run do
15
15
  wait(
16
- identifier: access_token,
16
+ identifier: client_id,
17
17
  message: %(
18
18
  I attest that the client application pre-populates the following questions with the respective values:
19
19
  - Last Name: Oster
20
20
  - First Name: William
21
21
 
22
- [Click here](#{resume_pass_url}?token=#{access_token}) if the above statement is **true**.
22
+ [Click here](#{resume_pass_url}?client_id=#{client_id}) if the above statement is **true**.
23
23
 
24
- [Click here](#{resume_fail_url}?token=#{access_token}) if the above statement is **false**.
24
+ [Click here](#{resume_fail_url}?client_id=#{client_id}) if the above statement is **false**.
25
25
  )
26
26
  )
27
27
  end
@@ -9,20 +9,20 @@ module DaVinciDTRTestKit
9
9
  description %(
10
10
  Validate that the user can edit a pre-populated item and replace it with another value.
11
11
  )
12
- input :access_token
12
+ input :client_id
13
13
 
14
14
  run do
15
15
  wait(
16
- identifier: access_token,
16
+ identifier: client_id,
17
17
  message: %(
18
18
  I attest that
19
19
 
20
20
  1. The client pre-populated an answer for question 'Location'.
21
21
  2. I have changed the answer to a different value.
22
22
 
23
- [Click here](#{resume_pass_url}?token=#{access_token}) if the above statement is **true**.
23
+ [Click here](#{resume_pass_url}?client_id=#{client_id}) if the above statement is **true**.
24
24
 
25
- [Click here](#{resume_fail_url}?token=#{access_token}) if the above statement is **false**.
25
+ [Click here](#{resume_fail_url}?client_id=#{client_id}) if the above statement is **false**.
26
26
  )
27
27
  )
28
28
  end
@@ -10,19 +10,19 @@ module DaVinciDTRTestKit
10
10
  Validate that the rendering of the questionnaire includes only the "What would you like on..."
11
11
  question appropriate for the dinner selection, if made.
12
12
  )
13
- input :access_token
13
+ input :client_id
14
14
 
15
15
  run do
16
16
  wait(
17
- identifier: access_token,
17
+ identifier: client_id,
18
18
  message: %(
19
19
  I attest that the client application does not display any "What would you like on..."
20
20
  questions until I have selected a dinner choice and then only displays the
21
21
  "What would you like on..." question relevant for the dinner request:
22
22
 
23
- [Click here](#{resume_pass_url}?token=#{access_token}) if the above statement is **true**.
23
+ [Click here](#{resume_pass_url}?client_id=#{client_id}) if the above statement is **true**.
24
24
 
25
- [Click here](#{resume_fail_url}?token=#{access_token}) if the above statement is **false**.
25
+ [Click here](#{resume_fail_url}?client_id=#{client_id}) if the above statement is **false**.
26
26
  )
27
27
  )
28
28
  end
@@ -1,4 +1,4 @@
1
- require_relative '../shared/dtr_questionnaire_package_request_test'
1
+ require_relative 'dtr_resp_questionnaire_package_request_test'
2
2
  require_relative '../shared/dtr_questionnaire_package_request_validation_test'
3
3
 
4
4
  module DaVinciDTRTestKit
@@ -10,7 +10,7 @@ module DaVinciDTRTestKit
10
10
  )
11
11
  run_as_group
12
12
 
13
- test from: :dtr_questionnaire_package_request
13
+ test from: :dtr_resp_questionnaire_package_request
14
14
  test from: :dtr_questionnaire_package_request_validation
15
15
  end
16
16
  end
@@ -10,21 +10,21 @@ module DaVinciDTRTestKit
10
10
  Thist test provides the tester an opportunity to observe their client application following the receipt of the
11
11
  questionnaire pacakage and attest that the application renders the questionnaire.
12
12
  )
13
- input :access_token
13
+ input :client_id
14
14
 
15
15
  run do
16
16
  load_tagged_requests QUESTIONNAIRE_PACKAGE_TAG
17
17
  skip_if request.blank?, 'A Questionnaire Package request must be made prior to running this test'
18
18
 
19
19
  wait(
20
- identifier: access_token,
20
+ identifier: client_id,
21
21
  message: %(
22
22
  I attest that the client application displays the questionnaire and respects the following rendering style:
23
23
  - The "Signature" field label is rendered with green text
24
24
 
25
- [Click here](#{resume_pass_url}?token=#{access_token}) if the above statement is **true**.
25
+ [Click here](#{resume_pass_url}?client_id=#{client_id}) if the above statement is **true**.
26
26
 
27
- [Click here](#{resume_fail_url}?token=#{access_token}) if the above statement is **false**.
27
+ [Click here](#{resume_fail_url}?client_id=#{client_id}) if the above statement is **false**.
28
28
  )
29
29
  )
30
30
  end
@@ -9,11 +9,11 @@ module DaVinciDTRTestKit
9
9
  description %(
10
10
  Inferno, acting as the EHR, will wait for a request to save the QuestionnaireResponse from the client.
11
11
  )
12
- input :access_token
12
+ input :client_id
13
13
 
14
14
  run do
15
15
  wait(
16
- identifier: access_token,
16
+ identifier: client_id,
17
17
  message: %(
18
18
  Complete the questionnaire, leaving the following items unmodified, because a subsequent test will expect
19
19
  their pre-populated values:
@@ -0,0 +1,132 @@
1
+ require_relative '../../urls'
2
+
3
+ module DaVinciDTRTestKit
4
+ class DTRRespQuestionnairePackageRequestTest < Inferno::Test
5
+ include URLs
6
+
7
+ id :dtr_resp_questionnaire_package_request
8
+ title 'Invoke the DTR Questionnaire Package operation'
9
+ description %(
10
+ Inferno will wait for a DTR questionnaire package request from the client. Upon receipt, Inferno will generate and
11
+ send a response.
12
+ )
13
+ input :smart_app_launch,
14
+ type: 'radio',
15
+ title: 'SMART App Launch',
16
+ description: 'How will the DTR SMART App launch?',
17
+ options: { list_options: [{ label: 'EHR Launch from Inferno', value: 'ehr' },
18
+ { label: 'Standalone Launch', value: 'standalone' }] }
19
+ input :client_id
20
+ input :launch_uri,
21
+ optional: true,
22
+ description: 'Required if "Launch from Inferno" is selected'
23
+ input :smart_patient_id,
24
+ optional: true,
25
+ title: 'SMART App Launch Patient ID (Respiratory Assist Device)',
26
+ type: 'text',
27
+ description: %(
28
+ Patient instance `id` to be provided by Inferno as the `patient` as a part of the SMART App
29
+ Launch.
30
+ ),
31
+ default: 'pat015'
32
+ input :smart_fhir_context,
33
+ optional: true,
34
+ title: 'SMART App Launch fhirContext (Respiratory Assist Device)',
35
+ type: 'textarea',
36
+ description: %(
37
+ References to be provided by Inferno as the `fhirContext` as a part of the SMART App
38
+ Launch. These references help determine the behavior of the app. Referenced instances
39
+ may be provided in the "EHR-available resources" input.
40
+ ),
41
+ default: JSON.pretty_generate([{ reference: 'Coverage/cov015' },
42
+ { reference: 'DeviceRequest/devreqe0470' }])
43
+ input :ehr_bundle,
44
+ optional: true,
45
+ title: 'EHR-available resources (Respiratory Assist Device)',
46
+ type: 'textarea',
47
+ description: %(
48
+ Resources available from the EHR needed to drive the respiratory assist device workflow.
49
+ Formatted as a FHIR bundle that contains resources, each with an `id` property populated. Each
50
+ instance present will be available for retrieval from Inferno at the endpoint
51
+
52
+ ```
53
+ [fhir-base]/[resource type]/[instance id]
54
+ ```
55
+ )
56
+
57
+ def example_client_jwt_payload_part
58
+ Base64.strict_encode64({ inferno_client_id: client_id }.to_json).delete('=')
59
+ end
60
+
61
+ run do
62
+ # validate relevant inputs and provide warnings if they are bad
63
+ warning do
64
+ if smart_fhir_context
65
+ assert_valid_json(smart_fhir_context,
66
+ 'The **SMART App Launch fhirContext** input is not valid JSON, so it will not be included in
67
+ the access token response.')
68
+ end
69
+ end
70
+
71
+ warning do
72
+ if ehr_bundle
73
+ assert_valid_json(ehr_bundle,
74
+ 'The **EHR-available resources** input is not valid JSON, so no tester-specified instances
75
+ will be available to access from Inferno.')
76
+ assert(FHIR.from_contents(ehr_bundle).is_a?(FHIR::Bundle),
77
+ 'The **EHR-available resources** input does not contain a FHIR Bundle, so no tester-specified instances
78
+ will be available to access from Inferno.')
79
+ end
80
+ end
81
+
82
+ launch_prompt = if smart_app_launch == 'ehr'
83
+ %(Launch the DTR SMART App from Inferno by right clicking
84
+ [this link](#{launch_uri}?iss=#{fhir_base_url}&launch=#{launch_uri})
85
+ and selecting or "Open in new window" or "Open in new tab".)
86
+ else
87
+ %(Launch the SMART App from your EHR.)
88
+ end
89
+ inferno_prompt_cont = %(As the DTR app steps through the launch steps, Inferno will wait and respond to the app's
90
+ requests for SMART configuration, authorization and access token.)
91
+ wait(
92
+ identifier: client_id,
93
+ message: %(
94
+ ### SMART App Launch
95
+
96
+ #{launch_prompt}
97
+
98
+ #{inferno_prompt_cont if smart_app_launch == 'ehr'}
99
+
100
+ Then, Inferno will expect the SMART App to invoke the DTR Questionnaire Package operation by sending a POST
101
+ request to
102
+
103
+ `#{questionnaire_package_url}`
104
+
105
+ A questionnaire package generated by Inferno will be returned.
106
+
107
+ ### Pre-population
108
+
109
+ Inferno will then wait for the client to complete Questionnaire pre-population. The client should make FHIR
110
+ GET requests using service base path:
111
+
112
+ `#{fhir_base_url}`
113
+
114
+ ### Request Identification
115
+
116
+ In order to identify requests for this session, Inferno will look for
117
+ an `Authorization` header with value:
118
+
119
+ ```
120
+ Bearer eyJhbGcmOiJub25lIn0.#{example_client_jwt_payload_part}.
121
+ ```
122
+
123
+ ### Continuing the Tests
124
+
125
+ When the DTR application has finished loading the Questionnaire,
126
+ including any clinical data requests to support pre-population,
127
+ [Click here](#{resume_pass_url}?client_id=#{client_id}) to continue.
128
+ )
129
+ )
130
+ end
131
+ end
132
+ end
@@ -7,10 +7,11 @@ module DaVinciDTRTestKit
7
7
  id :dtr_smart_app_questionnaire_workflow
8
8
  title 'Respiratory Assist Device Questionnaire Workflow'
9
9
  description %(
10
- This workflow validates that a DTR SMART App can perform a full DTR Questionnaire workflow using a canned
11
- Questionnaire for a respiratory assist device order:
10
+ This workflow validates that a DTR SMART App can perform a full DTR
11
+ Questionnaire workflow using a canned Questionnaire
12
+ for a respiratory assist device order:
12
13
 
13
- 1. Fetch the questionnaire package
14
+ 1. Fetch the questionnaire package ([RespiratoryAssistDevices](https://github.com/inferno-framework/davinci-dtr-test-kit/blob/main/lib/davinci_dtr_test_kit/fixtures/questionnaire_package.json))
14
15
  2. Render the questionnaire
15
16
  3. Pre-populate the questionnaire response
16
17
  )
@@ -21,6 +21,7 @@ module DaVinciDTRTestKit
21
21
  )
22
22
 
23
23
  run do
24
+ assert_valid_json(request.request_body)
24
25
  questionnaire_response = FHIR.from_contents(request.request_body)
25
26
  skip_if !questionnaire_response.present?, 'QuestionnaireResponse not received'
26
27
 
@@ -81,9 +81,9 @@ If you would like to try out the tests but don't have a DTR payer server impleme
81
81
  you can run these tests against the DTR SMART Client test suite included in this test kit
82
82
  using the following steps:
83
83
  1. Start an Inferno session of the Da Vinci DTR SMART App Test Suite.
84
- 1. Select test 2.1.1 *Static Questionnaire Workflow* from the menu on the left.
84
+ 1. Select test 1.1.1 *Retrieving the Static Questionnaire* from the menu on the left.
85
85
  1. Click the "Run All Tests" button in the upper right.
86
- 1. In the "access_token" input, put `cnVuIHRvZ2V0aGVy`.
86
+ 1. In the "SMART App Launch" select `Standalone Launch` and in the "client_id" input, put `sample`.
87
87
  1. Click the "submit" button in the dialog that appears. The client tests will now be waiting for requests.
88
88
  1. Start an Inferno session of the DTR Payer Server test suite.
89
89
  1. Select test 1 *Static Questionnaire Package Retrieval* from the menu on the left.