us_core_test_kit 0.4.2 → 0.4.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (109) hide show
  1. checksums.yaml +4 -4
  2. data/lib/us_core_test_kit/generated/v3.1.1/allergy_intolerance/allergy_intolerance_reference_resolution_test.rb +7 -3
  3. data/lib/us_core_test_kit/generated/v3.1.1/allergy_intolerance/metadata.yml +4 -1
  4. data/lib/us_core_test_kit/generated/v3.1.1/bodyheight/bodyheight_reference_resolution_test.rb +7 -3
  5. data/lib/us_core_test_kit/generated/v3.1.1/bodytemp/bodytemp_reference_resolution_test.rb +7 -3
  6. data/lib/us_core_test_kit/generated/v3.1.1/bodyweight/bodyweight_reference_resolution_test.rb +7 -3
  7. data/lib/us_core_test_kit/generated/v3.1.1/bp/bp_reference_resolution_test.rb +7 -3
  8. data/lib/us_core_test_kit/generated/v3.1.1/care_plan/care_plan_reference_resolution_test.rb +7 -3
  9. data/lib/us_core_test_kit/generated/v3.1.1/care_team/care_team_reference_resolution_test.rb +7 -3
  10. data/lib/us_core_test_kit/generated/v3.1.1/condition/condition_reference_resolution_test.rb +7 -3
  11. data/lib/us_core_test_kit/generated/v3.1.1/condition/metadata.yml +7 -1
  12. data/lib/us_core_test_kit/generated/v3.1.1/device/device_reference_resolution_test.rb +7 -3
  13. data/lib/us_core_test_kit/generated/v3.1.1/diagnostic_report_lab/diagnostic_report_lab_reference_resolution_test.rb +7 -3
  14. data/lib/us_core_test_kit/generated/v3.1.1/diagnostic_report_note/diagnostic_report_note_reference_resolution_test.rb +7 -3
  15. data/lib/us_core_test_kit/generated/v3.1.1/document_reference/document_reference_reference_resolution_test.rb +7 -3
  16. data/lib/us_core_test_kit/generated/v3.1.1/encounter/encounter_reference_resolution_test.rb +7 -3
  17. data/lib/us_core_test_kit/generated/v3.1.1/goal/goal_reference_resolution_test.rb +7 -3
  18. data/lib/us_core_test_kit/generated/v3.1.1/goal/metadata.yml +10 -1
  19. data/lib/us_core_test_kit/generated/v3.1.1/head_circumference/head_circumference_reference_resolution_test.rb +7 -3
  20. data/lib/us_core_test_kit/generated/v3.1.1/heartrate/heartrate_reference_resolution_test.rb +7 -3
  21. data/lib/us_core_test_kit/generated/v3.1.1/immunization/immunization_reference_resolution_test.rb +7 -3
  22. data/lib/us_core_test_kit/generated/v3.1.1/medication_request/medication_request_reference_resolution_test.rb +7 -3
  23. data/lib/us_core_test_kit/generated/v3.1.1/metadata.yml +21 -3
  24. data/lib/us_core_test_kit/generated/v3.1.1/observation_lab/observation_lab_reference_resolution_test.rb +7 -3
  25. data/lib/us_core_test_kit/generated/v3.1.1/pediatric_bmi_for_age/pediatric_bmi_for_age_reference_resolution_test.rb +7 -3
  26. data/lib/us_core_test_kit/generated/v3.1.1/pediatric_weight_for_height/pediatric_weight_for_height_reference_resolution_test.rb +7 -3
  27. data/lib/us_core_test_kit/generated/v3.1.1/procedure/procedure_reference_resolution_test.rb +7 -3
  28. data/lib/us_core_test_kit/generated/v3.1.1/provenance/provenance_reference_resolution_test.rb +7 -3
  29. data/lib/us_core_test_kit/generated/v3.1.1/pulse_oximetry/pulse_oximetry_reference_resolution_test.rb +7 -3
  30. data/lib/us_core_test_kit/generated/v3.1.1/resprate/resprate_reference_resolution_test.rb +7 -3
  31. data/lib/us_core_test_kit/generated/v3.1.1/smokingstatus/smokingstatus_reference_resolution_test.rb +7 -3
  32. data/lib/us_core_test_kit/generated/v4.0.0/allergy_intolerance/allergy_intolerance_reference_resolution_test.rb +7 -3
  33. data/lib/us_core_test_kit/generated/v4.0.0/allergy_intolerance/metadata.yml +4 -1
  34. data/lib/us_core_test_kit/generated/v4.0.0/blood_pressure/blood_pressure_reference_resolution_test.rb +7 -3
  35. data/lib/us_core_test_kit/generated/v4.0.0/bmi/bmi_reference_resolution_test.rb +7 -3
  36. data/lib/us_core_test_kit/generated/v4.0.0/body_height/body_height_reference_resolution_test.rb +7 -3
  37. data/lib/us_core_test_kit/generated/v4.0.0/body_temperature/body_temperature_reference_resolution_test.rb +7 -3
  38. data/lib/us_core_test_kit/generated/v4.0.0/body_weight/body_weight_reference_resolution_test.rb +7 -3
  39. data/lib/us_core_test_kit/generated/v4.0.0/care_plan/care_plan_reference_resolution_test.rb +7 -3
  40. data/lib/us_core_test_kit/generated/v4.0.0/care_team/care_team_reference_resolution_test.rb +7 -3
  41. data/lib/us_core_test_kit/generated/v4.0.0/condition/condition_reference_resolution_test.rb +7 -3
  42. data/lib/us_core_test_kit/generated/v4.0.0/condition/metadata.yml +7 -1
  43. data/lib/us_core_test_kit/generated/v4.0.0/device/device_reference_resolution_test.rb +7 -3
  44. data/lib/us_core_test_kit/generated/v4.0.0/diagnostic_report_lab/diagnostic_report_lab_reference_resolution_test.rb +7 -3
  45. data/lib/us_core_test_kit/generated/v4.0.0/diagnostic_report_note/diagnostic_report_note_reference_resolution_test.rb +7 -3
  46. data/lib/us_core_test_kit/generated/v4.0.0/document_reference/document_reference_reference_resolution_test.rb +7 -3
  47. data/lib/us_core_test_kit/generated/v4.0.0/encounter/encounter_reference_resolution_test.rb +7 -3
  48. data/lib/us_core_test_kit/generated/v4.0.0/goal/goal_reference_resolution_test.rb +7 -3
  49. data/lib/us_core_test_kit/generated/v4.0.0/goal/metadata.yml +10 -1
  50. data/lib/us_core_test_kit/generated/v4.0.0/head_circumference/head_circumference_reference_resolution_test.rb +7 -3
  51. data/lib/us_core_test_kit/generated/v4.0.0/head_circumference_percentile/head_circumference_percentile_reference_resolution_test.rb +7 -3
  52. data/lib/us_core_test_kit/generated/v4.0.0/heart_rate/heart_rate_reference_resolution_test.rb +7 -3
  53. data/lib/us_core_test_kit/generated/v4.0.0/immunization/immunization_reference_resolution_test.rb +7 -3
  54. data/lib/us_core_test_kit/generated/v4.0.0/medication_request/medication_request_reference_resolution_test.rb +7 -3
  55. data/lib/us_core_test_kit/generated/v4.0.0/metadata.yml +21 -3
  56. data/lib/us_core_test_kit/generated/v4.0.0/observation_lab/observation_lab_reference_resolution_test.rb +7 -3
  57. data/lib/us_core_test_kit/generated/v4.0.0/pediatric_bmi_for_age/pediatric_bmi_for_age_reference_resolution_test.rb +7 -3
  58. data/lib/us_core_test_kit/generated/v4.0.0/pediatric_weight_for_height/pediatric_weight_for_height_reference_resolution_test.rb +7 -3
  59. data/lib/us_core_test_kit/generated/v4.0.0/procedure/procedure_reference_resolution_test.rb +7 -3
  60. data/lib/us_core_test_kit/generated/v4.0.0/provenance/provenance_reference_resolution_test.rb +7 -3
  61. data/lib/us_core_test_kit/generated/v4.0.0/pulse_oximetry/pulse_oximetry_reference_resolution_test.rb +7 -3
  62. data/lib/us_core_test_kit/generated/v4.0.0/respiratory_rate/respiratory_rate_reference_resolution_test.rb +7 -3
  63. data/lib/us_core_test_kit/generated/v4.0.0/smokingstatus/smokingstatus_reference_resolution_test.rb +7 -3
  64. data/lib/us_core_test_kit/generated/v5.0.1/allergy_intolerance/allergy_intolerance_reference_resolution_test.rb +7 -3
  65. data/lib/us_core_test_kit/generated/v5.0.1/allergy_intolerance/metadata.yml +4 -1
  66. data/lib/us_core_test_kit/generated/v5.0.1/blood_pressure/blood_pressure_reference_resolution_test.rb +7 -3
  67. data/lib/us_core_test_kit/generated/v5.0.1/bmi/bmi_reference_resolution_test.rb +7 -3
  68. data/lib/us_core_test_kit/generated/v5.0.1/body_height/body_height_reference_resolution_test.rb +7 -3
  69. data/lib/us_core_test_kit/generated/v5.0.1/body_temperature/body_temperature_reference_resolution_test.rb +7 -3
  70. data/lib/us_core_test_kit/generated/v5.0.1/body_weight/body_weight_reference_resolution_test.rb +7 -3
  71. data/lib/us_core_test_kit/generated/v5.0.1/care_plan/care_plan_reference_resolution_test.rb +7 -3
  72. data/lib/us_core_test_kit/generated/v5.0.1/care_team/care_team_reference_resolution_test.rb +7 -3
  73. data/lib/us_core_test_kit/generated/v5.0.1/condition_encounter_diagnosis/condition_encounter_diagnosis_reference_resolution_test.rb +7 -3
  74. data/lib/us_core_test_kit/generated/v5.0.1/condition_encounter_diagnosis/metadata.yml +7 -1
  75. data/lib/us_core_test_kit/generated/v5.0.1/condition_problems_health_concerns/condition_problems_health_concerns_reference_resolution_test.rb +7 -3
  76. data/lib/us_core_test_kit/generated/v5.0.1/condition_problems_health_concerns/metadata.yml +7 -1
  77. data/lib/us_core_test_kit/generated/v5.0.1/device/device_reference_resolution_test.rb +7 -3
  78. data/lib/us_core_test_kit/generated/v5.0.1/diagnostic_report_lab/diagnostic_report_lab_reference_resolution_test.rb +7 -3
  79. data/lib/us_core_test_kit/generated/v5.0.1/diagnostic_report_note/diagnostic_report_note_reference_resolution_test.rb +7 -3
  80. data/lib/us_core_test_kit/generated/v5.0.1/document_reference/document_reference_reference_resolution_test.rb +7 -3
  81. data/lib/us_core_test_kit/generated/v5.0.1/encounter/encounter_reference_resolution_test.rb +7 -3
  82. data/lib/us_core_test_kit/generated/v5.0.1/goal/goal_reference_resolution_test.rb +7 -3
  83. data/lib/us_core_test_kit/generated/v5.0.1/goal/metadata.yml +10 -1
  84. data/lib/us_core_test_kit/generated/v5.0.1/head_circumference/head_circumference_reference_resolution_test.rb +7 -3
  85. data/lib/us_core_test_kit/generated/v5.0.1/head_circumference_percentile/head_circumference_percentile_reference_resolution_test.rb +7 -3
  86. data/lib/us_core_test_kit/generated/v5.0.1/heart_rate/heart_rate_reference_resolution_test.rb +7 -3
  87. data/lib/us_core_test_kit/generated/v5.0.1/immunization/immunization_reference_resolution_test.rb +7 -3
  88. data/lib/us_core_test_kit/generated/v5.0.1/medication_request/medication_request_reference_resolution_test.rb +7 -3
  89. data/lib/us_core_test_kit/generated/v5.0.1/metadata.yml +28 -4
  90. data/lib/us_core_test_kit/generated/v5.0.1/observation_clinical_test/observation_clinical_test_reference_resolution_test.rb +7 -3
  91. data/lib/us_core_test_kit/generated/v5.0.1/observation_imaging/observation_imaging_reference_resolution_test.rb +7 -3
  92. data/lib/us_core_test_kit/generated/v5.0.1/observation_lab/observation_lab_reference_resolution_test.rb +7 -3
  93. data/lib/us_core_test_kit/generated/v5.0.1/observation_sdoh_assessment/observation_sdoh_assessment_reference_resolution_test.rb +7 -3
  94. data/lib/us_core_test_kit/generated/v5.0.1/observation_sexual_orientation/observation_sexual_orientation_reference_resolution_test.rb +7 -3
  95. data/lib/us_core_test_kit/generated/v5.0.1/observation_social_history/observation_social_history_reference_resolution_test.rb +7 -3
  96. data/lib/us_core_test_kit/generated/v5.0.1/pediatric_bmi_for_age/pediatric_bmi_for_age_reference_resolution_test.rb +7 -3
  97. data/lib/us_core_test_kit/generated/v5.0.1/pediatric_weight_for_height/pediatric_weight_for_height_reference_resolution_test.rb +7 -3
  98. data/lib/us_core_test_kit/generated/v5.0.1/procedure/procedure_reference_resolution_test.rb +7 -3
  99. data/lib/us_core_test_kit/generated/v5.0.1/provenance/provenance_reference_resolution_test.rb +7 -3
  100. data/lib/us_core_test_kit/generated/v5.0.1/pulse_oximetry/pulse_oximetry_reference_resolution_test.rb +7 -3
  101. data/lib/us_core_test_kit/generated/v5.0.1/questionnaire_response/questionnaire_response_reference_resolution_test.rb +7 -3
  102. data/lib/us_core_test_kit/generated/v5.0.1/related_person/related_person_reference_resolution_test.rb +7 -3
  103. data/lib/us_core_test_kit/generated/v5.0.1/respiratory_rate/respiratory_rate_reference_resolution_test.rb +7 -3
  104. data/lib/us_core_test_kit/generated/v5.0.1/service_request/service_request_reference_resolution_test.rb +7 -3
  105. data/lib/us_core_test_kit/generated/v5.0.1/smokingstatus/smokingstatus_reference_resolution_test.rb +7 -3
  106. data/lib/us_core_test_kit/generator/search_definition_metadata_extractor.rb +1 -1
  107. data/lib/us_core_test_kit/reference_resolution_test.rb +27 -4
  108. data/lib/us_core_test_kit/version.rb +1 -1
  109. metadata +2 -2
@@ -7,11 +7,15 @@ module USCoreTestKit
7
7
  include USCoreTestKit::ReferenceResolutionTest
8
8
  include ResourceList
9
9
 
10
- title 'MustSupport references within Observation resources can be read'
10
+ title 'MustSupport references within Observation resources are valid'
11
11
  description %(
12
12
  This test will attempt to read external references provided within elements
13
- marked as 'MustSupport', if any are available. Elements which may provide
14
- external references include:
13
+ marked as 'MustSupport', if any are available.
14
+
15
+ It verifies that at least one external reference for each MustSupport Reference element
16
+ can be accessed by the test client, and conforms to corresponding US Core profile.
17
+
18
+ Elements which may provide external references include:
15
19
 
16
20
  * Observation.subject
17
21
  )
@@ -7,11 +7,15 @@ module USCoreTestKit
7
7
  include USCoreTestKit::ReferenceResolutionTest
8
8
  include ResourceList
9
9
 
10
- title 'MustSupport references within Observation resources can be read'
10
+ title 'MustSupport references within Observation resources are valid'
11
11
  description %(
12
12
  This test will attempt to read external references provided within elements
13
- marked as 'MustSupport', if any are available. Elements which may provide
14
- external references include:
13
+ marked as 'MustSupport', if any are available.
14
+
15
+ It verifies that at least one external reference for each MustSupport Reference element
16
+ can be accessed by the test client, and conforms to corresponding US Core profile.
17
+
18
+ Elements which may provide external references include:
15
19
 
16
20
  * Observation.performer
17
21
  * Observation.subject
@@ -7,11 +7,15 @@ module USCoreTestKit
7
7
  include USCoreTestKit::ReferenceResolutionTest
8
8
  include ResourceList
9
9
 
10
- title 'MustSupport references within Observation resources can be read'
10
+ title 'MustSupport references within Observation resources are valid'
11
11
  description %(
12
12
  This test will attempt to read external references provided within elements
13
- marked as 'MustSupport', if any are available. Elements which may provide
14
- external references include:
13
+ marked as 'MustSupport', if any are available.
14
+
15
+ It verifies that at least one external reference for each MustSupport Reference element
16
+ can be accessed by the test client, and conforms to corresponding US Core profile.
17
+
18
+ Elements which may provide external references include:
15
19
 
16
20
  * Observation.subject
17
21
  )
@@ -7,11 +7,15 @@ module USCoreTestKit
7
7
  include USCoreTestKit::ReferenceResolutionTest
8
8
  include ResourceList
9
9
 
10
- title 'MustSupport references within Observation resources can be read'
10
+ title 'MustSupport references within Observation resources are valid'
11
11
  description %(
12
12
  This test will attempt to read external references provided within elements
13
- marked as 'MustSupport', if any are available. Elements which may provide
14
- external references include:
13
+ marked as 'MustSupport', if any are available.
14
+
15
+ It verifies that at least one external reference for each MustSupport Reference element
16
+ can be accessed by the test client, and conforms to corresponding US Core profile.
17
+
18
+ Elements which may provide external references include:
15
19
 
16
20
  * Observation.subject
17
21
  )
@@ -7,11 +7,15 @@ module USCoreTestKit
7
7
  include USCoreTestKit::ReferenceResolutionTest
8
8
  include ResourceList
9
9
 
10
- title 'MustSupport references within Procedure resources can be read'
10
+ title 'MustSupport references within Procedure resources are valid'
11
11
  description %(
12
12
  This test will attempt to read external references provided within elements
13
- marked as 'MustSupport', if any are available. Elements which may provide
14
- external references include:
13
+ marked as 'MustSupport', if any are available.
14
+
15
+ It verifies that at least one external reference for each MustSupport Reference element
16
+ can be accessed by the test client, and conforms to corresponding US Core profile.
17
+
18
+ Elements which may provide external references include:
15
19
 
16
20
  * Procedure.subject
17
21
  )
@@ -7,11 +7,15 @@ module USCoreTestKit
7
7
  include USCoreTestKit::ReferenceResolutionTest
8
8
  include ResourceList
9
9
 
10
- title 'MustSupport references within Provenance resources can be read'
10
+ title 'MustSupport references within Provenance resources are valid'
11
11
  description %(
12
12
  This test will attempt to read external references provided within elements
13
- marked as 'MustSupport', if any are available. Elements which may provide
14
- external references include:
13
+ marked as 'MustSupport', if any are available.
14
+
15
+ It verifies that at least one external reference for each MustSupport Reference element
16
+ can be accessed by the test client, and conforms to corresponding US Core profile.
17
+
18
+ Elements which may provide external references include:
15
19
 
16
20
  * Provenance.agent.onBehalfOf
17
21
  * Provenance.agent.who
@@ -7,11 +7,15 @@ module USCoreTestKit
7
7
  include USCoreTestKit::ReferenceResolutionTest
8
8
  include ResourceList
9
9
 
10
- title 'MustSupport references within Observation resources can be read'
10
+ title 'MustSupport references within Observation resources are valid'
11
11
  description %(
12
12
  This test will attempt to read external references provided within elements
13
- marked as 'MustSupport', if any are available. Elements which may provide
14
- external references include:
13
+ marked as 'MustSupport', if any are available.
14
+
15
+ It verifies that at least one external reference for each MustSupport Reference element
16
+ can be accessed by the test client, and conforms to corresponding US Core profile.
17
+
18
+ Elements which may provide external references include:
15
19
 
16
20
  * Observation.subject
17
21
  )
@@ -7,11 +7,15 @@ module USCoreTestKit
7
7
  include USCoreTestKit::ReferenceResolutionTest
8
8
  include ResourceList
9
9
 
10
- title 'MustSupport references within QuestionnaireResponse resources can be read'
10
+ title 'MustSupport references within QuestionnaireResponse resources are valid'
11
11
  description %(
12
12
  This test will attempt to read external references provided within elements
13
- marked as 'MustSupport', if any are available. Elements which may provide
14
- external references include:
13
+ marked as 'MustSupport', if any are available.
14
+
15
+ It verifies that at least one external reference for each MustSupport Reference element
16
+ can be accessed by the test client, and conforms to corresponding US Core profile.
17
+
18
+ Elements which may provide external references include:
15
19
 
16
20
  * QuestionnaireResponse.author
17
21
  * QuestionnaireResponse.subject
@@ -7,11 +7,15 @@ module USCoreTestKit
7
7
  include USCoreTestKit::ReferenceResolutionTest
8
8
  include ResourceList
9
9
 
10
- title 'MustSupport references within RelatedPerson resources can be read'
10
+ title 'MustSupport references within RelatedPerson resources are valid'
11
11
  description %(
12
12
  This test will attempt to read external references provided within elements
13
- marked as 'MustSupport', if any are available. Elements which may provide
14
- external references include:
13
+ marked as 'MustSupport', if any are available.
14
+
15
+ It verifies that at least one external reference for each MustSupport Reference element
16
+ can be accessed by the test client, and conforms to corresponding US Core profile.
17
+
18
+ Elements which may provide external references include:
15
19
 
16
20
  * RelatedPerson.patient
17
21
  )
@@ -7,11 +7,15 @@ module USCoreTestKit
7
7
  include USCoreTestKit::ReferenceResolutionTest
8
8
  include ResourceList
9
9
 
10
- title 'MustSupport references within Observation resources can be read'
10
+ title 'MustSupport references within Observation resources are valid'
11
11
  description %(
12
12
  This test will attempt to read external references provided within elements
13
- marked as 'MustSupport', if any are available. Elements which may provide
14
- external references include:
13
+ marked as 'MustSupport', if any are available.
14
+
15
+ It verifies that at least one external reference for each MustSupport Reference element
16
+ can be accessed by the test client, and conforms to corresponding US Core profile.
17
+
18
+ Elements which may provide external references include:
15
19
 
16
20
  * Observation.subject
17
21
  )
@@ -7,11 +7,15 @@ module USCoreTestKit
7
7
  include USCoreTestKit::ReferenceResolutionTest
8
8
  include ResourceList
9
9
 
10
- title 'MustSupport references within ServiceRequest resources can be read'
10
+ title 'MustSupport references within ServiceRequest resources are valid'
11
11
  description %(
12
12
  This test will attempt to read external references provided within elements
13
- marked as 'MustSupport', if any are available. Elements which may provide
14
- external references include:
13
+ marked as 'MustSupport', if any are available.
14
+
15
+ It verifies that at least one external reference for each MustSupport Reference element
16
+ can be accessed by the test client, and conforms to corresponding US Core profile.
17
+
18
+ Elements which may provide external references include:
15
19
 
16
20
  * ServiceRequest.requester
17
21
  * ServiceRequest.subject
@@ -7,11 +7,15 @@ module USCoreTestKit
7
7
  include USCoreTestKit::ReferenceResolutionTest
8
8
  include ResourceList
9
9
 
10
- title 'MustSupport references within Observation resources can be read'
10
+ title 'MustSupport references within Observation resources are valid'
11
11
  description %(
12
12
  This test will attempt to read external references provided within elements
13
- marked as 'MustSupport', if any are available. Elements which may provide
14
- external references include:
13
+ marked as 'MustSupport', if any are available.
14
+
15
+ It verifies that at least one external reference for each MustSupport Reference element
16
+ can be accessed by the test client, and conforms to corresponding US Core profile.
17
+
18
+ Elements which may provide external references include:
15
19
 
16
20
  * Observation.subject
17
21
  )
@@ -120,7 +120,7 @@ module USCoreTestKit
120
120
  end
121
121
 
122
122
  def values_from_resource_metadata(paths)
123
- if multiple_or_expectation == 'SHALL' || paths.include?('status')
123
+ if multiple_or_expectation == 'SHALL' || paths.any? { |path| path.downcase.include?('status') }
124
124
  value_extractor.values_from_resource_metadata(paths)
125
125
  else
126
126
  []
@@ -23,8 +23,31 @@ module USCoreTestKit
23
23
  unresolved_reference_hash.map { |path, profiles| "#{path}#{"(#{profiles.join('|')})" unless profiles.first.empty?}" }
24
24
  end
25
25
 
26
- def record_resolved_reference(reference)
27
- resolved_references.add?(reference.reference)
26
+ def record_resolved_reference(reference, target_profile)
27
+ saved_reference = resolved_references.find { |item| item[:reference] == reference.reference }
28
+
29
+ if saved_reference.present?
30
+ if target_profile.present? && !saved_reference[:profiles].include?(target_profile)
31
+ saved_reference[:profiles] << target_profile
32
+ end
33
+ else
34
+ saved_reference = {
35
+ reference: reference.reference,
36
+ profiles: []
37
+ }
38
+
39
+ saved_reference[:profiles] << target_profile if target_profile.present?
40
+ resolved_references.add(saved_reference)
41
+ end
42
+ end
43
+
44
+ def is_reference_resolved?(reference, target_profile)
45
+ resolved_references.any? do |item|
46
+ item[:reference] == reference.reference &&
47
+ (
48
+ target_profile.blank? || item[:profiles].include?(target_profile)
49
+ )
50
+ end
28
51
  end
29
52
 
30
53
  def resolved_references
@@ -87,7 +110,7 @@ module USCoreTestKit
87
110
  end
88
111
 
89
112
  def validate_reference_resolution(resource, reference, target_profile)
90
- return true if resolved_references.include?(reference.reference) && target_profile.blank?
113
+ return true if is_reference_resolved?(reference, target_profile)
91
114
 
92
115
  if reference.contained?
93
116
  # if reference_id is blank it is referring to itself, so we know it exists
@@ -129,7 +152,7 @@ module USCoreTestKit
129
152
 
130
153
  return false unless resource_is_valid_with_target_profile?(resolved_resource, target_profile)
131
154
 
132
- record_resolved_reference(reference)
155
+ record_resolved_reference(reference, target_profile)
133
156
  true
134
157
  end
135
158
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module USCoreTestKit
4
- VERSION = '0.4.2'
4
+ VERSION = '0.4.4'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: us_core_test_kit
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.2
4
+ version: 0.4.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Stephen MacVicar
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-12-08 00:00:00.000000000 Z
11
+ date: 2023-01-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: inferno_core