Class: Inferno::Entities::TestGroup
- Inherits:
-
Object
- Object
- Inferno::Entities::TestGroup
- Extended by:
- Forwardable, DSL::FHIRClient::ClassMethods, DSL::HTTPClient::ClassMethods, DSL::Runnable
- Includes:
- DSL::FHIRValidation
- Defined in:
- lib/inferno/entities/test_group.rb
Instance Attribute Summary
Attributes included from DSL::Runnable
#parent, #suite_option_requirements
Class Method Summary collapse
-
.group ⇒ void
Add a child group.
-
.groups(options = nil) ⇒ Array<Inferno::Entities::TestGroup>
Get this group’s child groups, filtered by suite options, if provided.
-
.run_as_group(value = true) ⇒ void
When true, this group’s children can not be run individually in the UI, and this group must be run as a group.
-
.run_as_group? ⇒ Boolean
-
.short_id ⇒ String
A short numeric id which is displayed in the UI.
-
.test ⇒ void
Add a test.
-
.tests(options = nil) ⇒ Array<Inferno::Entities::Test>
Get this group’s child tests, filtered by suite options, if provided.
Methods included from DSL::FHIRClient::ClassMethods
Methods included from DSL::HTTPClient::ClassMethods
Methods included from DSL::Runnable
description, id, input_instructions, optional, optional?, required, required?, required_suite_options, resume_test_route, route, short_description, short_title, title
Methods included from DSL::FHIRValidation
#find_validator, #resource_is_valid?
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(name, *args) ⇒ Object
16 17 18 19 20 21 22 23 |
# File 'lib/inferno/entities/test_group.rb', line 16 def method_missing(name, *args, &) parent_instance = self.class.parent&.new if parent_instance.respond_to?(name) parent_instance.send(name, *args, &) else super end end |
Class Method Details
.group ⇒ void
This method returns an undefined value.
Add a child group
58 59 60 61 |
# File 'lib/inferno/entities/test_group.rb', line 58 def group(...) () define_child(...) end |
.groups(options = nil) ⇒ Array<Inferno::Entities::TestGroup>
Get this group’s child groups, filtered by suite options, if provided.
41 42 43 |
# File 'lib/inferno/entities/test_group.rb', line 41 def groups( = nil) children().select { |child| child < Inferno::Entities::TestGroup } end |
.run_as_group(value = true) ⇒ void
This method returns an undefined value.
When true, this group’s children can not be run individually in the UI, and this group must be run as a group.
115 116 117 |
# File 'lib/inferno/entities/test_group.rb', line 115 def run_as_group(value = true) # rubocop:disable Style/OptionalBooleanParameter @run_as_group = value end |
.run_as_group? ⇒ Boolean
120 121 122 |
# File 'lib/inferno/entities/test_group.rb', line 120 def run_as_group? @run_as_group || false end |
.short_id ⇒ String
Returns A short numeric id which is displayed in the UI.
87 88 89 90 91 92 93 |
# File 'lib/inferno/entities/test_group.rb', line 87 def short_id @short_id ||= begin prefix = parent.respond_to?(:short_id) ? "#{parent.short_id}." : '' suffix = parent ? (parent.groups.find_index(self) + 1).to_s : 'X' "#{prefix}#{suffix}" end end |
.test ⇒ void
This method returns an undefined value.
Add a test
65 66 67 68 |
# File 'lib/inferno/entities/test_group.rb', line 65 def test(...) () define_child(...) end |
.tests(options = nil) ⇒ Array<Inferno::Entities::Test>
Get this group’s child tests, filtered by suite options, if provided.
50 51 52 |
# File 'lib/inferno/entities/test_group.rb', line 50 def tests( = nil) children().select { |child| child < Inferno::Entities::Test } end |