class Crucible::Tests::ResourceTest

Attributes

bundle[RW]
conditional_create_resource_a[RW]
conditional_create_resource_b[RW]
conditional_create_resource_c[RW]
conditional_update_resource_a[RW]
conditional_update_resource_c[RW]
history_bundle[RW]
preexisting[RW]
preexisting_id[RW]
preexisting_version[RW]
resource_class[RW]
temp_resource[RW]
temp_version[RW]

Public Class Methods

new(client1, client2=nil) click to toggle source
Calls superclass method Crucible::Tests::BaseTest::new
# File lib/tests/suites/resource_test.rb, line 51
def initialize(client1, client2=nil)
  super(client1, client2)
end

Public Instance Methods

category() click to toggle source
# File lib/tests/suites/resource_test.rb, line 46
def category
  resource = @resource_class.nil? ? "Uncategorized" : resource_category(@resource_class.name.demodulize)
  {id: "resources_#{resource.parameterize}", title: "#{resource} Resources"}
end
define_metadata(method) click to toggle source
# File lib/tests/suites/resource_test.rb, line 743
def define_metadata(method)
  links "#{REST_SPEC_LINK}##{method}"
  links "#{BASE_SPEC_LINK}/#{resource_class.name.demodulize.downcase}.html"
  validates resource: resource_class.name.demodulize, methods: [method]
end
description() click to toggle source
# File lib/tests/suites/resource_test.rb, line 42
def description
  "Basic operations for FHIR #{resource_class.name.demodulize} resource (CREATE, READ, VREAD, UPDATE, DELETE, HISTORY, SEARCH, VALIDATE)"
end
execute(resource_class=nil) click to toggle source
# File lib/tests/suites/resource_test.rb, line 22
def execute(resource_class=nil)
  if resource_class
    @resource_class = resource_class
    {"ResourceTest_#{@resource_class.name.demodulize}" => execute_test_methods}
  else
    results = {}
    Crucible::Tests::BaseSuite.fhir_resources.each do | klass |
      @resource_class = klass
      results.merge!({"ResourceTest_#{@resource_class.name.demodulize}" => execute_test_methods})
    end
    results
  end
end
id() click to toggle source
# File lib/tests/suites/resource_test.rb, line 36
def id
  suffix = resource_class
  suffix = resource_class.name.demodulize if !resource_class.nil?
  "ResourceTest_#{suffix}"
end
result_id_suffix() click to toggle source

this allows results to have unique ids for resource based tests

# File lib/tests/suites/resource_test.rb, line 56
def result_id_suffix
  resource_class.name.demodulize
end
supplement_test_description(desc) click to toggle source
# File lib/tests/suites/resource_test.rb, line 60
def supplement_test_description(desc)
  "#{resource_class.name.demodulize}: #{desc}"
end
teardown() click to toggle source
# File lib/tests/suites/resource_test.rb, line 64
def teardown
  ignore_client_exception { @temp_resource.destroy if @temp_resource }
  ignore_client_exception { @conditional_create_resource_a.destroy if @conditional_create_resource_a }
  ignore_client_exception { @conditional_create_resource_b.destroy if @conditional_create_resource_b }
  ignore_client_exception { @conditional_create_resource_c.destroy if @conditional_create_resource_c }
  ignore_client_exception { @conditional_create_resource_d.destroy if @conditional_create_resource_d }
end