Class: USCoreTestKit::Client::Generator::SearchTestGenerator

Inherits:
Generator::SearchTestGenerator show all
Defined in:
lib/us_core_test_kit/client/generator/search_test_generator.rb

Instance Attribute Summary

Attributes inherited from Generator::SearchTestGenerator

#base_output_dir, #group_metadata, #search_metadata

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Generator::SearchTestGenerator

#array_of_strings, #base_output_file_name, #conformance_expectation, #first_search?, #first_search_description, #fixed_value_search?, #fixed_value_search_param_name, #generate, #ig_link, #initialize, #medication_inclusion_description, #needs_patient_id?, #optional?, #output, #output_file_directory, #output_file_name, #path_for_value, #possible_status_search?, #post_search_description, #profile_identifier, #reference_search_description, #required_comparators, #required_comparators_for_param, #required_comparators_string, #required_multiple_or_search_params, #required_multiple_or_search_params_string, #resource_type, #saves_delayed_references?, #search_definition, #search_identifier, #search_param_name_string, #search_param_names, #search_param_names_array, #search_params, #search_properties, #search_test_properties_string, #search_title, #test_medication_inclusion?, #test_post_search?, #test_reference_variants?, #token_search_params, #token_search_params_string

Constructor Details

This class inherits a constructor from USCoreTestKit::Generator::SearchTestGenerator

Class Method Details

.generate(ig_metadata, base_output_dir) ⇒ Object



12
13
14
15
16
17
18
19
20
21
# File 'lib/us_core_test_kit/client/generator/search_test_generator.rb', line 12

def generate(, base_output_dir)
  .groups
             .reject { |group| USCoreTestKit::Generator::SpecialCases.exclude_group? group }
             .select { |group| group.searches.present? }
             .each do |group|
    group.searches.each do |search|
      new(group, search, base_output_dir).generate
    end
  end
end

Instance Method Details

#class_nameObject



32
33
34
# File 'lib/us_core_test_kit/client/generator/search_test_generator.rb', line 32

def class_name
  "#{profile_identifier.camelize}#{search_identifier.camelize}ClientSearchTest"
end

#descriptionObject



52
53
54
# File 'lib/us_core_test_kit/client/generator/search_test_generator.rb', line 52

def description
  "The client demonstrates #{conformance_expectation} support for searching #{search_param_name_string} on #{profile_identifier.camelize}."
end

#group_nameObject



28
29
30
# File 'lib/us_core_test_kit/client/generator/search_test_generator.rb', line 28

def group_name
  "#{profile_identifier.camelize}ClientGroup"
end

#module_nameObject



40
41
42
# File 'lib/us_core_test_kit/client/generator/search_test_generator.rb', line 40

def module_name
  "USCoreClient#{.reformatted_version.upcase}"
end

#resourceObject



36
37
38
# File 'lib/us_core_test_kit/client/generator/search_test_generator.rb', line 36

def resource
  .resource
end

#templateObject



24
25
26
# File 'lib/us_core_test_kit/client/generator/search_test_generator.rb', line 24

def template
  @template ||= File.read(File.join(__dir__, 'templates', 'search_test.rb.erb'))
end

#test_idObject



44
45
46
# File 'lib/us_core_test_kit/client/generator/search_test_generator.rb', line 44

def test_id
  "us_core_#{.reformatted_version}_#{class_name.underscore}"
end

#titleObject



48
49
50
# File 'lib/us_core_test_kit/client/generator/search_test_generator.rb', line 48

def title
  "#{conformance_expectation} support #{search_param_name_string} search of #{profile_identifier.camelize}"
end