Serenity BDD Report
Home > Requirements > Stufe5 > Terminplanung > Testing search parameters against the slot resource (@slot-search)
Report generated 23-03-2026 09:38

Feature: Testing search parameters against the slot resource (@slot-search)

Scenarios

Given the Test Description: "The system under test MUST find the previously created resource when searched using the parameter and return it in the search results (SEARCH)."

Given the Preconditions: - The Slot-Read test case must have been executed successfully beforehand.

Then Get FHIR resource at "http://fhirserver/metadata" with content type "json"

And CapabilityStatement contains interaction "search-type" for resource "Slot"

And CapabilityStatement contains definition of search parameter "{searchParamValue}" of type "{searchParamType}" for resource "Slot"

Examples:

searchParamValuesearchParamType
_idtoken
_countnumber
schedulereference
statustoken
startdate

Examples:

searchParamValuesearchParamType
_tagtoken 

Then Get FHIR resource at "http://fhirserver/Slot/?_id=${data.slot-read-id}" with content type "xml"

And response bundle contains resource with ID "${data.slot-read-id}" with error message "The requested slot ${data.slot-read-id} is not contained in the response bundle"

And FHIR current response body is a valid CORE resource and conforms to profile "https://hl7.org/fhir/StructureDefinition/Bundle"

And Check if current response of resource "Slot" is valid isik5 resource and conforms to profile "https://gematik.de/fhir/isik/StructureDefinition/ISiKTerminblock"

When Get FHIR resource at "http://fhirserver/Slot/?_tag=${data.tag-system}%7C${data.tag-value}" with content type "xml"

And FHIR current response body evaluates the FHIRPath 'entry.resource.count() } 0' with error message 'No search results were found'

And FHIR current response body evaluates the FHIRPath "entry.resource.all(meta.tag.where(code='${data.tag-value}').exists())" with error message 'There are search results, but they do not fully match the search criteria'

When Get FHIR resource at "http://fhirserver/Slot/?_count" with content type "xml"

And FHIR current response body evaluates the FHIRPath 'total } 0 and entry.resource.count() } 0' with error message 'No search results were found'

Then Get FHIR resource at "http://fhirserver/Slot/?schedule=${data.schedule-read-id}" with content type "json"

And FHIR current response body evaluates the FHIRPath 'entry.resource.ofType(Slot).count() } 0' with error message 'No search results were found'

And FHIR current response body evaluates the FHIRPath "entry.resource.ofType(Slot).all(schedule.where(reference.replaceMatches('/_history/.+','').matches('\b${data.schedule-read-id}$')).exists())" with error message 'There are search results, but they do not fully match the search criteria.'

Then Get FHIR resource at "http://fhirserver/Slot/?schedule=${data.schedule-read-id}&status=busy" with content type "json"

And FHIR current response body evaluates the FHIRPath 'entry.resource.ofType(Slot).count() } 0' with error message 'No search results were found'

And FHIR current response body evaluates the FHIRPath "entry.resource.ofType(Slot).all(status = 'busy')" with error message 'There are search results, but they do not fully match the search criteria.'

Then Get FHIR resource at "http://fhirserver/Slot/?schedule=${data.schedule-read-id}&start=${data.slot-read-start}" with content type "json"

And FHIR current response body evaluates the FHIRPath 'entry.resource.ofType(Slot).count() } 0' with error message 'No search results were found'

And FHIR current response body evaluates the FHIRPath "entry.resource.ofType(Slot).all(start.toString().contains('${data.slot-read-start}') or start ~ @${data.slot-read-start})" with error message 'There are search results, but they do not fully match the search criteria.'

Then Get FHIR resource at "http://fhirserver/Slot/?schedule.actor=Practitioner/${data.appointment-practitioner-id}" with content type "xml"

And FHIR current response body evaluates the FHIRPath 'entry.resource.where(id.replaceMatches("/_history/.+","").matches("\b${data.slot-read-id}$")).exists()' with error message 'The requested slot ${data.slot-read-id} is not contained in the response bundle'

Feature Coverage By Scenario

Test Outcomes

Test Performance

Key Statistics

Number of Scenarios 9 Total Duration 8s
Total Number of Test Cases 13 Fastest Test 212ms
Number of Manual Test Cases 0 Slowest Test 1s
Tests Started März 23, 2026 09:38:05 Average Execution Time 616ms
Tests Finished März 23, 2026 09:38:13 Total Execution Time 8s

Automated Tests

feature Scenario Context Steps Started Total Duration Result
Testing search parameters against the Slot resource (@Slot-Search) Precondition 2 09:38:05 420ms SUCCESS
Testing search parameters against the Slot resource (@Slot-Search) Read and Validation of the CapabilityStatement 2 09:38:05 715ms SUCCESS
Testing search parameters against the Slot resource (@Slot-Search) Validation of the search parameter definitions in the CapabilityStatement
5 passing test cases
1 09:38:06 1s 093ms SUCCESS
Testing search parameters against the Slot resource (@Slot-Search) Search for the Slot by ID 4 09:38:07 1s 155ms SUCCESS
Testing search parameters against the Slot resource (@Slot-Search) Search for the Slot by Tag 3 UNDEFINED
Testing search parameters against the Slot resource (@Slot-Search) Search for the Slot by Count 2 09:38:08 819ms SUCCESS
Testing search parameters against the Slot resource (@Slot-Search) Search for the Slot by Schedule 3 09:38:09 1s 192ms SUCCESS
Testing search parameters against the Slot resource (@Slot-Search) Search for the Slot by Status and Schedule 3 09:38:10 921ms SUCCESS
Testing search parameters against the Slot resource (@Slot-Search) Search for the Slot by Start time 3 09:38:11 951ms SUCCESS
Testing search parameters against the Slot resource (@Slot-Search) Chaining search for slots by Practitioner 2 09:38:12 773ms SUCCESS

Manual Tests

No manual tests were recorded
Serenity BDD version 4.3.2