Class: Crucible::Tests::ConnectathonSchedulingTrackTest
Constant Summary
Constants inherited from BaseSuite
Constants inherited from BaseTest
BaseTest::BASE_SPEC_LINK, BaseTest::JSON_FIELDS, BaseTest::METADATA_FIELDS, BaseTest::REST_SPEC_LINK, BaseTest::STATUS
Instance Attribute Summary
Attributes inherited from BaseTest
#category, #tags, #tests_subset, #warnings
Instance Method Summary collapse
- #description ⇒ Object
- #id ⇒ Object
-
#initialize(client1, client2 = nil) ⇒ ConnectathonSchedulingTrackTest
constructor
A new instance of ConnectathonSchedulingTrackTest.
- #setup ⇒ Object
- #teardown ⇒ Object
Methods inherited from BaseSuite
#build_messages, #collect_metadata, fhir_resources, #links, #metadata, #parse_operation_outcome, #requires, #resource_category, test, #title, #validates
Methods inherited from BaseTest
#author, #details, #execute, #execute_test_method, #execute_test_methods, #ignore_client_exception, #multiserver, #requires_authorization, #tests, #warning
Methods included from Assertions
#assert, #assert_bundle_entry_count, #assert_bundle_response, #assert_bundle_transactions_okay, #assert_equal, #assert_etag_present, #assert_last_modified_present, #assert_minimum, #assert_navigation_links, #assert_operator, #assert_resource_content_type, #assert_resource_type, #assert_response_bad, #assert_response_code, #assert_response_conflict, #assert_response_created, #assert_response_gone, #assert_response_not_found, #assert_response_ok, #assert_valid_content_location_present, #assert_valid_profile, #assert_valid_resource_content_type_present, #assertion_negated, #skip
Constructor Details
#initialize(client1, client2 = nil) ⇒ ConnectathonSchedulingTrackTest
Returns a new instance of ConnectathonSchedulingTrackTest.
13 14 15 16 17 |
# File 'lib/tests/suites/connectathon_scheduling_track.rb', line 13 def initialize(client1, client2=nil) super(client1, client2) @tags.append('connectathon') @category = {id: 'connectathon', title: 'Connectathon'} end |
Instance Method Details
#description ⇒ Object
9 10 11 |
# File 'lib/tests/suites/connectathon_scheduling_track.rb', line 9 def description 'Connectathon Scheduling Track Test focuses on creating/cancelling Appointments and retreiving Schedules.' end |
#id ⇒ Object
5 6 7 |
# File 'lib/tests/suites/connectathon_scheduling_track.rb', line 5 def id 'ConnectathonSchedulingTrackTest' end |
#setup ⇒ Object
19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
# File 'lib/tests/suites/connectathon_scheduling_track.rb', line 19 def setup @resources = Crucible::Generator::Resources.new # Create a patient @patient = @resources.minimal_patient @patient.id = nil # clear the identifier, in case the server checks for duplicates reply = @client.create(@patient) assert_response_ok(reply) @patient.id = reply.id # Create a practitioner @practitioner = @resources.scheduling_practitioner @practitioner.id = nil # clear the identifier, in case the server checks for duplicates reply = @client.create(@practitioner) assert_response_ok(reply) @practitioner.id = reply.id # Create a schedule @schedule = @resources.scheduling_schedule @schedule.id = nil # clear the identifier, in case the server checks for duplicates @schedule.actor.reference = "Practitioner/#{@practitioner.id}" reply = @client.create(@schedule) assert_response_ok(reply) @schedule.id = reply.id # Create a slot @slot = @resources.scheduling_slot @slot.id = nil # clear the identifier, in case the server checks for duplicates @slot.schedule.reference = "Schedule/#{@schedule.id}" reply = @client.create(@slot) assert_response_ok(reply) @slot.id = reply.id end |
#teardown ⇒ Object
53 54 55 56 57 58 59 60 61 |
# File 'lib/tests/suites/connectathon_scheduling_track.rb', line 53 def teardown @client.destroy(FHIR::Patient, @patient.id) if !@patient.id.nil? @client.destroy(FHIR::Practitioner, @practitioner.id) if !@practitioner.try(:id).nil? @client.destroy(FHIR::Schedule, @schedule.id) if !@schedule.try(:id).nil? @client.destroy(FHIR::Slot, @slot.id) if !@slot.try(:id).nil? @client.destroy(FHIR::Appointment, @appointment.id) if @appointment && !@appointment.id.nil? @client.destroy(FHIR::AppointmentResponse, @appointment_response_patient.id) if @appointment_response_patient && !@appointment_response_patient.id.nil? @client.destroy(FHIR::AppointmentResponse, @appointment_response_practitioner.id) if @appointment_response_practitioner && !@appointment_response_practitioner.id.nil? end |