From 4837f6edcf60b66ff6181bba79a2c9f0d2bc0668 Mon Sep 17 00:00:00 2001 From: williamjameswillis Date: Mon, 29 Sep 2025 14:56:37 +0100 Subject: [PATCH 01/18] ongoing migration --- .../AppointmentAmend.feature.cs | 607 ++++++-- .../AppointmentBook.feature.cs | 1277 +++++++++++++--- .../AppointmentCancel.feature.cs | 853 +++++++++-- .../AppointmentRead.feature.cs | 359 ++++- .../AppointmentRetrieve.feature.cs | 627 ++++++-- .../Appointment/DefaultAppointmentBuilder.cs | 4 +- .../Context/HttpContext.cs | 30 +- .../Extensions/BaseExtensions.cs | 4 +- .../FHIR.feature.cs | 1341 +++++++++++++---- .../Factories/RequestFactory.cs | 11 +- .../GPConnect.Provider.AcceptanceTests.csproj | 426 +----- .../Helpers/FhirHelper.cs | 2 +- .../Http.feature.cs | 176 ++- .../Http/FhirResponse.cs | 4 +- .../Http/HttpRequestBase.cs | 4 +- .../LocationLogicalIdentifierConverter.cs | 2 +- .../LocationLogicalIdentifierImporter.cs | 13 +- .../Importers/NHSNoMapConverter.cs | 2 +- .../Importers/NHSNoMapImporter.cs | 9 +- .../Importers/ODSCodeMapConverter.cs | 2 +- .../Importers/ODSCodeMapImporter.cs | 5 +- .../Importers/PDSImporter.cs | 5 +- .../Importers/PDSMap.cs | 2 +- .../Importers/PractitionerCodeMapConverter.cs | 2 +- .../Importers/PractitionerCodeMapImporter.cs | 5 +- .../Importers/RegisterPatientsImporter.cs | 13 +- .../JWT.feature.cs | 467 +++++- .../LocationRead.feature.cs | 246 ++- .../OrganizationRead.feature.cs | 238 ++- .../OrganizationSearch.feature.cs | 407 ++++- .../PatientRead.feature.cs | 385 ++++- .../PatientRegister.feature.cs | 1006 +++++++++++-- .../PatientSearch.feature.cs | 589 ++++++-- .../PractitionerRead.feature.cs | 281 +++- .../PractitionerSearch.feature.cs | 444 +++++- .../Properties/AssemblyInfo.cs | 35 - .../SSP.feature.cs | 321 +++- .../SearchForFreeSlots.feature.cs | 859 +++++++++-- .../Security.feature.cs | 274 +++- .../Steps/AccessRecordSteps.cs | 8 +- .../Steps/AppointmentsSteps.cs | 4 +- .../Steps/BundleSteps.cs | 16 +- .../Steps/ConformanceSteps.cs | 2 +- .../Steps/LocationSteps.cs | 2 +- .../Steps/OrganizationSteps.cs | 6 +- .../Steps/PatientSteps.cs | 4 +- .../Steps/PractitionerSteps.cs | 2 +- .../Steps/StructuredAllergySteps.cs | 4 +- .../Steps/StructuredConsultationsSteps.cs | 10 +- .../Steps/StructuredDiarySteps.cs | 4 +- .../Steps/StructuredInvestigationsSteps.cs | 4 +- .../Steps/StructuredMultipleSteps.cs | 14 +- .../Steps/StructuredProblemsSteps.cs | 6 +- .../Steps/StructuredReferralsSteps.cs | 4 +- .../StructuredAllergies.feature.cs | 748 +++++++-- .../StructuredConsultations.feature.cs | 547 +++++-- .../StructuredDiary.feature.cs | 253 +++- .../StructuredDocuments.feature.cs | 922 ++++++++++-- .../StructuredImmunizations.feature.cs | 292 +++- .../StructuredInvestigations.feature.cs | 401 ++++- .../StructuredMedications.feature.cs | 798 ++++++++-- .../StructuredMultipleRequests.feature.cs | 644 ++++++-- .../StructuredProblems.feature.cs | 536 +++++-- .../StructuredReferrals.feature.cs | 367 ++++- .../StructuredUncategorised.feature.cs | 366 ++++- .../packages.config | 36 - 66 files changed, 14065 insertions(+), 3272 deletions(-) delete mode 100644 GPConnect.Provider.AcceptanceTests/Properties/AssemblyInfo.cs delete mode 100644 GPConnect.Provider.AcceptanceTests/packages.config diff --git a/GPConnect.Provider.AcceptanceTests/AppointmentAmend.feature.cs b/GPConnect.Provider.AcceptanceTests/AppointmentAmend.feature.cs index db0d93f7..bad39402 100644 --- a/GPConnect.Provider.AcceptanceTests/AppointmentAmend.feature.cs +++ b/GPConnect.Provider.AcceptanceTests/AppointmentAmend.feature.cs @@ -1,8 +1,8 @@ -// ------------------------------------------------------------------------------ +// ------------------------------------------------------------------------------ // -// This code was generated by SpecFlow (http://www.specflow.org/). -// SpecFlow Version:3.0.0.0 -// SpecFlow Generator Version:3.0.0.0 +// This code was generated by SpecFlow (https://www.specflow.org/). +// SpecFlow Version:3.9.0.0 +// SpecFlow Generator Version:3.9.0.0 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. @@ -13,9 +13,11 @@ namespace GPConnect.Provider.AcceptanceTests { using TechTalk.SpecFlow; + using System; + using System.Linq; - [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "3.0.0.0")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "3.9.0.0")] [System.Runtime.CompilerServices.CompilerGeneratedAttribute()] [NUnit.Framework.TestFixtureAttribute()] [NUnit.Framework.DescriptionAttribute("AppointmentAmend")] @@ -26,6 +28,10 @@ public partial class AppointmentAmendFeature private TechTalk.SpecFlow.ITestRunner testRunner; + private static string[] featureTags = new string[] { + "appointment", + "1.5.0-Full-Pack"}; + #line 1 "AppointmentAmend.feature" #line hidden @@ -33,9 +39,7 @@ public partial class AppointmentAmendFeature public virtual void FeatureSetup() { testRunner = TechTalk.SpecFlow.TestRunnerManager.GetTestRunner(); - TechTalk.SpecFlow.FeatureInfo featureInfo = new TechTalk.SpecFlow.FeatureInfo(new System.Globalization.CultureInfo("en-US"), "AppointmentAmend", null, ProgrammingLanguage.CSharp, new string[] { - "appointment", - "1.5.0-Full-Pack"}); + TechTalk.SpecFlow.FeatureInfo featureInfo = new TechTalk.SpecFlow.FeatureInfo(new System.Globalization.CultureInfo("en-US"), "", "AppointmentAmend", null, ProgrammingLanguage.CSharp, featureTags); testRunner.OnFeatureStart(featureInfo); } @@ -47,28 +51,28 @@ public virtual void FeatureTearDown() } [NUnit.Framework.SetUpAttribute()] - public virtual void TestInitialize() + public void TestInitialize() { } [NUnit.Framework.TearDownAttribute()] - public virtual void ScenarioTearDown() + public void TestTearDown() { testRunner.OnScenarioEnd(); } - public virtual void ScenarioInitialize(TechTalk.SpecFlow.ScenarioInfo scenarioInfo) + public void ScenarioInitialize(TechTalk.SpecFlow.ScenarioInfo scenarioInfo) { testRunner.OnScenarioInitialize(scenarioInfo); testRunner.ScenarioContext.ScenarioContainer.RegisterInstanceAs(NUnit.Framework.TestContext.CurrentContext); } - public virtual void ScenarioStart() + public void ScenarioStart() { testRunner.OnScenarioStart(); } - public virtual void ScenarioCleanup() + public void ScenarioCleanup() { testRunner.CollectScenarioErrors(); } @@ -79,125 +83,199 @@ public virtual void ScenarioCleanup() [NUnit.Framework.TestCaseAttribute("patient1", null)] [NUnit.Framework.TestCaseAttribute("patient2", null)] [NUnit.Framework.TestCaseAttribute("patient3", null)] - public virtual void IPerformASuccessfulAmendAppointmentAndCheckTheReturnedAppointmentResourcesAreInTheFuture(string patient, string[] exampleTags) + public void IPerformASuccessfulAmendAppointmentAndCheckTheReturnedAppointmentResourcesAreInTheFuture(string patient, string[] exampleTags) { + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("Patient", patient); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("I perform a successful amend appointment and check the returned appointment resou" + - "rces are in the future", null, exampleTags); + "rces are in the future", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 4 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 5 testRunner.Given(string.Format("I create an Appointment for Patient \"{0}\" and Organization Code \"ORG1\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 6 testRunner.And("I store the Created Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 7 testRunner.Given("I configure the default \"AppointmentAmend\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 8 testRunner.And("I set the Created Appointment Description to \"customDescription\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 9 testRunner.When("I make the \"AppointmentAmend\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 10 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 11 testRunner.And("the Response Resource should be an Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 12 testRunner.And("the Appointments returned must be in the future", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 13 testRunner.And("the Appointment Metadata should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 14 testRunner.And("the Appointment Status should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 15 testRunner.And("the Appointment Start should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 16 testRunner.And("the Appointment End should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 17 testRunner.And("the Appointment Slots should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 18 testRunner.And("the Appointment Participants should be valid and resolvable", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 19 testRunner.And("the Appointment Priority should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 20 testRunner.And("the Appointment Participant Type and Actor should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 21 testRunner.And("the Appointment Identifiers should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 22 testRunner.And("the Appointment Description should be valid for \"customDescription\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 23 testRunner.And("the Appointment Created must be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 24 testRunner.And("the Appointment DeliveryChannel must be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 25 testRunner.And("the Appointment PractitionerRole must be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 28 testRunner.And("the Appointment Not In Use should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("I perform a successful amend appointment with Extensions")] [NUnit.Framework.TestCaseAttribute("patient1", "true", "true", "true", null)] - public virtual void IPerformASuccessfulAmendAppointmentWithExtensions(string patientName, string orgType, string deliveryChannel, string pracRole, string[] exampleTags) + public void IPerformASuccessfulAmendAppointmentWithExtensions(string patientName, string orgType, string deliveryChannel, string pracRole, string[] exampleTags) { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("I perform a successful amend appointment with Extensions", null, exampleTags); + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("PatientName", patientName); + argumentsOfScenario.Add("OrgType", orgType); + argumentsOfScenario.Add("DeliveryChannel", deliveryChannel); + argumentsOfScenario.Add("PracRole", pracRole); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("I perform a successful amend appointment with Extensions", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 35 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 36 testRunner.Given(string.Format("I create an Appointment for Patient \"{0}\"", patientName), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 37 testRunner.And(string.Format("I create an Appointment with org type \"{0}\" with channel \"{1}\" with prac role \"{2" + - "}\"", orgType, deliveryChannel, pracRole), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "}\"", orgType, deliveryChannel, pracRole), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 38 testRunner.And("I store the Created Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 39 testRunner.Given("I configure the default \"AppointmentRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 40 testRunner.When("I make the \"AppointmentRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 41 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 42 testRunner.And("the Response Resource should be an Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 43 testRunner.And("the Appointments returned must be in the future", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 44 testRunner.And("the Appointment Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 45 testRunner.And("the Appointment Metadata should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 46 testRunner.And("the Appointment DeliveryChannel must be present", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 47 testRunner.And("the Appointment PractitionerRole must be present", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 50 testRunner.And("the Appointment Not In Use should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Amend appointment and update element which cannot be updated")] - public virtual void AmendAppointmentAndUpdateElementWhichCannotBeUpdated() + public void AmendAppointmentAndUpdateElementWhichCannotBeUpdated() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Amend appointment and update element which cannot be updated", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Amend appointment and update element which cannot be updated", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 55 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 56 testRunner.Given("I create an Appointment for an existing Patient and Organization Code \"ORG1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 57 testRunner.And("I store the Created Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 58 testRunner.Given("I configure the default \"AppointmentAmend\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 59 testRunner.And("I set the Created Appointment Priority to \"1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 60 testRunner.When("I make the \"AppointmentAmend\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 61 testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 62 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_RESOU" + - "RCE\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "RCE\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -205,33 +283,54 @@ public virtual void AmendAppointmentAndUpdateElementWhichCannotBeUpdated() [NUnit.Framework.DescriptionAttribute("Amend appointment using the _format parameter to request response format")] [NUnit.Framework.TestCaseAttribute("application/fhir+json", "JSON", null)] [NUnit.Framework.TestCaseAttribute("application/fhir+xml", "XML", null)] - public virtual void AmendAppointmentUsingThe_FormatParameterToRequestResponseFormat(string format, string bodyFormat, string[] exampleTags) + public void AmendAppointmentUsingThe_FormatParameterToRequestResponseFormat(string format, string bodyFormat, string[] exampleTags) { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Amend appointment using the _format parameter to request response format", null, exampleTags); + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("Format", format); + argumentsOfScenario.Add("BodyFormat", bodyFormat); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Amend appointment using the _format parameter to request response format", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 64 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 65 testRunner.Given("I create an Appointment for an existing Patient and Organization Code \"ORG1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 66 testRunner.And("I store the Created Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 67 testRunner.Given("I configure the default \"AppointmentAmend\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 68 testRunner.And("I set the Created Appointment Description to \"customDescription\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 69 testRunner.And(string.Format("I add a Format parameter with the Value \"{0}\"", format), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 70 testRunner.When("I make the \"AppointmentAmend\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 71 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 72 testRunner.And(string.Format("the response body should be FHIR {0}", bodyFormat), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 73 testRunner.And("the Response Resource should be an Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 74 testRunner.And("the Appointment Description should be valid for \"customDescription\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -239,35 +338,57 @@ public virtual void AmendAppointmentUsingThe_FormatParameterToRequestResponseFor [NUnit.Framework.DescriptionAttribute("Amend appointment using the accept header to request response format")] [NUnit.Framework.TestCaseAttribute("application/fhir+json", "JSON", null)] [NUnit.Framework.TestCaseAttribute("application/fhir+xml", "XML", null)] - public virtual void AmendAppointmentUsingTheAcceptHeaderToRequestResponseFormat(string header, string bodyFormat, string[] exampleTags) + public void AmendAppointmentUsingTheAcceptHeaderToRequestResponseFormat(string header, string bodyFormat, string[] exampleTags) { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Amend appointment using the accept header to request response format", null, exampleTags); + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("Header", header); + argumentsOfScenario.Add("BodyFormat", bodyFormat); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Amend appointment using the accept header to request response format", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 80 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 81 testRunner.Given("I create an Appointment for an existing Patient and Organization Code \"ORG1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 82 testRunner.And("I store the Created Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 83 testRunner.Given("I configure the default \"AppointmentAmend\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 84 testRunner.And("I set the Created Appointment Description to \"customDescription\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 85 testRunner.And(string.Format("I set the Accept header to \"{0}\"", header), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 86 testRunner.When("I make the \"AppointmentAmend\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 87 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 88 testRunner.And(string.Format("the response body should be FHIR {0}", bodyFormat), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 89 testRunner.And("the Response Resource should be an Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 90 testRunner.And("the Appointment Metadata should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 91 testRunner.And("the Appointment Description should be valid for \"customDescription\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -278,533 +399,841 @@ public virtual void AmendAppointmentUsingTheAcceptHeaderToRequestResponseFormat( [NUnit.Framework.TestCaseAttribute("application/fhir+json", "application/fhir+xml", "XML", null)] [NUnit.Framework.TestCaseAttribute("application/fhir+xml", "application/fhir+json", "JSON", null)] [NUnit.Framework.TestCaseAttribute("application/fhir+xml", "application/fhir+xml", "XML", null)] - public virtual void AmendAppointmentUsingThe_FormatAndAcceptParameterToRequestResponseFormat(string header, string parameter, string bodyFormat, string[] exampleTags) + public void AmendAppointmentUsingThe_FormatAndAcceptParameterToRequestResponseFormat(string header, string parameter, string bodyFormat, string[] exampleTags) { + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("Header", header); + argumentsOfScenario.Add("Parameter", parameter); + argumentsOfScenario.Add("BodyFormat", bodyFormat); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Amend appointment using the _format and accept parameter to request response form" + - "at", null, exampleTags); + "at", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 97 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 98 testRunner.Given("I create an Appointment for an existing Patient and Organization Code \"ORG1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 99 testRunner.And("I store the Created Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 100 testRunner.Given("I configure the default \"AppointmentAmend\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 101 testRunner.And(string.Format("I set the Accept header to \"{0}\"", header), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 102 testRunner.And(string.Format("I add the parameter \"_format\" with the value \"{0}\"", parameter), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 103 testRunner.When("I make the \"AppointmentAmend\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 104 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 105 testRunner.And(string.Format("the response body should be FHIR {0}", bodyFormat), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 106 testRunner.And("the Response Resource should be an Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 107 testRunner.And("the Appointment Metadata should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Amend appointment prefer header set to representation")] - public virtual void AmendAppointmentPreferHeaderSetToRepresentation() + public void AmendAppointmentPreferHeaderSetToRepresentation() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Amend appointment prefer header set to representation", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Amend appointment prefer header set to representation", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 115 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 116 testRunner.Given("I create an Appointment for an existing Patient and Organization Code \"ORG1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 117 testRunner.And("I store the Created Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 118 testRunner.Given("I configure the default \"AppointmentAmend\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 119 testRunner.And("I set the Created Appointment Comment to \"customComment\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 120 testRunner.And("I set the Prefer header to \"return=representation\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 121 testRunner.When("I make the \"AppointmentAmend\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 122 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 123 testRunner.And("the response body should be FHIR JSON", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 124 testRunner.And("the Response Resource should be an Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 125 testRunner.And("the content-type should not be equal to null", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 126 testRunner.And("the content-length should not be equal to zero", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Amend appointment prefer header set to minimal")] - public virtual void AmendAppointmentPreferHeaderSetToMinimal() + public void AmendAppointmentPreferHeaderSetToMinimal() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Amend appointment prefer header set to minimal", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Amend appointment prefer header set to minimal", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 128 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 129 testRunner.Given("I create an Appointment for an existing Patient and Organization Code \"ORG1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 130 testRunner.And("I store the Created Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 131 testRunner.Given("I configure the default \"AppointmentAmend\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 132 testRunner.And("I set the Prefer header to \"return=minimal\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 133 testRunner.When("I make the \"AppointmentAmend\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 134 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 135 testRunner.And("the response body should be empty", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Amend appointment send an update with an invalid if-match header")] - public virtual void AmendAppointmentSendAnUpdateWithAnInvalidIf_MatchHeader() + public void AmendAppointmentSendAnUpdateWithAnInvalidIf_MatchHeader() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Amend appointment send an update with an invalid if-match header", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Amend appointment send an update with an invalid if-match header", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 137 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 138 testRunner.Given("I create an Appointment for an existing Patient and Organization Code \"ORG1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 139 testRunner.And("I store the Created Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 140 testRunner.Given("I configure the default \"AppointmentAmend\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 141 testRunner.And("I set the Created Appointment Comment to \"customComment\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 142 testRunner.And("I set the If-Match header to \"invalidEtag\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 143 testRunner.When("I make the \"AppointmentAmend\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 144 testRunner.Then("the response status code should be \"409\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Amend appointment set etag and check etag is the same in the returned amended app" + "ointment")] - public virtual void AmendAppointmentSetEtagAndCheckEtagIsTheSameInTheReturnedAmendedAppointment() + public void AmendAppointmentSetEtagAndCheckEtagIsTheSameInTheReturnedAmendedAppointment() { + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Amend appointment set etag and check etag is the same in the returned amended app" + - "ointment", null, ((string[])(null))); + "ointment", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 146 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 147 testRunner.Given("I create an Appointment for an existing Patient and Organization Code \"ORG1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 148 testRunner.And("I store the Created Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 149 testRunner.Given("I configure the default \"AppointmentAmend\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 151 testRunner.And("I set the Created Appointment Description to \"customDescription\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 152 testRunner.And("I set the If-Match header to the Stored Appointment Version Id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 153 testRunner.When("I make the \"AppointmentAmend\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 154 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 155 testRunner.And("the Response Resource should be an Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 157 testRunner.And("the Appointment Description should be valid for \"customDescription\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Amend appointment and send an invalid bundle resource")] - public virtual void AmendAppointmentAndSendAnInvalidBundleResource() + public void AmendAppointmentAndSendAnInvalidBundleResource() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Amend appointment and send an invalid bundle resource", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Amend appointment and send an invalid bundle resource", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 159 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 160 testRunner.Given("I create an Appointment for an existing Patient and Organization Code \"ORG1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 161 testRunner.And("I store the Created Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 162 testRunner.Given("I configure the default \"AppointmentAmend\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 163 testRunner.And("I set the Created Appointment Comment to \"customComment\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 164 testRunner.When("I make the \"AppointmentAmend\" request with invalid Resource type", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 165 testRunner.Then("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 166 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_RESOU" + - "RCE\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "RCE\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Amend appointment and send an invalid appointment resource")] - public virtual void AmendAppointmentAndSendAnInvalidAppointmentResource() + public void AmendAppointmentAndSendAnInvalidAppointmentResource() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Amend appointment and send an invalid appointment resource", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Amend appointment and send an invalid appointment resource", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 181 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 182 testRunner.Given("I create an Appointment for an existing Patient and Organization Code \"ORG1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 183 testRunner.And("I store the Created Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 184 testRunner.Given("I configure the default \"AppointmentAmend\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 185 testRunner.And("I amend an invalid appointment field", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 186 testRunner.When("I make the \"AppointmentAmend\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 187 testRunner.Then("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 188 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_RESOU" + - "RCE\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "RCE\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("CapabilityStatement profile support the Amend appointment operation")] - public virtual void CapabilityStatementProfileSupportTheAmendAppointmentOperation() + public void CapabilityStatementProfileSupportTheAmendAppointmentOperation() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("CapabilityStatement profile support the Amend appointment operation", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("CapabilityStatement profile support the Amend appointment operation", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 190 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 191 testRunner.Given("I configure the default \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 192 testRunner.When("I make the \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 193 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 194 testRunner.And("the CapabilityStatement REST Resources should contain the \"Appointment\" Resource " + - "with the \"Update\" Interaction", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "with the \"Update\" Interaction", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Amend appointment valid response check caching headers exist")] - public virtual void AmendAppointmentValidResponseCheckCachingHeadersExist() + public void AmendAppointmentValidResponseCheckCachingHeadersExist() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Amend appointment valid response check caching headers exist", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Amend appointment valid response check caching headers exist", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 196 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 197 testRunner.Given("I create an Appointment for an existing Patient and Organization Code \"ORG1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 198 testRunner.And("I store the Created Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 199 testRunner.Given("I configure the default \"AppointmentAmend\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 200 testRunner.And("I set the Created Appointment Description to \"customDescription\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 201 testRunner.When("I make the \"AppointmentAmend\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 202 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 203 testRunner.And("the Response Resource should be an Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 204 testRunner.And("the Appointment Description should be valid for \"customDescription\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 205 testRunner.And("the Appointment Metadata should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 206 testRunner.And("the required cacheing headers should be present in the response", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Amend appointment invalid response check caching headers exist")] - public virtual void AmendAppointmentInvalidResponseCheckCachingHeadersExist() + public void AmendAppointmentInvalidResponseCheckCachingHeadersExist() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Amend appointment invalid response check caching headers exist", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Amend appointment invalid response check caching headers exist", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 222 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 223 testRunner.Given("I create an Appointment for an existing Patient and Organization Code \"ORG1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 224 testRunner.And("I store the Created Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 225 testRunner.Given("I configure the default \"AppointmentAmend\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 226 testRunner.And("I amend an invalid appointment field", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 227 testRunner.When("I make the \"AppointmentAmend\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 228 testRunner.Then("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 229 testRunner.And("the required cacheing headers should be present in the response", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Amend appointment and update cancellation reason")] - public virtual void AmendAppointmentAndUpdateCancellationReason() + public void AmendAppointmentAndUpdateCancellationReason() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Amend appointment and update cancellation reason", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Amend appointment and update cancellation reason", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 233 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 234 testRunner.Given("I create an Appointment for an existing Patient and Organization Code \"ORG1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 235 testRunner.And("I store the Created Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 236 testRunner.Given("I configure the default \"AppointmentAmend\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 237 testRunner.And("I set the Created Appointment Cancellation Reason \"double booked\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 238 testRunner.When("I make the \"AppointmentAmend\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 239 testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 240 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_RESOU" + - "RCE\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "RCE\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Amend appointment with Comment and Description")] - public virtual void AmendAppointmentWithCommentAndDescription() + public void AmendAppointmentWithCommentAndDescription() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Amend appointment with Comment and Description", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Amend appointment with Comment and Description", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 244 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 245 testRunner.Given("I create an Appointment for an existing Patient and Organization Code \"ORG1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 246 testRunner.And("I store the Created Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 247 testRunner.Given("I configure the default \"AppointmentAmend\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 248 testRunner.And("I set the Created Appointment Description to \"customDescription\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 249 testRunner.And("I set the Created Appointment Comment to \"customComment\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 250 testRunner.When("I make the \"AppointmentAmend\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 251 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 252 testRunner.And("the Response Resource should be an Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 253 testRunner.And("the Appointment Description should be valid for \"customDescription\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Amend appointment and update to absolute reference")] - public virtual void AmendAppointmentAndUpdateToAbsoluteReference() + public void AmendAppointmentAndUpdateToAbsoluteReference() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Amend appointment and update to absolute reference", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Amend appointment and update to absolute reference", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 257 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 258 testRunner.Given("I create an Appointment for an existing Patient and Organization Code \"ORG1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 259 testRunner.And("I store the Created Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 260 testRunner.Given("I configure the default \"AppointmentAmend\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 261 testRunner.And("I amend the cancel organization reference to absolute reference", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 262 testRunner.When("I make the \"AppointmentAmend\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 263 testRunner.Then("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 264 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_RESOU" + - "RCE\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "RCE\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("I perform amend appointment with participants with absoulte references")] - public virtual void IPerformAmendAppointmentWithParticipantsWithAbsoulteReferences() + public void IPerformAmendAppointmentWithParticipantsWithAbsoulteReferences() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("I perform amend appointment with participants with absoulte references", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("I perform amend appointment with participants with absoulte references", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 266 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 267 testRunner.Given("I create an Appointment for an existing Patient and Organization Code \"ORG1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 268 testRunner.And("I store the Created Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 269 testRunner.Given("I configure the default \"AppointmentCancel\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 270 testRunner.And("I set the Created Appointment to Cancelled with Reason \"double booked\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 271 testRunner.And("I add a Participant with Reference \"https://test1.supplier.thirdparty.nhs.uk/A111" + - "11/STU3/1/GPConnect/Location/2\" to the Created Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "11/STU3/1/GPConnect/Location/2\" to the Created Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 272 testRunner.And("I add a Participant with Reference \"https://test1.supplier.thirdparty.nhs.uk/A111" + - "11/STU3/1/GPConnect/Practitioner/2\" to the Created Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "11/STU3/1/GPConnect/Practitioner/2\" to the Created Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 273 testRunner.And("I add a Participant with Reference \"https://test1.supplier.thirdparty.nhs.uk/A111" + - "11/STU3/1/GPConnect/Patient/2\" to the Created Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "11/STU3/1/GPConnect/Patient/2\" to the Created Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 274 testRunner.When("I make the \"AppointmentAmend\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 275 testRunner.Then("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 276 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_RESOU" + - "RCE\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "RCE\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Successfully amend comment and description on an appointment when sending in Serv" + "iceCategory and serviceType")] - public virtual void SuccessfullyAmendCommentAndDescriptionOnAnAppointmentWhenSendingInServiceCategoryAndServiceType() + public void SuccessfullyAmendCommentAndDescriptionOnAnAppointmentWhenSendingInServiceCategoryAndServiceType() { + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Successfully amend comment and description on an appointment when sending in Serv" + - "iceCategory and serviceType", null, ((string[])(null))); + "iceCategory and serviceType", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 278 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 279 testRunner.Given("I create an Appointment in \"2\" days time for Patient \"patient1\" and Organization " + - "Code \"ORG1\" With serviceCategory and serviceType in Request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); + "Code \"ORG1\" With serviceCategory and serviceType in Request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 280 testRunner.And("I store the Created Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 281 testRunner.Given("I configure the default \"AppointmentAmend\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 282 testRunner.And("I set the Created Appointment Description to \"TestChangedDescription\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 283 testRunner.And("I set the Created Appointment Comment to \"TestChangedComment\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 284 testRunner.When("I make the \"AppointmentAmend\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 285 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 286 testRunner.And("the Response Resource should be an Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 287 testRunner.And("the Appointments returned must be in the future", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 288 testRunner.And("the Appointment Metadata should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 289 testRunner.And("the Appointment Status should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 290 testRunner.And("the Appointment Start should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 291 testRunner.And("the Appointment End should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 292 testRunner.And("the Appointment Slots should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 293 testRunner.And("the Appointment Participants should be valid and resolvable", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 294 testRunner.And("the Appointment Priority should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 295 testRunner.And("the Appointment Participant Type and Actor should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 296 testRunner.And("the Appointment Identifiers should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 297 testRunner.And("the Appointment Description should be valid for \"TestChangedDescription\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 298 testRunner.And("the Appointment Comment should be valid for \"TestChangedComment\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 299 testRunner.And("the Appointment Created must be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 300 testRunner.And("the Appointment DeliveryChannel must be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 301 testRunner.And("the Appointment PractitionerRole must be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 302 testRunner.And("the Appointment Not In Use should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Successfully amend appointment ensuring backwards compatibility with consumers th" + "at do not send ServiceCategory And serviceType expect success")] - public virtual void SuccessfullyAmendAppointmentEnsuringBackwardsCompatibilityWithConsumersThatDoNotSendServiceCategoryAndServiceTypeExpectSuccess() + public void SuccessfullyAmendAppointmentEnsuringBackwardsCompatibilityWithConsumersThatDoNotSendServiceCategoryAndServiceTypeExpectSuccess() { + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Successfully amend appointment ensuring backwards compatibility with consumers th" + - "at do not send ServiceCategory And serviceType expect success", null, ((string[])(null))); + "at do not send ServiceCategory And serviceType expect success", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 304 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 305 testRunner.Given("I create an Appointment in \"2\" days time for Patient \"patient1\" and Organization " + - "Code \"ORG1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); + "Code \"ORG1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 306 testRunner.And("I store the Created Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 307 testRunner.Given("I configure the default \"AppointmentAmend\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 308 testRunner.And("I set the Created Appointment Description to \"TestChangedDescription\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 309 testRunner.And("I set the Created Appointment Comment to \"TestChangedComment\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 310 testRunner.And("I Remove the serviceCategory and the serviceType from the appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 311 testRunner.When("I make the \"AppointmentAmend\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 312 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 313 testRunner.And("the Response Resource should be an Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 314 testRunner.And("the Appointments returned must be in the future", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 315 testRunner.And("the Appointment Metadata should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 316 testRunner.And("the Appointment Status should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 317 testRunner.And("the Appointment Start should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 318 testRunner.And("the Appointment End should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 319 testRunner.And("the Appointment Slots should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 320 testRunner.And("the Appointment Participants should be valid and resolvable", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 321 testRunner.And("the Appointment Priority should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 322 testRunner.And("the Appointment Participant Type and Actor should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 323 testRunner.And("the Appointment Identifiers should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 324 testRunner.And("the Appointment Description should be valid for \"TestChangedDescription\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 325 testRunner.And("the Appointment Comment should be valid for \"TestChangedComment\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 326 testRunner.And("the Appointment Created must be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 327 testRunner.And("the Appointment DeliveryChannel must be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 328 testRunner.And("the Appointment PractitionerRole must be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 329 testRunner.And("the Appointment Not In Use should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } } diff --git a/GPConnect.Provider.AcceptanceTests/AppointmentBook.feature.cs b/GPConnect.Provider.AcceptanceTests/AppointmentBook.feature.cs index a07c9b0e..589b9732 100644 --- a/GPConnect.Provider.AcceptanceTests/AppointmentBook.feature.cs +++ b/GPConnect.Provider.AcceptanceTests/AppointmentBook.feature.cs @@ -1,8 +1,8 @@ -// ------------------------------------------------------------------------------ +// ------------------------------------------------------------------------------ // -// This code was generated by SpecFlow (http://www.specflow.org/). -// SpecFlow Version:3.0.0.0 -// SpecFlow Generator Version:3.0.0.0 +// This code was generated by SpecFlow (https://www.specflow.org/). +// SpecFlow Version:3.9.0.0 +// SpecFlow Generator Version:3.9.0.0 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. @@ -13,9 +13,11 @@ namespace GPConnect.Provider.AcceptanceTests { using TechTalk.SpecFlow; + using System; + using System.Linq; - [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "3.0.0.0")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "3.9.0.0")] [System.Runtime.CompilerServices.CompilerGeneratedAttribute()] [NUnit.Framework.TestFixtureAttribute()] [NUnit.Framework.DescriptionAttribute("AppointmentBook")] @@ -26,6 +28,10 @@ public partial class AppointmentBookFeature private TechTalk.SpecFlow.ITestRunner testRunner; + private static string[] featureTags = new string[] { + "appointment", + "1.5.0-Full-Pack"}; + #line 1 "AppointmentBook.feature" #line hidden @@ -33,9 +39,7 @@ public partial class AppointmentBookFeature public virtual void FeatureSetup() { testRunner = TechTalk.SpecFlow.TestRunnerManager.GetTestRunner(); - TechTalk.SpecFlow.FeatureInfo featureInfo = new TechTalk.SpecFlow.FeatureInfo(new System.Globalization.CultureInfo("en-US"), "AppointmentBook", null, ProgrammingLanguage.CSharp, new string[] { - "appointment", - "1.5.0-Full-Pack"}); + TechTalk.SpecFlow.FeatureInfo featureInfo = new TechTalk.SpecFlow.FeatureInfo(new System.Globalization.CultureInfo("en-US"), "", "AppointmentBook", null, ProgrammingLanguage.CSharp, featureTags); testRunner.OnFeatureStart(featureInfo); } @@ -47,59 +51,77 @@ public virtual void FeatureTearDown() } [NUnit.Framework.SetUpAttribute()] - public virtual void TestInitialize() + public void TestInitialize() { } [NUnit.Framework.TearDownAttribute()] - public virtual void ScenarioTearDown() + public void TestTearDown() { testRunner.OnScenarioEnd(); } - public virtual void ScenarioInitialize(TechTalk.SpecFlow.ScenarioInfo scenarioInfo) + public void ScenarioInitialize(TechTalk.SpecFlow.ScenarioInfo scenarioInfo) { testRunner.OnScenarioInitialize(scenarioInfo); testRunner.ScenarioContext.ScenarioContainer.RegisterInstanceAs(NUnit.Framework.TestContext.CurrentContext); } - public virtual void ScenarioStart() + public void ScenarioStart() { testRunner.OnScenarioStart(); } - public virtual void ScenarioCleanup() + public void ScenarioCleanup() { testRunner.CollectScenarioErrors(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Book single appointment for patient")] - public virtual void BookSingleAppointmentForPatient() + public void BookSingleAppointmentForPatient() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Book single appointment for patient", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Book single appointment for patient", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 4 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 5 testRunner.Given("I get an existing patients nshNumber", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 6 testRunner.And("I store the Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 7 testRunner.Given("I get Available Free Slots", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 8 testRunner.And("I store the Free Slots Bundle", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 9 testRunner.Given("I configure the default \"AppointmentCreate\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 10 testRunner.And("I create an Appointment from the stored Patient and stored Schedule", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 11 testRunner.When("I make the \"AppointmentCreate\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 12 testRunner.Then("the response status code should indicate created", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 13 testRunner.And("the Response Resource should be an Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -113,138 +135,223 @@ public virtual void BookSingleAppointmentForPatient() [NUnit.Framework.TestCaseAttribute("true", "false", "true", null)] [NUnit.Framework.TestCaseAttribute("true", "true", "false", null)] [NUnit.Framework.TestCaseAttribute("true", "true", "true", null)] - public virtual void BookSingleAppointmentForPatientWithOptionalElements(string orgType, string deliveryChannel, string pracRole, string[] exampleTags) + public void BookSingleAppointmentForPatientWithOptionalElements(string orgType, string deliveryChannel, string pracRole, string[] exampleTags) { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Book single appointment for patient with optional elements", null, exampleTags); + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("OrgType", orgType); + argumentsOfScenario.Add("DeliveryChannel", deliveryChannel); + argumentsOfScenario.Add("PracRole", pracRole); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Book single appointment for patient with optional elements", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 15 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 16 testRunner.Given("I get an existing patients nshNumber", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 17 testRunner.And("I store the Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 18 testRunner.Given(string.Format("I get Available Free Slots with org type \"{0}\"", orgType), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 19 testRunner.And("I store the Free Slots Bundle", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 20 testRunner.Given("I configure the default \"AppointmentCreate\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 21 testRunner.And(string.Format("I create an Appointment with org type \"{0}\" with channel \"{1}\" with prac role \"{2" + - "}\"", orgType, deliveryChannel, pracRole), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "}\"", orgType, deliveryChannel, pracRole), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 22 testRunner.When("I make the \"AppointmentCreate\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 23 testRunner.Then("the response status code should indicate created", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 24 testRunner.And("the Response Resource should be an Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 25 testRunner.And("the Appointment DeliveryChannel must be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 26 testRunner.And("the Appointment PractitionerRole must be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 29 testRunner.And("the Appointment Not In Use should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Book single appointment for patient with Extensions")] [NUnit.Framework.TestCaseAttribute("true", "true", "true", null)] - public virtual void BookSingleAppointmentForPatientWithExtensions(string orgType, string deliveryChannel, string pracRole, string[] exampleTags) + public void BookSingleAppointmentForPatientWithExtensions(string orgType, string deliveryChannel, string pracRole, string[] exampleTags) { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Book single appointment for patient with Extensions", null, exampleTags); + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("OrgType", orgType); + argumentsOfScenario.Add("DeliveryChannel", deliveryChannel); + argumentsOfScenario.Add("PracRole", pracRole); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Book single appointment for patient with Extensions", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 41 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 42 testRunner.Given("I get an existing patients nshNumber", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 43 testRunner.And("I store the Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 44 testRunner.Given("I get Available Free Slots", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 45 testRunner.And("I store the Free Slots Bundle", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 46 testRunner.Given("I configure the default \"AppointmentCreate\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 47 testRunner.And(string.Format("I create an Appointment with org type \"{0}\" with channel \"{1}\" with prac role \"{2" + - "}\"", orgType, deliveryChannel, pracRole), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "}\"", orgType, deliveryChannel, pracRole), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 48 testRunner.When("I make the \"AppointmentCreate\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 49 testRunner.Then("the response status code should indicate created", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 50 testRunner.And("the Response Resource should be an Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 51 testRunner.And("the Appointment DeliveryChannel must be present", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 52 testRunner.And("the Appointment PractitionerRole must be present", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Book single appointment for patient without organisation type")] - public virtual void BookSingleAppointmentForPatientWithoutOrganisationType() + public void BookSingleAppointmentForPatientWithoutOrganisationType() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Book single appointment for patient without organisation type", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Book single appointment for patient without organisation type", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 57 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 58 testRunner.Given("I get an existing patients nshNumber", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 59 testRunner.And("I store the Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 60 testRunner.Given("I get Available Free Slots without organisation type", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 61 testRunner.And("I store the Free Slots Bundle", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 62 testRunner.Given("I configure the default \"AppointmentCreate\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 63 testRunner.And("I create an Appointment without organisationType from the stored Patient and stor" + - "ed Schedule", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ed Schedule", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 64 testRunner.When("I make the \"AppointmentCreate\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 65 testRunner.Then("the response status code should indicate created", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 66 testRunner.And("the Response Resource should be an Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Book Appointment with invalid url for booking appointment")] [NUnit.Framework.TestCaseAttribute("appointmentqq/!", null)] - public virtual void BookAppointmentWithInvalidUrlForBookingAppointment(string url, string[] exampleTags) + public void BookAppointmentWithInvalidUrlForBookingAppointment(string url, string[] exampleTags) { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Book Appointment with invalid url for booking appointment", null, exampleTags); + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("url", url); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Book Appointment with invalid url for booking appointment", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 83 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 84 testRunner.Given("I get an existing patients nshNumber", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 85 testRunner.And("I store the Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 86 testRunner.Given("I get Available Free Slots", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 87 testRunner.And("I store the Free Slots Bundle", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 88 testRunner.Given("I configure the default \"AppointmentCreate\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 89 testRunner.And("I create an Appointment from the stored Patient and stored Schedule", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 90 testRunner.And(string.Format("I set the request URL to \"{0}\"", url), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 91 testRunner.When("I make the \"AppointmentCreate\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 92 testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 93 testRunner.And("the response should be a OperationOutcome resource", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -254,63 +361,100 @@ public virtual void BookAppointmentWithInvalidUrlForBookingAppointment(string ur [NUnit.Framework.TestCaseAttribute("application/fhir+json", "application/fhir+xml", "XML", null)] [NUnit.Framework.TestCaseAttribute("application/fhir+xml", "application/fhir+json", "JSON", null)] [NUnit.Framework.TestCaseAttribute("application/fhir+xml", "application/fhir+xml", "XML", null)] - public virtual void BookAppointmentAcceptHeaderAnd_FormatParameterToRequestResponseFormat(string header, string parameter, string bodyFormat, string[] exampleTags) + public void BookAppointmentAcceptHeaderAnd_FormatParameterToRequestResponseFormat(string header, string parameter, string bodyFormat, string[] exampleTags) { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Book appointment accept header and _format parameter to request response format", null, exampleTags); + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("Header", header); + argumentsOfScenario.Add("Parameter", parameter); + argumentsOfScenario.Add("BodyFormat", bodyFormat); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Book appointment accept header and _format parameter to request response format", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 98 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 99 testRunner.Given("I get an existing patients nshNumber", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 100 testRunner.And("I store the Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 101 testRunner.Given("I get Available Free Slots", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 102 testRunner.And("I store the Free Slots Bundle", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 103 testRunner.Given("I configure the default \"AppointmentCreate\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 104 testRunner.And("I create an Appointment from the stored Patient and stored Schedule", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 105 testRunner.And(string.Format("I set the Accept header to \"{0}\"", header), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 106 testRunner.And(string.Format("I add the parameter \"_format\" with the value \"{0}\"", parameter), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 107 testRunner.When("I make the \"AppointmentCreate\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 108 testRunner.Then("the response status code should indicate created", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 109 testRunner.And(string.Format("the response body should be FHIR {0}", bodyFormat), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 110 testRunner.And("the Response Resource should be an Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 111 testRunner.And("the Appointment Metadata should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 112 testRunner.And("the Appointment Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 113 testRunner.And("the Appointment Status should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 114 testRunner.And("the Appointment Start should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 115 testRunner.And("the Appointment End should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 116 testRunner.And("the Appointment Participants should be valid and resolvable", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 117 testRunner.And("the Appointment Slots should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 118 testRunner.And("the Appointment Description must be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 119 testRunner.And("the booking organization extension must be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 120 testRunner.And("the Appointment Created must be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 121 testRunner.And("the appointment reason must not be included", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 122 testRunner.And("the Appointment DeliveryChannel must be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 123 testRunner.And("the Appointment PractitionerRole must be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -320,43 +464,70 @@ public virtual void BookAppointmentAcceptHeaderAnd_FormatParameterToRequestRespo [NUnit.Framework.TestCaseAttribute("application/fhir+json", "application/fhir+xml", "XML", null)] [NUnit.Framework.TestCaseAttribute("application/fhir+xml", "application/fhir+json", "JSON", null)] [NUnit.Framework.TestCaseAttribute("application/fhir+xml", "application/fhir+xml", "XML", null)] - public virtual void BookAppointment_FormatParameterOnlyButVaryingRequestContentTypes(string contentType, string parameter, string bodyFormat, string[] exampleTags) + public void BookAppointment_FormatParameterOnlyButVaryingRequestContentTypes(string contentType, string parameter, string bodyFormat, string[] exampleTags) { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Book appointment _format parameter only but varying request content types", null, exampleTags); + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("ContentType", contentType); + argumentsOfScenario.Add("Parameter", parameter); + argumentsOfScenario.Add("BodyFormat", bodyFormat); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Book appointment _format parameter only but varying request content types", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 131 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 132 testRunner.Given("I get an existing patients nshNumber", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 133 testRunner.And("I store the Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 134 testRunner.Given("I get Available Free Slots", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 135 testRunner.And("I store the Free Slots Bundle", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 136 testRunner.Given("I configure the default \"AppointmentCreate\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 137 testRunner.And("I create an Appointment from the stored Patient and stored Schedule", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 138 testRunner.And(string.Format("I set the request content type to \"{0}\"", contentType), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 139 testRunner.And(string.Format("I add the parameter \"_format\" with the value \"{0}\"", parameter), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 140 testRunner.When("I make the \"AppointmentCreate\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 141 testRunner.Then("the response status code should indicate created", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 142 testRunner.And(string.Format("the response body should be FHIR {0}", bodyFormat), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 143 testRunner.And("the Response Resource should be an Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 144 testRunner.And("the Appointment Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 145 testRunner.And("the Appointment Status should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 146 testRunner.And("the Appointment Slots should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -364,177 +535,282 @@ public virtual void BookAppointment_FormatParameterOnlyButVaryingRequestContentT [NUnit.Framework.DescriptionAttribute("Book appointment accept header to request response format")] [NUnit.Framework.TestCaseAttribute("application/fhir+json", "JSON", null)] [NUnit.Framework.TestCaseAttribute("application/fhir+xml", "XML", null)] - public virtual void BookAppointmentAcceptHeaderToRequestResponseFormat(string header, string bodyFormat, string[] exampleTags) + public void BookAppointmentAcceptHeaderToRequestResponseFormat(string header, string bodyFormat, string[] exampleTags) { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Book appointment accept header to request response format", null, exampleTags); + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("Header", header); + argumentsOfScenario.Add("BodyFormat", bodyFormat); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Book appointment accept header to request response format", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 154 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 155 testRunner.Given("I get an existing patients nshNumber", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 156 testRunner.And("I store the Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 157 testRunner.Given("I get Available Free Slots", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 158 testRunner.And("I store the Free Slots Bundle", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 159 testRunner.Given("I configure the default \"AppointmentCreate\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 160 testRunner.And("I create an Appointment from the stored Patient and stored Schedule", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 161 testRunner.And(string.Format("I set the Accept header to \"{0}\"", header), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 162 testRunner.When("I make the \"AppointmentCreate\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 163 testRunner.Then("the response status code should indicate created", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 164 testRunner.And(string.Format("the response body should be FHIR {0}", bodyFormat), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 165 testRunner.And("the Response Resource should be an Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 166 testRunner.And("the Appointment Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 167 testRunner.And("the Appointment Status should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 168 testRunner.And("the Appointment Slots should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Book appointment prefer header set to representation")] - public virtual void BookAppointmentPreferHeaderSetToRepresentation() + public void BookAppointmentPreferHeaderSetToRepresentation() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Book appointment prefer header set to representation", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Book appointment prefer header set to representation", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 174 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 175 testRunner.Given("I get an existing patients nshNumber", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 176 testRunner.And("I store the Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 177 testRunner.Given("I get Available Free Slots", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 178 testRunner.And("I store the Free Slots Bundle", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 179 testRunner.Given("I configure the default \"AppointmentCreate\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 180 testRunner.And("I create an Appointment from the stored Patient and stored Schedule", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 181 testRunner.And("I set the Prefer header to \"return=representation\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 182 testRunner.When("I make the \"AppointmentCreate\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 183 testRunner.Then("the response status code should indicate created", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 184 testRunner.And("the response body should be FHIR JSON", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 185 testRunner.And("the Response Resource should be an Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 186 testRunner.And("the content-type should not be equal to null", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 187 testRunner.And("the content-length should not be equal to zero", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Book appointment prefer header set to minimal")] - public virtual void BookAppointmentPreferHeaderSetToMinimal() + public void BookAppointmentPreferHeaderSetToMinimal() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Book appointment prefer header set to minimal", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Book appointment prefer header set to minimal", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 189 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 190 testRunner.Given("I get an existing patients nshNumber", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 191 testRunner.And("I store the Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 192 testRunner.Given("I get Available Free Slots", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 193 testRunner.And("I store the Free Slots Bundle", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 194 testRunner.Given("I configure the default \"AppointmentCreate\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 195 testRunner.And("I create an Appointment from the stored Patient and stored Schedule", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 196 testRunner.And("I set the Prefer header to \"return=minimal\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 197 testRunner.When("I make the \"AppointmentCreate\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 198 testRunner.Then("the response status code should indicate created", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 199 testRunner.And("the response body should be empty", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Book Appointment and appointment participant is valid")] - public virtual void BookAppointmentAndAppointmentParticipantIsValid() + public void BookAppointmentAndAppointmentParticipantIsValid() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Book Appointment and appointment participant is valid", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Book Appointment and appointment participant is valid", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 201 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 202 testRunner.Given("I get an existing patients nshNumber", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 203 testRunner.And("I store the Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 204 testRunner.Given("I get Available Free Slots", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 205 testRunner.And("I store the Free Slots Bundle", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 206 testRunner.Given("I configure the default \"AppointmentCreate\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 207 testRunner.And("I create an Appointment from the stored Patient and stored Schedule", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 208 testRunner.When("I make the \"AppointmentCreate\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 209 testRunner.Then("the response status code should indicate created", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 210 testRunner.And("the Response Resource should be an Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 211 testRunner.And("the Appointment Participants should be valid and resolvable", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 212 testRunner.And("the Appointment Participant Type and Actor should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Book Appointment without practitioner participant")] - public virtual void BookAppointmentWithoutPractitionerParticipant() + public void BookAppointmentWithoutPractitionerParticipant() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Book Appointment without practitioner participant", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Book Appointment without practitioner participant", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 214 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 215 testRunner.Given("I get an existing patients nshNumber", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 216 testRunner.And("I store the Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 217 testRunner.Given("I get Available Free Slots", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 218 testRunner.And("I store the Free Slots Bundle", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 219 testRunner.Given("I configure the default \"AppointmentCreate\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 220 testRunner.And("I create an Appointment from the stored Patient and stored Schedule", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 221 testRunner.And("I remove the \"Practitioner\" Participants from the Created Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 222 testRunner.When("I make the \"AppointmentCreate\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 223 testRunner.Then("the response status code should indicate created", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 224 testRunner.And("the Response Resource should be an Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -542,109 +818,171 @@ public virtual void BookAppointmentWithoutPractitionerParticipant() [NUnit.Framework.DescriptionAttribute("Book Appointment and remove manadatory resources from the appointment booking")] [NUnit.Framework.TestCaseAttribute("Patient", null)] [NUnit.Framework.TestCaseAttribute("Location", null)] - public virtual void BookAppointmentAndRemoveManadatoryResourcesFromTheAppointmentBooking(string participantToRemove, string[] exampleTags) + public void BookAppointmentAndRemoveManadatoryResourcesFromTheAppointmentBooking(string participantToRemove, string[] exampleTags) { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Book Appointment and remove manadatory resources from the appointment booking", null, exampleTags); + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("ParticipantToRemove", participantToRemove); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Book Appointment and remove manadatory resources from the appointment booking", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 226 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 227 testRunner.Given("I get an existing patients nshNumber", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 228 testRunner.And("I store the Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 229 testRunner.Given("I get Available Free Slots", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 230 testRunner.And("I store the Free Slots Bundle", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 231 testRunner.Given("I configure the default \"AppointmentCreate\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 232 testRunner.And("I create an Appointment from the stored Patient and stored Schedule", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 233 testRunner.And(string.Format("I remove the \"{0}\" Participants from the Created Appointment", participantToRemove), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 234 testRunner.When("I make the \"AppointmentCreate\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 235 testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 236 testRunner.And("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 237 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_RESOU" + - "RCE\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "RCE\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Book Appointment and remove all participants")] - public virtual void BookAppointmentAndRemoveAllParticipants() + public void BookAppointmentAndRemoveAllParticipants() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Book Appointment and remove all participants", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Book Appointment and remove all participants", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 243 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 244 testRunner.Given("I get an existing patients nshNumber", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 245 testRunner.And("I store the Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 246 testRunner.Given("I get Available Free Slots", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 247 testRunner.And("I store the Free Slots Bundle", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 248 testRunner.Given("I configure the default \"AppointmentCreate\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 249 testRunner.And("I create an Appointment from the stored Patient and stored Schedule", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 250 testRunner.And("I remove the \"Location\" Participants from the Created Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 251 testRunner.And("I remove the \"Patient\" Participants from the Created Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 252 testRunner.And("I remove the \"Practitioner\" Participants from the Created Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 253 testRunner.When("I make the \"AppointmentCreate\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 254 testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 255 testRunner.And("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 256 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_RESOU" + - "RCE\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "RCE\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Book appointment for patient and send extra fields in the resource")] - public virtual void BookAppointmentForPatientAndSendExtraFieldsInTheResource() + public void BookAppointmentForPatientAndSendExtraFieldsInTheResource() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Book appointment for patient and send extra fields in the resource", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Book appointment for patient and send extra fields in the resource", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 258 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 259 testRunner.Given("I get an existing patients nshNumber", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 260 testRunner.And("I store the Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 261 testRunner.Given("I get Available Free Slots", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 262 testRunner.And("I store the Free Slots Bundle", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 263 testRunner.Given("I configure the default \"AppointmentCreate\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 264 testRunner.And("I create an Appointment from the stored Patient and stored Schedule", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 265 testRunner.When("I make the \"AppointmentCreate\" request with Invalid Additional Field in the Resou" + - "rce", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); + "rce", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 266 testRunner.Then("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 267 testRunner.And("the response body should be FHIR JSON", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 268 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_RESOU" + - "RCE\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "RCE\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -654,1053 +992,1650 @@ public virtual void BookAppointmentForPatientAndSendExtraFieldsInTheResource() [NUnit.Framework.TestCaseAttribute("Slot/45555555##", null)] [NUnit.Framework.TestCaseAttribute("Slot/hello", null)] [NUnit.Framework.TestCaseAttribute("https://test1.supplier.thirdparty.nhs.uk/A11111/STU3/1/GPConnect/Slot/#12345", null)] - public virtual void BookAppointmentWithInvalidSlotReference(string slotReference, string[] exampleTags) + public void BookAppointmentWithInvalidSlotReference(string slotReference, string[] exampleTags) { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Book appointment with invalid slot reference", null, exampleTags); + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("slotReference", slotReference); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Book appointment with invalid slot reference", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 270 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 271 testRunner.Given("I get an existing patients nshNumber", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 272 testRunner.And("I store the Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 273 testRunner.Given("I get Available Free Slots", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 274 testRunner.And("I store the Free Slots Bundle", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 275 testRunner.Given("I configure the default \"AppointmentCreate\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 276 testRunner.And("I create an Appointment from the stored Patient and stored Schedule", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 277 testRunner.And(string.Format("I set the Created Appointment Slot Reference to \"{0}\"", slotReference), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 278 testRunner.When("I make the \"AppointmentCreate\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 279 testRunner.Then("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 280 testRunner.And("the response body should be FHIR JSON", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 281 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_RESOU" + - "RCE\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "RCE\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Book single appointment for patient and check the location reference is valid")] - public virtual void BookSingleAppointmentForPatientAndCheckTheLocationReferenceIsValid() + public void BookSingleAppointmentForPatientAndCheckTheLocationReferenceIsValid() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Book single appointment for patient and check the location reference is valid", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Book single appointment for patient and check the location reference is valid", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 290 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 291 testRunner.Given("I get an existing patients nshNumber", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 292 testRunner.And("I store the Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 293 testRunner.Given("I get Available Free Slots", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 294 testRunner.And("I store the Free Slots Bundle", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 295 testRunner.Given("I configure the default \"AppointmentCreate\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 296 testRunner.And("I create an Appointment from the stored Patient and stored Schedule", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 297 testRunner.When("I make the \"AppointmentCreate\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 298 testRunner.Then("the response status code should indicate created", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 299 testRunner.And("the response body should be FHIR JSON", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 300 testRunner.And("the Response Resource should be an Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 301 testRunner.And("the Appointment Location Participant should be valid and resolvable", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Book appointment with missing start element in appointment resource")] - public virtual void BookAppointmentWithMissingStartElementInAppointmentResource() + public void BookAppointmentWithMissingStartElementInAppointmentResource() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Book appointment with missing start element in appointment resource", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Book appointment with missing start element in appointment resource", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 303 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 304 testRunner.Given("I get an existing patients nshNumber", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 305 testRunner.And("I store the Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 306 testRunner.Given("I get Available Free Slots", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 307 testRunner.And("I store the Free Slots Bundle", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 308 testRunner.Given("I configure the default \"AppointmentCreate\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 309 testRunner.And("I create an Appointment from the stored Patient and stored Schedule", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 310 testRunner.And("I remove the Start from the Created Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 311 testRunner.When("I make the \"AppointmentCreate\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 312 testRunner.Then("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 313 testRunner.And("the response body should be FHIR JSON", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 314 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_RESOU" + - "RCE\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "RCE\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Book appointment with missing end element in appointment resource")] - public virtual void BookAppointmentWithMissingEndElementInAppointmentResource() + public void BookAppointmentWithMissingEndElementInAppointmentResource() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Book appointment with missing end element in appointment resource", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Book appointment with missing end element in appointment resource", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 316 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 317 testRunner.Given("I get an existing patients nshNumber", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 318 testRunner.And("I store the Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 319 testRunner.Given("I get Available Free Slots", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 320 testRunner.And("I store the Free Slots Bundle", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 321 testRunner.Given("I configure the default \"AppointmentCreate\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 322 testRunner.And("I create an Appointment from the stored Patient and stored Schedule", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 323 testRunner.And("I remove the End from the Created Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 324 testRunner.When("I make the \"AppointmentCreate\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 325 testRunner.Then("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 326 testRunner.And("the response body should be FHIR JSON", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 327 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_RESOU" + - "RCE\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "RCE\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Book appointment with missing status element in appointment resource")] - public virtual void BookAppointmentWithMissingStatusElementInAppointmentResource() + public void BookAppointmentWithMissingStatusElementInAppointmentResource() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Book appointment with missing status element in appointment resource", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Book appointment with missing status element in appointment resource", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 329 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 330 testRunner.Given("I get an existing patients nshNumber", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 331 testRunner.And("I store the Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 332 testRunner.Given("I get Available Free Slots", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 333 testRunner.And("I store the Free Slots Bundle", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 334 testRunner.Given("I configure the default \"AppointmentCreate\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 335 testRunner.And("I create an Appointment from the stored Patient and stored Schedule", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 336 testRunner.And("I remove the Status from the Created Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 337 testRunner.When("I make the \"AppointmentCreate\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 338 testRunner.Then("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 339 testRunner.And("the response body should be FHIR JSON", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 340 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_RESOU" + - "RCE\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "RCE\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Book appointment with missing slot element in appointment resource")] - public virtual void BookAppointmentWithMissingSlotElementInAppointmentResource() + public void BookAppointmentWithMissingSlotElementInAppointmentResource() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Book appointment with missing slot element in appointment resource", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Book appointment with missing slot element in appointment resource", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 342 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 343 testRunner.Given("I get an existing patients nshNumber", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 344 testRunner.And("I store the Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 345 testRunner.Given("I get Available Free Slots", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 346 testRunner.And("I store the Free Slots Bundle", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 347 testRunner.Given("I configure the default \"AppointmentCreate\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 348 testRunner.And("I create an Appointment from the stored Patient and stored Schedule", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 349 testRunner.And("I remove the Slot from the Created Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 350 testRunner.When("I make the \"AppointmentCreate\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 351 testRunner.Then("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 352 testRunner.And("the response body should be FHIR JSON", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 353 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_RESOU" + - "RCE\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "RCE\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Book Appointment and remove identifier value from the appointment booking")] - public virtual void BookAppointmentAndRemoveIdentifierValueFromTheAppointmentBooking() + public void BookAppointmentAndRemoveIdentifierValueFromTheAppointmentBooking() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Book Appointment and remove identifier value from the appointment booking", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Book Appointment and remove identifier value from the appointment booking", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 355 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 356 testRunner.Given("I get an existing patients nshNumber", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 357 testRunner.And("I store the Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 358 testRunner.Given("I get Available Free Slots", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 359 testRunner.And("I store the Free Slots Bundle", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 360 testRunner.Given("I configure the default \"AppointmentCreate\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 361 testRunner.And("I create an Appointment from the stored Patient and stored Schedule", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 362 testRunner.And("I set the Created Appointment Identifier Value to null", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 363 testRunner.When("I make the \"AppointmentCreate\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 364 testRunner.Then("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 365 testRunner.And("the response body should be FHIR JSON", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 366 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_RESOU" + - "RCE\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "RCE\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Book Appointment and remove participant status from the appointment booking")] - public virtual void BookAppointmentAndRemoveParticipantStatusFromTheAppointmentBooking() + public void BookAppointmentAndRemoveParticipantStatusFromTheAppointmentBooking() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Book Appointment and remove participant status from the appointment booking", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Book Appointment and remove participant status from the appointment booking", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 368 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 369 testRunner.Given("I get an existing patients nshNumber", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 370 testRunner.And("I store the Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 371 testRunner.Given("I get Available Free Slots", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 372 testRunner.And("I store the Free Slots Bundle", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 373 testRunner.Given("I configure the default \"AppointmentCreate\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 374 testRunner.And("I create an Appointment from the stored Patient and stored Schedule", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 375 testRunner.And("I set the Created Appointment Patient Participant Status to null", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 376 testRunner.And("I set the Created Appointment Practitioner Participant Status to null", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 377 testRunner.And("I set the Created Appointment Location Participant Status to null", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 378 testRunner.When("I make the \"AppointmentCreate\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 379 testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 380 testRunner.And("the response body should be FHIR JSON", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 381 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_RESOU" + - "RCE\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "RCE\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Book appointment and send an invalid bundle resource")] - public virtual void BookAppointmentAndSendAnInvalidBundleResource() + public void BookAppointmentAndSendAnInvalidBundleResource() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Book appointment and send an invalid bundle resource", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Book appointment and send an invalid bundle resource", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 383 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 384 testRunner.Given("I get an existing patients nshNumber", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 385 testRunner.And("I store the Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 386 testRunner.Given("I get Available Free Slots", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 387 testRunner.And("I store the Free Slots Bundle", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 388 testRunner.Given("I configure the default \"AppointmentCreate\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 389 testRunner.And("I create an Appointment from the stored Patient and stored Schedule", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 390 testRunner.When("I make the \"AppointmentCreate\" request with invalid Resource type", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 391 testRunner.Then("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 392 testRunner.And("the response body should be FHIR JSON", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 393 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_RESOU" + - "RCE\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "RCE\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Book appointment and send an invalid appointment resource")] - public virtual void BookAppointmentAndSendAnInvalidAppointmentResource() + public void BookAppointmentAndSendAnInvalidAppointmentResource() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Book appointment and send an invalid appointment resource", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Book appointment and send an invalid appointment resource", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 395 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 396 testRunner.Given("I get an existing patients nshNumber", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 397 testRunner.And("I store the Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 398 testRunner.Given("I get Available Free Slots", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 399 testRunner.And("I store the Free Slots Bundle", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 400 testRunner.Given("I configure the default \"AppointmentCreate\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 401 testRunner.And("I create an Appointment from the stored Patient and stored Schedule", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 402 testRunner.And("I set the Created Appointment to a new Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 403 testRunner.When("I make the \"AppointmentAmend\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 404 testRunner.Then("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 405 testRunner.And("the response body should be FHIR JSON", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 406 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_RESOU" + - "RCE\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "RCE\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("CapabilityStatement profile supports the book appointment operation")] - public virtual void CapabilityStatementProfileSupportsTheBookAppointmentOperation() + public void CapabilityStatementProfileSupportsTheBookAppointmentOperation() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("CapabilityStatement profile supports the book appointment operation", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("CapabilityStatement profile supports the book appointment operation", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 408 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 409 testRunner.Given("I configure the default \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 410 testRunner.When("I make the \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 411 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 412 testRunner.And("the CapabilityStatement REST Resources should contain the \"Appointment\" Resource " + - "with the \"Update\" Interaction", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "with the \"Update\" Interaction", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Book appointment valid response check caching headers exist")] - public virtual void BookAppointmentValidResponseCheckCachingHeadersExist() + public void BookAppointmentValidResponseCheckCachingHeadersExist() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Book appointment valid response check caching headers exist", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Book appointment valid response check caching headers exist", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 414 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 415 testRunner.Given("I get an existing patients nshNumber", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 416 testRunner.And("I store the Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 417 testRunner.Given("I get Available Free Slots", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 418 testRunner.And("I store the Free Slots Bundle", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 419 testRunner.Given("I configure the default \"AppointmentCreate\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 420 testRunner.And("I create an Appointment from the stored Patient and stored Schedule", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 421 testRunner.When("I make the \"AppointmentCreate\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 422 testRunner.Then("the response status code should indicate created", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 423 testRunner.And("the Response Resource should be an Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 424 testRunner.And("the required cacheing headers should be present in the response", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Book appointment invalid response check caching headers exist")] - public virtual void BookAppointmentInvalidResponseCheckCachingHeadersExist() + public void BookAppointmentInvalidResponseCheckCachingHeadersExist() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Book appointment invalid response check caching headers exist", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Book appointment invalid response check caching headers exist", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 426 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 427 testRunner.Given("I get an existing patients nshNumber", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 428 testRunner.And("I store the Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 429 testRunner.Given("I get Available Free Slots", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 430 testRunner.And("I store the Free Slots Bundle", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 431 testRunner.Given("I configure the default \"AppointmentCreate\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 432 testRunner.And("I create an Appointment from the stored Patient and stored Schedule", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 433 testRunner.And("I remove the Slot from the Created Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 434 testRunner.When("I make the \"AppointmentCreate\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 435 testRunner.Then("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 436 testRunner.And("the response body should be FHIR JSON", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 437 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_RESOU" + - "RCE\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "RCE\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 438 testRunner.And("the required cacheing headers should be present in the response", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Book appointment with name removed from booking organization")] - public virtual void BookAppointmentWithNameRemovedFromBookingOrganization() + public void BookAppointmentWithNameRemovedFromBookingOrganization() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Book appointment with name removed from booking organization", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Book appointment with name removed from booking organization", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 440 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 441 testRunner.Given("I get an existing patients nshNumber", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 442 testRunner.And("I store the Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 443 testRunner.Given("I get Available Free Slots", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 444 testRunner.And("I store the Free Slots Bundle", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 445 testRunner.Given("I configure the default \"AppointmentCreate\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 446 testRunner.And("I create an Appointment from the stored Patient and stored Schedule", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 447 testRunner.And("I remove the booking organization name element", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 448 testRunner.When("I make the \"AppointmentCreate\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 449 testRunner.Then("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 450 testRunner.And("the response body should be FHIR JSON", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 451 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_RESOU" + - "RCE\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "RCE\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Book appointment with telecom removed from booking organization")] - public virtual void BookAppointmentWithTelecomRemovedFromBookingOrganization() + public void BookAppointmentWithTelecomRemovedFromBookingOrganization() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Book appointment with telecom removed from booking organization", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Book appointment with telecom removed from booking organization", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 453 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 454 testRunner.Given("I get an existing patients nshNumber", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 455 testRunner.And("I store the Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 456 testRunner.Given("I get Available Free Slots", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 457 testRunner.And("I store the Free Slots Bundle", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 458 testRunner.Given("I configure the default \"AppointmentCreate\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 459 testRunner.And("I create an Appointment from the stored Patient and stored Schedule", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 460 testRunner.And("I remove the booking organization telecom element", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 461 testRunner.When("I make the \"AppointmentCreate\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 462 testRunner.Then("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 463 testRunner.And("the response body should be FHIR JSON", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 464 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_RESOU" + - "RCE\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "RCE\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Book appointment with a description")] - public virtual void BookAppointmentWithADescription() + public void BookAppointmentWithADescription() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Book appointment with a description", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Book appointment with a description", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 466 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 467 testRunner.Given("I get an existing patients nshNumber", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 468 testRunner.And("I store the Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 469 testRunner.Given("I get Available Free Slots", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 470 testRunner.And("I store the Free Slots Bundle", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 471 testRunner.Given("I configure the default \"AppointmentCreate\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 472 testRunner.And("I create an Appointment from the stored Patient and stored Schedule", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 473 testRunner.And("I set the Created Appointment Description to \"customDescription\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 474 testRunner.When("I make the \"AppointmentCreate\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 475 testRunner.Then("the response status code should indicate created", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 476 testRunner.And("the Response Resource should be an Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 477 testRunner.And("the Appointment Description should be valid for \"customDescription\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 478 testRunner.And("the Appointment Comment should be null", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Book appointment re-using an already booked slot")] - public virtual void BookAppointmentRe_UsingAnAlreadyBookedSlot() + public void BookAppointmentRe_UsingAnAlreadyBookedSlot() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Book appointment re-using an already booked slot", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Book appointment re-using an already booked slot", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 480 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 481 testRunner.Given("I get the Patient for Patient Value \"patient1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 482 testRunner.And("I store the Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 483 testRunner.Given("I get Available Free Slots", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 484 testRunner.And("I store the Free Slots Bundle", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 485 testRunner.Given("I configure the default \"AppointmentCreate\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 486 testRunner.And("I create an Appointment from the stored Patient and stored Schedule", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 487 testRunner.When("I make the \"AppointmentCreate\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 488 testRunner.Then("the response status code should indicate created", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 489 testRunner.And("the Response Resource should be an Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 490 testRunner.Given("I get the Patient for Patient Value \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 491 testRunner.And("I store the Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 492 testRunner.Given("I configure the default \"AppointmentCreate\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 493 testRunner.And("I create an Appointment from the stored Patient and stored Schedule", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 494 testRunner.When("I make the \"AppointmentCreate\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 495 testRunner.Then("the response status code should be \"409\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 496 testRunner.And("the response body should be FHIR JSON", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 497 testRunner.And("the response should be a OperationOutcome resource with error code \"DUPLICATE_REJ" + - "ECTED\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ECTED\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Book appointment and send a reason in the appointment")] - public virtual void BookAppointmentAndSendAReasonInTheAppointment() + public void BookAppointmentAndSendAReasonInTheAppointment() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Book appointment and send a reason in the appointment", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Book appointment and send a reason in the appointment", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 499 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 500 testRunner.Given("I get an existing patients nshNumber", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 501 testRunner.And("I store the Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 502 testRunner.Given("I get Available Free Slots", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 503 testRunner.And("I store the Free Slots Bundle", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 504 testRunner.Given("I configure the default \"AppointmentCreate\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 505 testRunner.And("I create an Appointment from the stored Patient and stored Schedule", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 506 testRunner.And("I add an Appointment Reason to the appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 507 testRunner.When("I make the \"AppointmentCreate\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 508 testRunner.Then("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 509 testRunner.And("the response body should be FHIR JSON", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 510 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_RESOU" + - "RCE\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "RCE\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Book appointment with typeCode in appointment resource")] - public virtual void BookAppointmentWithTypeCodeInAppointmentResource() + public void BookAppointmentWithTypeCodeInAppointmentResource() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Book appointment with typeCode in appointment resource", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Book appointment with typeCode in appointment resource", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 514 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 515 testRunner.Given("I get an existing patients nshNumber", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 516 testRunner.And("I store the Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 517 testRunner.Given("I get Available Free Slots", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 518 testRunner.And("I store the Free Slots Bundle", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 519 testRunner.Given("I configure the default \"AppointmentCreate\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 520 testRunner.And("I create an Appointment from the stored Patient and stored Schedule", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 521 testRunner.And("I add a typeCode to the Created Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 522 testRunner.When("I make the \"AppointmentCreate\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 523 testRunner.Then("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 524 testRunner.And("the response body should be FHIR JSON", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 525 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_RESOU" + - "RCE\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "RCE\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Book appointment with a description and comment")] - public virtual void BookAppointmentWithADescriptionAndComment() + public void BookAppointmentWithADescriptionAndComment() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Book appointment with a description and comment", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Book appointment with a description and comment", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 529 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 530 testRunner.Given("I get an existing patients nshNumber", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 531 testRunner.And("I store the Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 532 testRunner.Given("I get Available Free Slots", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 533 testRunner.And("I store the Free Slots Bundle", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 534 testRunner.Given("I configure the default \"AppointmentCreate\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 535 testRunner.And("I create an Appointment from the stored Patient and stored Schedule", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 536 testRunner.And("I set the Created Appointment Description to \"customDescription\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 537 testRunner.And("I set the Created Appointment Comment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 538 testRunner.When("I make the \"AppointmentCreate\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 539 testRunner.Then("the response status code should indicate created", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 540 testRunner.And("the Response Resource should be an Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 541 testRunner.And("the Appointment Description should be valid for \"customDescription\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 542 testRunner.And("the Appointment Comment should be valid for \"CustomComment\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Book appointment with a comment")] - public virtual void BookAppointmentWithAComment() + public void BookAppointmentWithAComment() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Book appointment with a comment", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Book appointment with a comment", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 546 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 547 testRunner.Given("I get an existing patients nshNumber", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 548 testRunner.And("I store the Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 549 testRunner.Given("I get Available Free Slots", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 550 testRunner.And("I store the Free Slots Bundle", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 551 testRunner.Given("I configure the default \"AppointmentCreate\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 552 testRunner.And("I create an Appointment from the stored Patient and stored Schedule", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 553 testRunner.And("I set the Created Appointment Comment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 554 testRunner.When("I make the \"AppointmentCreate\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 555 testRunner.Then("the response status code should indicate created", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 556 testRunner.And("the Response Resource should be an Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 557 testRunner.And("the Appointment Comment should be valid for \"CustomComment\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Book appointment without a comment")] - public virtual void BookAppointmentWithoutAComment() + public void BookAppointmentWithoutAComment() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Book appointment without a comment", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Book appointment without a comment", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 561 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 562 testRunner.Given("I get an existing patients nshNumber", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 563 testRunner.And("I store the Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 564 testRunner.Given("I get Available Free Slots", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 565 testRunner.And("I store the Free Slots Bundle", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 566 testRunner.Given("I configure the default \"AppointmentCreate\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 567 testRunner.And("I create an Appointment from the stored Patient and stored Schedule", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 568 testRunner.When("I make the \"AppointmentCreate\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 569 testRunner.Then("the response status code should indicate created", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 570 testRunner.And("the Response Resource should be an Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 571 testRunner.And("the Appointment Comment should be null", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Book single appointment for patient with invalid reference")] - public virtual void BookSingleAppointmentForPatientWithInvalidReference() + public void BookSingleAppointmentForPatientWithInvalidReference() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Book single appointment for patient with invalid reference", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Book single appointment for patient with invalid reference", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 575 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 576 testRunner.Given("I get an existing patients nshNumber", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 577 testRunner.And("I store the Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 578 testRunner.Given("I get Available Free Slots", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 579 testRunner.And("I store the Free Slots Bundle", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 580 testRunner.Given("I configure the default \"AppointmentCreate\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 581 testRunner.And("I create an Appointment from the stored Patient and stored Schedule", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 582 testRunner.And("I amend the Organization reference to absolute reference", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 583 testRunner.When("I make the \"AppointmentCreate\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 584 testRunner.Then("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 585 testRunner.And("the response body should be FHIR JSON", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 586 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_RESOU" + - "RCE\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "RCE\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Book single appointment for Patient expecting servicecategory is populated")] - public virtual void BookSingleAppointmentForPatientExpectingServicecategoryIsPopulated() + public void BookSingleAppointmentForPatientExpectingServicecategoryIsPopulated() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Book single appointment for Patient expecting servicecategory is populated", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Book single appointment for Patient expecting servicecategory is populated", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 588 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 589 testRunner.Given("I create an Appointment in \"2\" days time for Patient \"patient1\" and Organization " + - "Code \"ORG1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); + "Code \"ORG1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 590 testRunner.And("I store the Created Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 591 testRunner.Then("the response status code should indicate created", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 592 testRunner.And("the Response Resource should be an Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 593 testRunner.And("the Appointment Metadata should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 594 testRunner.And("the Appointment Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 595 testRunner.And("the Appointment Status should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 596 testRunner.And("the Appointment Start should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 597 testRunner.And("the Appointment End should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 598 testRunner.And("the Appointment Participants should be valid and resolvable", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 599 testRunner.And("the Appointment Slots should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 600 testRunner.And("the Appointment Description must be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 601 testRunner.And("the booking organization extension must be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 602 testRunner.And("the Appointment Created must be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 603 testRunner.And("the appointment reason must not be included", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 604 testRunner.And("the Appointment DeliveryChannel must be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 605 testRunner.And("the Appointment PractitionerRole must be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 606 testRunner.And("One Appointment contains serviceCategory element", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Book single appointment for Patient expecting serviceType is populated")] - public virtual void BookSingleAppointmentForPatientExpectingServiceTypeIsPopulated() + public void BookSingleAppointmentForPatientExpectingServiceTypeIsPopulated() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Book single appointment for Patient expecting serviceType is populated", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Book single appointment for Patient expecting serviceType is populated", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 608 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 609 testRunner.Given("I create an Appointment in \"2\" days time for Patient \"patient1\" and Organization " + - "Code \"ORG1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); + "Code \"ORG1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 610 testRunner.And("I store the Created Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 611 testRunner.Then("the response status code should indicate created", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 612 testRunner.And("the Response Resource should be an Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 613 testRunner.And("the Appointment Metadata should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 614 testRunner.And("the Appointment Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 615 testRunner.And("the Appointment Status should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 616 testRunner.And("the Appointment Start should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 617 testRunner.And("the Appointment End should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 618 testRunner.And("the Appointment Participants should be valid and resolvable", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 619 testRunner.And("the Appointment Slots should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 620 testRunner.And("the Appointment Description must be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 621 testRunner.And("the booking organization extension must be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 622 testRunner.And("the Appointment Created must be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 623 testRunner.And("the appointment reason must not be included", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 624 testRunner.And("the Appointment DeliveryChannel must be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 625 testRunner.And("the Appointment PractitionerRole must be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 626 testRunner.And("One Appointment contains serviceType element", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Book single appointment expecting servicecategory in response when ServiceCategor" + "y and serviceType are in request but ignored")] - public virtual void BookSingleAppointmentExpectingServicecategoryInResponseWhenServiceCategoryAndServiceTypeAreInRequestButIgnored() + public void BookSingleAppointmentExpectingServicecategoryInResponseWhenServiceCategoryAndServiceTypeAreInRequestButIgnored() { + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Book single appointment expecting servicecategory in response when ServiceCategor" + - "y and serviceType are in request but ignored", null, ((string[])(null))); + "y and serviceType are in request but ignored", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 628 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 629 testRunner.Given("I create an Appointment in \"2\" days time for Patient \"patient1\" and Organization " + - "Code \"ORG1\" With serviceCategory and serviceType in Request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); + "Code \"ORG1\" With serviceCategory and serviceType in Request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 630 testRunner.And("I store the Created Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 631 testRunner.Then("the response status code should indicate created", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 632 testRunner.And("the Response Resource should be an Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 633 testRunner.And("the Appointment Metadata should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 634 testRunner.And("the Appointment Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 635 testRunner.And("the Appointment Status should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 636 testRunner.And("the Appointment Start should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 637 testRunner.And("the Appointment End should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 638 testRunner.And("the Appointment Participants should be valid and resolvable", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 639 testRunner.And("the Appointment Slots should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 640 testRunner.And("the Appointment Description must be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 641 testRunner.And("the booking organization extension must be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 642 testRunner.And("the Appointment Created must be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 643 testRunner.And("the appointment reason must not be included", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 644 testRunner.And("the Appointment DeliveryChannel must be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 645 testRunner.And("the Appointment PractitionerRole must be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 646 testRunner.And("One Appointment contains serviceCategory element", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Book single appointment expecting serviceType in response when ServiceCategory an" + "d serviceType are in request but ignored")] - public virtual void BookSingleAppointmentExpectingServiceTypeInResponseWhenServiceCategoryAndServiceTypeAreInRequestButIgnored() + public void BookSingleAppointmentExpectingServiceTypeInResponseWhenServiceCategoryAndServiceTypeAreInRequestButIgnored() { + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Book single appointment expecting serviceType in response when ServiceCategory an" + - "d serviceType are in request but ignored", null, ((string[])(null))); + "d serviceType are in request but ignored", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 648 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 649 testRunner.Given("I create an Appointment in \"2\" days time for Patient \"patient1\" and Organization " + - "Code \"ORG1\" With serviceCategory and serviceType in Request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); + "Code \"ORG1\" With serviceCategory and serviceType in Request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 650 testRunner.And("I store the Created Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 651 testRunner.Then("the response status code should indicate created", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 652 testRunner.And("the Response Resource should be an Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 653 testRunner.And("the Appointment Metadata should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 654 testRunner.And("the Appointment Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 655 testRunner.And("the Appointment Status should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 656 testRunner.And("the Appointment Start should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 657 testRunner.And("the Appointment End should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 658 testRunner.And("the Appointment Participants should be valid and resolvable", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 659 testRunner.And("the Appointment Slots should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 660 testRunner.And("the Appointment Description must be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 661 testRunner.And("the booking organization extension must be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 662 testRunner.And("the Appointment Created must be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 663 testRunner.And("the appointment reason must not be included", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 664 testRunner.And("the Appointment DeliveryChannel must be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 665 testRunner.And("the Appointment PractitionerRole must be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 666 testRunner.And("One Appointment contains serviceType element", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Book single appointment ensuring backwards compatibility with consumers that do n" + "ot send ServiceCategory And serviceType expect success")] - public virtual void BookSingleAppointmentEnsuringBackwardsCompatibilityWithConsumersThatDoNotSendServiceCategoryAndServiceTypeExpectSuccess() + public void BookSingleAppointmentEnsuringBackwardsCompatibilityWithConsumersThatDoNotSendServiceCategoryAndServiceTypeExpectSuccess() { + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Book single appointment ensuring backwards compatibility with consumers that do n" + - "ot send ServiceCategory And serviceType expect success", null, ((string[])(null))); + "ot send ServiceCategory And serviceType expect success", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 668 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 669 testRunner.Given("I create an Appointment in \"2\" days time for Patient \"patient1\" and Organization " + - "Code \"ORG1\" Removing ServiceCategory and ServiceType from Created Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); + "Code \"ORG1\" Removing ServiceCategory and ServiceType from Created Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 670 testRunner.And("I store the Created Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 671 testRunner.Then("the response status code should indicate created", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 672 testRunner.And("the Response Resource should be an Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 673 testRunner.And("the Appointment Metadata should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 674 testRunner.And("the Appointment Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 675 testRunner.And("the Appointment Status should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 676 testRunner.And("the Appointment Start should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 677 testRunner.And("the Appointment End should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 678 testRunner.And("the Appointment Participants should be valid and resolvable", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 679 testRunner.And("the Appointment Slots should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 680 testRunner.And("the Appointment Description must be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 681 testRunner.And("the booking organization extension must be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 682 testRunner.And("the Appointment Created must be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 683 testRunner.And("the appointment reason must not be included", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 684 testRunner.And("the Appointment DeliveryChannel must be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 685 testRunner.And("the Appointment PractitionerRole must be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } } diff --git a/GPConnect.Provider.AcceptanceTests/AppointmentCancel.feature.cs b/GPConnect.Provider.AcceptanceTests/AppointmentCancel.feature.cs index 0c8d995b..2545c6f6 100644 --- a/GPConnect.Provider.AcceptanceTests/AppointmentCancel.feature.cs +++ b/GPConnect.Provider.AcceptanceTests/AppointmentCancel.feature.cs @@ -1,8 +1,8 @@ -// ------------------------------------------------------------------------------ +// ------------------------------------------------------------------------------ // -// This code was generated by SpecFlow (http://www.specflow.org/). -// SpecFlow Version:3.0.0.0 -// SpecFlow Generator Version:3.0.0.0 +// This code was generated by SpecFlow (https://www.specflow.org/). +// SpecFlow Version:3.9.0.0 +// SpecFlow Generator Version:3.9.0.0 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. @@ -13,9 +13,11 @@ namespace GPConnect.Provider.AcceptanceTests { using TechTalk.SpecFlow; + using System; + using System.Linq; - [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "3.0.0.0")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "3.9.0.0")] [System.Runtime.CompilerServices.CompilerGeneratedAttribute()] [NUnit.Framework.TestFixtureAttribute()] [NUnit.Framework.DescriptionAttribute("AppointmentCancel")] @@ -26,6 +28,10 @@ public partial class AppointmentCancelFeature private TechTalk.SpecFlow.ITestRunner testRunner; + private static string[] featureTags = new string[] { + "appointment", + "1.5.0-Full-Pack"}; + #line 1 "AppointmentCancel.feature" #line hidden @@ -33,9 +39,7 @@ public partial class AppointmentCancelFeature public virtual void FeatureSetup() { testRunner = TechTalk.SpecFlow.TestRunnerManager.GetTestRunner(); - TechTalk.SpecFlow.FeatureInfo featureInfo = new TechTalk.SpecFlow.FeatureInfo(new System.Globalization.CultureInfo("en-US"), "AppointmentCancel", null, ProgrammingLanguage.CSharp, new string[] { - "appointment", - "1.5.0-Full-Pack"}); + TechTalk.SpecFlow.FeatureInfo featureInfo = new TechTalk.SpecFlow.FeatureInfo(new System.Globalization.CultureInfo("en-US"), "", "AppointmentCancel", null, ProgrammingLanguage.CSharp, featureTags); testRunner.OnFeatureStart(featureInfo); } @@ -47,28 +51,28 @@ public virtual void FeatureTearDown() } [NUnit.Framework.SetUpAttribute()] - public virtual void TestInitialize() + public void TestInitialize() { } [NUnit.Framework.TearDownAttribute()] - public virtual void ScenarioTearDown() + public void TestTearDown() { testRunner.OnScenarioEnd(); } - public virtual void ScenarioInitialize(TechTalk.SpecFlow.ScenarioInfo scenarioInfo) + public void ScenarioInitialize(TechTalk.SpecFlow.ScenarioInfo scenarioInfo) { testRunner.OnScenarioInitialize(scenarioInfo); testRunner.ScenarioContext.ScenarioContainer.RegisterInstanceAs(NUnit.Framework.TestContext.CurrentContext); } - public virtual void ScenarioStart() + public void ScenarioStart() { testRunner.OnScenarioStart(); } - public virtual void ScenarioCleanup() + public void ScenarioCleanup() { testRunner.CollectScenarioErrors(); } @@ -78,220 +82,348 @@ public virtual void ScenarioCleanup() [NUnit.Framework.TestCaseAttribute("patient1", null)] [NUnit.Framework.TestCaseAttribute("patient2", null)] [NUnit.Framework.TestCaseAttribute("patient3", null)] - public virtual void IPerformASuccessfulCancelAppointment(string patientName, string[] exampleTags) + public void IPerformASuccessfulCancelAppointment(string patientName, string[] exampleTags) { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("I perform a successful cancel appointment", null, exampleTags); + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("PatientName", patientName); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("I perform a successful cancel appointment", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 4 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 5 testRunner.Given(string.Format("I create an Appointment for Patient \"{0}\" and Organization Code \"ORG1\"", patientName), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 6 testRunner.And("I store the Created Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 7 testRunner.Given("I configure the default \"AppointmentCancel\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 8 testRunner.And("I set the Created Appointment to Cancelled with Reason \"double booked\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 9 testRunner.When("I make the \"AppointmentCancel\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 10 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 11 testRunner.And("the Response Resource should be an Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 12 testRunner.And("the Appointment Status should be Cancelled", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 13 testRunner.And("the Appointment Cancellation Reason Extension should be valid for \"double booked\"" + - "", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 14 testRunner.And("the Appointment Metadata should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 15 testRunner.And("the Appointment Status should be Cancelled", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 16 testRunner.And("the Appointment Id should equal the Created Appointment Id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 17 testRunner.And("the Appointment Extensions should equal the Created Appointment Extensions", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 18 testRunner.And("the Appointment Description should equal the Created Appointment Description", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 19 testRunner.And("the Appointment Start and End Dates should equal the Created Appointment Start an" + - "d End Dates", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "d End Dates", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 20 testRunner.And("the Appointment Slots should equal the Created Appointment Slots", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 21 testRunner.And("the Appointment Participants should be equal to the Created Appointment Participa" + - "nts", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "nts", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 22 testRunner.And("the Appointment Created should be equal to the Created Appointment Created", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 23 testRunner.And("the Appointments returned must be in the future", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 24 testRunner.And("the appointment reason must not be included", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 25 testRunner.And("the Appointment DeliveryChannel must be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 26 testRunner.And("the Appointment PractitionerRole must be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 29 testRunner.And("the Appointment Not In Use should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("I perform a successful cancel appointment with Extensions")] [NUnit.Framework.TestCaseAttribute("patient1", "true", "true", "true", null)] - public virtual void IPerformASuccessfulCancelAppointmentWithExtensions(string patientName, string orgType, string deliveryChannel, string pracRole, string[] exampleTags) + public void IPerformASuccessfulCancelAppointmentWithExtensions(string patientName, string orgType, string deliveryChannel, string pracRole, string[] exampleTags) { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("I perform a successful cancel appointment with Extensions", null, exampleTags); + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("PatientName", patientName); + argumentsOfScenario.Add("OrgType", orgType); + argumentsOfScenario.Add("DeliveryChannel", deliveryChannel); + argumentsOfScenario.Add("PracRole", pracRole); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("I perform a successful cancel appointment with Extensions", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 36 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 37 testRunner.Given(string.Format("I create an Appointment for Patient \"{0}\"", patientName), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 38 testRunner.And(string.Format("I create an Appointment with org type \"{0}\" with channel \"{1}\" with prac role \"{2" + - "}\"", orgType, deliveryChannel, pracRole), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "}\"", orgType, deliveryChannel, pracRole), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 39 testRunner.And("I store the Created Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 40 testRunner.Given("I configure the default \"AppointmentRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 41 testRunner.When("I make the \"AppointmentRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 42 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 43 testRunner.And("the Response Resource should be an Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 44 testRunner.And("the Appointments returned must be in the future", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 45 testRunner.And("the Appointment Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 46 testRunner.And("the Appointment Metadata should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 47 testRunner.And("the Appointment DeliveryChannel must be present", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 48 testRunner.And("the Appointment PractitionerRole must be present", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("I perform a successful cancel appointment and amend the comment")] - public virtual void IPerformASuccessfulCancelAppointmentAndAmendTheComment() + public void IPerformASuccessfulCancelAppointmentAndAmendTheComment() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("I perform a successful cancel appointment and amend the comment", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("I perform a successful cancel appointment and amend the comment", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 53 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 54 testRunner.Given("I create an Appointment for an existing Patient and Organization Code \"ORG1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 55 testRunner.And("I store the Created Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 56 testRunner.Given("I configure the default \"AppointmentCancel\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 57 testRunner.And("I set the Created Appointment to Cancelled with Reason \"double booked\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 58 testRunner.And("I set the Created Appointment Comment to \"RANDOM COMMENT\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 59 testRunner.When("I make the \"AppointmentCancel\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 60 testRunner.Then("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 61 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_RESOU" + - "RCE\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "RCE\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("I perform cancel appointment and update the description")] - public virtual void IPerformCancelAppointmentAndUpdateTheDescription() + public void IPerformCancelAppointmentAndUpdateTheDescription() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("I perform cancel appointment and update the description", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("I perform cancel appointment and update the description", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 63 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 64 testRunner.Given("I create an Appointment for an existing Patient and Organization Code \"ORG1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 65 testRunner.And("I store the Created Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 66 testRunner.Given("I configure the default \"AppointmentCancel\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 67 testRunner.And("I set the Created Appointment to Cancelled with Reason \"double booked\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 68 testRunner.And("I set the Created Appointment Description to \"RANDOM DESCRIPTION\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 69 testRunner.When("I make the \"AppointmentCancel\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 70 testRunner.Then("the response should be a OperationOutcome resource with error code \"INVALID_RESOU" + - "RCE\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); + "RCE\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 71 testRunner.And("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("I perform cancel appointment and add participants")] - public virtual void IPerformCancelAppointmentAndAddParticipants() + public void IPerformCancelAppointmentAndAddParticipants() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("I perform cancel appointment and add participants", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("I perform cancel appointment and add participants", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 73 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 74 testRunner.Given("I create an Appointment for an existing Patient and Organization Code \"ORG1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 75 testRunner.And("I store the Created Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 76 testRunner.Given("I configure the default \"AppointmentCancel\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 77 testRunner.And("I set the Created Appointment to Cancelled with Reason \"double booked\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 78 testRunner.And("I add a Participant with Reference \"location/2\" to the Created Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 79 testRunner.And("I add a Participant with Reference \"Patient/2\" to the Created Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 80 testRunner.And("I add a Participant with Reference \"Practitioner/2\" to the Created Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 81 testRunner.When("I make the \"AppointmentCancel\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 82 testRunner.Then("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 83 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_RESOU" + - "RCE\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "RCE\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("I perform cancel appointment and update the type text")] - public virtual void IPerformCancelAppointmentAndUpdateTheTypeText() + public void IPerformCancelAppointmentAndUpdateTheTypeText() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("I perform cancel appointment and update the type text", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("I perform cancel appointment and update the type text", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 85 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 86 testRunner.Given("I create an Appointment for an existing Patient and Organization Code \"ORG1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 87 testRunner.And("I store the Created Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 88 testRunner.Given("I configure the default \"AppointmentCancel\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 89 testRunner.And("I set the Created Appointment to Cancelled with Reason \"double booked\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 90 testRunner.And("I set the Created Appointment Type Text to \"RANDOM TYPE TEXT\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 91 testRunner.When("I make the \"AppointmentCancel\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 92 testRunner.Then("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 93 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_RESOU" + - "RCE\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "RCE\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -299,38 +431,61 @@ public virtual void IPerformCancelAppointmentAndUpdateTheTypeText() [NUnit.Framework.DescriptionAttribute("Cancel appointment using the _format parameter to request response format")] [NUnit.Framework.TestCaseAttribute("application/fhir+json", "JSON", null)] [NUnit.Framework.TestCaseAttribute("application/fhir+xml", "XML", null)] - public virtual void CancelAppointmentUsingThe_FormatParameterToRequestResponseFormat(string parameter, string bodyFormat, string[] exampleTags) + public void CancelAppointmentUsingThe_FormatParameterToRequestResponseFormat(string parameter, string bodyFormat, string[] exampleTags) { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Cancel appointment using the _format parameter to request response format", null, exampleTags); + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("Parameter", parameter); + argumentsOfScenario.Add("BodyFormat", bodyFormat); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Cancel appointment using the _format parameter to request response format", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 95 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 96 testRunner.Given("I create an Appointment for an existing Patient and Organization Code \"ORG1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 97 testRunner.And("I store the Created Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 98 testRunner.Given("I configure the default \"AppointmentCancel\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 99 testRunner.And("I set the Created Appointment to Cancelled with Reason \"double booked\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 100 testRunner.And(string.Format("I add a Format parameter with the Value \"{0}\"", parameter), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 101 testRunner.When("I make the \"AppointmentCancel\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 102 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 103 testRunner.And(string.Format("the response body should be FHIR {0}", bodyFormat), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 104 testRunner.And("the Response Resource should be an Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 105 testRunner.And("the Appointment Status should be Cancelled", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 106 testRunner.And("the Appointment Cancellation Reason Extension should be valid for \"double booked\"" + - "", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 107 testRunner.And("the Appointment Metadata should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -338,38 +493,61 @@ public virtual void CancelAppointmentUsingThe_FormatParameterToRequestResponseFo [NUnit.Framework.DescriptionAttribute("Cancel appointment using the accept header to request response format")] [NUnit.Framework.TestCaseAttribute("application/fhir+json", "JSON", null)] [NUnit.Framework.TestCaseAttribute("application/fhir+xml", "XML", null)] - public virtual void CancelAppointmentUsingTheAcceptHeaderToRequestResponseFormat(string header, string bodyFormat, string[] exampleTags) + public void CancelAppointmentUsingTheAcceptHeaderToRequestResponseFormat(string header, string bodyFormat, string[] exampleTags) { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Cancel appointment using the accept header to request response format", null, exampleTags); + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("Header", header); + argumentsOfScenario.Add("BodyFormat", bodyFormat); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Cancel appointment using the accept header to request response format", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 113 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 114 testRunner.Given("I create an Appointment for an existing Patient and Organization Code \"ORG1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 115 testRunner.And("I store the Created Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 116 testRunner.Given("I configure the default \"AppointmentCancel\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 117 testRunner.And("I set the Created Appointment to Cancelled with Reason \"double booked\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 118 testRunner.And(string.Format("I set the Accept header to \"{0}\"", header), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 119 testRunner.When("I make the \"AppointmentCancel\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 120 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 121 testRunner.And(string.Format("the response body should be FHIR {0}", bodyFormat), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 122 testRunner.And("the Response Resource should be an Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 123 testRunner.And("the Appointment Status should be Cancelled", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 124 testRunner.And("the Appointment Cancellation Reason Extension should be valid for \"double booked\"" + - "", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 125 testRunner.And("the Appointment Metadata should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -380,41 +558,66 @@ public virtual void CancelAppointmentUsingTheAcceptHeaderToRequestResponseFormat [NUnit.Framework.TestCaseAttribute("application/fhir+json", "application/fhir+xml", "XML", null)] [NUnit.Framework.TestCaseAttribute("application/fhir+xml", "application/fhir+json", "JSON", null)] [NUnit.Framework.TestCaseAttribute("application/fhir+xml", "application/fhir+xml", "XML", null)] - public virtual void CancelAppointmentUsingTheAcceptHeaderAnd_FormatParameterToRequestResponseFormat(string header, string parameter, string bodyFormat, string[] exampleTags) + public void CancelAppointmentUsingTheAcceptHeaderAnd_FormatParameterToRequestResponseFormat(string header, string parameter, string bodyFormat, string[] exampleTags) { + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("Header", header); + argumentsOfScenario.Add("Parameter", parameter); + argumentsOfScenario.Add("BodyFormat", bodyFormat); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Cancel appointment using the accept header and _format parameter to request respo" + - "nse format", null, exampleTags); + "nse format", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 131 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 132 testRunner.Given("I create an Appointment for an existing Patient and Organization Code \"ORG1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 133 testRunner.And("I store the Created Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 134 testRunner.Given("I configure the default \"AppointmentCancel\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 135 testRunner.And("I set the Created Appointment to Cancelled with Reason \"double booked\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 136 testRunner.And(string.Format("I set the Accept header to \"{0}\"", header), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 137 testRunner.And(string.Format("I add a Format parameter with the Value \"{0}\"", parameter), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 138 testRunner.When("I make the \"AppointmentCancel\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 139 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 140 testRunner.And(string.Format("the response body should be FHIR {0}", bodyFormat), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 141 testRunner.And("the Response Resource should be an Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 142 testRunner.And("the Appointment Status should be Cancelled", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 143 testRunner.And("the Appointment Cancellation Reason Extension should be valid for \"double booked\"" + - "", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 144 testRunner.And("the Appointment Metadata should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -429,43 +632,70 @@ public virtual void CancelAppointmentUsingTheAcceptHeaderAnd_FormatParameterToRe [NUnit.Framework.TestCaseAttribute("application/fhir+json", "application/fhir+xml", "application/fhir+xml", "XML", null)] [NUnit.Framework.TestCaseAttribute("application/fhir+xml", "application/fhir+json", "application/fhir+xml", "XML", null)] [NUnit.Framework.TestCaseAttribute("application/fhir+json", "application/fhir+xml", "application/fhir+json", "JSON", null)] - public virtual void CancelAppointmentUsingTheAcceptHeaderAnd_FormatParameterAndContent_TypeToRequestResponseFormat(string contentType, string acceptHeader, string formatParam, string format, string[] exampleTags) + public void CancelAppointmentUsingTheAcceptHeaderAnd_FormatParameterAndContent_TypeToRequestResponseFormat(string contentType, string acceptHeader, string formatParam, string format, string[] exampleTags) { + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("ContentType", contentType); + argumentsOfScenario.Add("AcceptHeader", acceptHeader); + argumentsOfScenario.Add("FormatParam", formatParam); + argumentsOfScenario.Add("Format", format); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Cancel appointment using the accept header and _format parameter and content-type" + - " to request response format", null, exampleTags); + " to request response format", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 152 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 153 testRunner.Given("I create an Appointment for an existing Patient and Organization Code \"ORG1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 154 testRunner.And("I store the Created Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 155 testRunner.Given("I configure the default \"AppointmentCancel\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 156 testRunner.And("I set the Created Appointment to Cancelled with Reason \"double booked\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 157 testRunner.And(string.Format("I set the request content type to \"{0}\"", contentType), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 158 testRunner.And(string.Format("I set the Accept header to \"{0}\"", acceptHeader), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 159 testRunner.And(string.Format("I add a Format parameter with the Value \"{0}\"", formatParam), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 160 testRunner.When("I make the \"AppointmentCancel\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 161 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 162 testRunner.And(string.Format("the response body should be FHIR {0}", format), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 163 testRunner.And("the Response Resource should be an Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 164 testRunner.And("the Appointment Status should be Cancelled", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 165 testRunner.And("the Appointment Cancellation Reason Extension should be valid for \"double booked\"" + - "", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 166 testRunner.And("the Appointment Metadata should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -474,34 +704,54 @@ public virtual void CancelAppointmentUsingTheAcceptHeaderAnd_FormatParameterAndC " reason")] [NUnit.Framework.TestCaseAttribute("Test cancellation reason 1", null)] [NUnit.Framework.TestCaseAttribute("test reason for cancel 2", null)] - public virtual void CancelAppointmentCheckCancellationReasonIsEqualToTheRequestCancellationReason(string reason, string[] exampleTags) + public void CancelAppointmentCheckCancellationReasonIsEqualToTheRequestCancellationReason(string reason, string[] exampleTags) { + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("reason", reason); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Cancel appointment check cancellation reason is equal to the request cancellation" + - " reason", null, exampleTags); + " reason", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 178 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 179 testRunner.Given("I create an Appointment for an existing Patient and Organization Code \"ORG1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 180 testRunner.And("I store the Created Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 181 testRunner.Given("I configure the default \"AppointmentCancel\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 182 testRunner.And(string.Format("I set the Created Appointment to Cancelled with Reason \"{0}\"", reason), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 183 testRunner.When("I make the \"AppointmentCancel\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 184 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 185 testRunner.And("the Response Resource should be an Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 186 testRunner.And("the Appointment Status should be Cancelled", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 187 testRunner.And(string.Format("the Appointment Cancellation Reason Extension should be valid for \"{0}\"", reason), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 188 testRunner.And("the Appointment Metadata should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -510,199 +760,314 @@ public virtual void CancelAppointmentCheckCancellationReasonIsEqualToTheRequestC [NUnit.Framework.TestCaseAttribute("", "Too busy", null)] [NUnit.Framework.TestCaseAttribute("http://fhir.nhs.uk/StructuraeDefinition/extension-gpconnect-appointment-cancellat" + "ion-reason-1-010", "Too busy", null)] - public virtual void CancelAppointmentInvalidCancellationExtensionUrl(string url, string reason, string[] exampleTags) + public void CancelAppointmentInvalidCancellationExtensionUrl(string url, string reason, string[] exampleTags) { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Cancel appointment invalid cancellation extension url", null, exampleTags); + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("url", url); + argumentsOfScenario.Add("reason", reason); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Cancel appointment invalid cancellation extension url", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 194 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 195 testRunner.Given("I create an Appointment for an existing Patient and Organization Code \"ORG1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 196 testRunner.And("I store the Created Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 197 testRunner.Given("I configure the default \"AppointmentCancel\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 198 testRunner.And(string.Format("I set the Created Appointment to Cancelled with Url \"{0}\" and Reason \"{1}\"", url, reason), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 199 testRunner.When("I make the \"AppointmentCancel\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 200 testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 201 testRunner.Then("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 202 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_RESOU" + - "RCE\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "RCE\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Cancel appointment missing cancellation extension reason")] - public virtual void CancelAppointmentMissingCancellationExtensionReason() + public void CancelAppointmentMissingCancellationExtensionReason() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Cancel appointment missing cancellation extension reason", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Cancel appointment missing cancellation extension reason", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 208 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 209 testRunner.Given("I create an Appointment for an existing Patient and Organization Code \"ORG1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 210 testRunner.And("I store the Created Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 211 testRunner.Given("I configure the default \"AppointmentCancel\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 212 testRunner.And("I set the Created Appointment to Cancelled with Reason \"\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 213 testRunner.When("I make the \"AppointmentCancel\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 214 testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 215 testRunner.Then("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 216 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_PARAM" + - "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Cancel appointment verify resource is updated when an valid ETag value is provide" + "d")] - public virtual void CancelAppointmentVerifyResourceIsUpdatedWhenAnValidETagValueIsProvided() + public void CancelAppointmentVerifyResourceIsUpdatedWhenAnValidETagValueIsProvided() { + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Cancel appointment verify resource is updated when an valid ETag value is provide" + - "d", null, ((string[])(null))); + "d", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 218 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 219 testRunner.Given("I create an Appointment for an existing Patient and Organization Code \"ORG1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 220 testRunner.And("I store the Created Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 221 testRunner.Given("I configure the default \"AppointmentCancel\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 222 testRunner.And("I set the Created Appointment to Cancelled with Reason \"double booked\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 223 testRunner.And("I set the If-Match header to the Stored Appointment Version Id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 224 testRunner.When("I make the \"AppointmentCancel\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 225 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 226 testRunner.And("the Response Resource should be an Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 227 testRunner.And("the Appointment Status should be Cancelled", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 228 testRunner.And("the Appointment Cancellation Reason Extension should be valid for \"double booked\"" + - "", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Cancel appointment verify resource is not updated when an out of date ETag value " + "is provided")] - public virtual void CancelAppointmentVerifyResourceIsNotUpdatedWhenAnOutOfDateETagValueIsProvided() + public void CancelAppointmentVerifyResourceIsNotUpdatedWhenAnOutOfDateETagValueIsProvided() { + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Cancel appointment verify resource is not updated when an out of date ETag value " + - "is provided", null, ((string[])(null))); + "is provided", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 230 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 231 testRunner.Given("I create an Appointment for an existing Patient and Organization Code \"ORG1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 232 testRunner.And("I store the Created Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 233 testRunner.Given("I configure the default \"AppointmentCancel\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 234 testRunner.And("I set the Created Appointment to Cancelled with Reason \"double booked\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 235 testRunner.And("I set the If-Match header to \"invalidEtag\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 236 testRunner.When("I make the \"AppointmentCancel\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 237 testRunner.Then("the response status code should be \"409\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 238 testRunner.And("the response should be a OperationOutcome resource with error code \"FHIR_CONSTRAI" + - "NT_VIOLATION\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "NT_VIOLATION\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Cancel appointment prefer header set to representation")] - public virtual void CancelAppointmentPreferHeaderSetToRepresentation() + public void CancelAppointmentPreferHeaderSetToRepresentation() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Cancel appointment prefer header set to representation", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Cancel appointment prefer header set to representation", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 240 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 241 testRunner.Given("I create an Appointment for an existing Patient and Organization Code \"ORG1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 242 testRunner.And("I store the Created Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 243 testRunner.Given("I configure the default \"AppointmentCancel\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 244 testRunner.And("I set the Created Appointment to Cancelled with Reason \"double booked\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 245 testRunner.And("I set the Prefer header to \"return=representation\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 246 testRunner.When("I make the \"AppointmentCancel\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 247 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 248 testRunner.And("the Response Resource should be an Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 249 testRunner.And("the Appointment Status should be Cancelled", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 250 testRunner.And("the content-type should not be equal to null", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 251 testRunner.And("the content-length should not be equal to zero", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 252 testRunner.And("the Appointment Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 253 testRunner.And("the Appointment Start should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 254 testRunner.And("the Appointment End should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 255 testRunner.And("the Appointment Slots should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 256 testRunner.And("the Appointment Participants should be valid and resolvable", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 257 testRunner.And("the Appointment Metadata should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Cancel appointment prefer header set to minimal")] - public virtual void CancelAppointmentPreferHeaderSetToMinimal() + public void CancelAppointmentPreferHeaderSetToMinimal() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Cancel appointment prefer header set to minimal", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Cancel appointment prefer header set to minimal", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 259 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 260 testRunner.Given("I create an Appointment for an existing Patient and Organization Code \"ORG1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 261 testRunner.And("I store the Created Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 262 testRunner.Given("I configure the default \"AppointmentCancel\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 263 testRunner.And("I set the Created Appointment to Cancelled with Reason \"double booked\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 264 testRunner.And("I set the Prefer header to \"return=minimal\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 265 testRunner.When("I make the \"AppointmentCancel\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 266 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 267 testRunner.And("the response body should be empty", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -710,411 +1075,635 @@ public virtual void CancelAppointmentPreferHeaderSetToMinimal() [NUnit.Framework.DescriptionAttribute("Cancel appointment check the version id of the cancelled resource is different")] [NUnit.Framework.TestCaseAttribute("patient1", null)] [NUnit.Framework.TestCaseAttribute("patient2", null)] - public virtual void CancelAppointmentCheckTheVersionIdOfTheCancelledResourceIsDifferent(string patientName, string[] exampleTags) + public void CancelAppointmentCheckTheVersionIdOfTheCancelledResourceIsDifferent(string patientName, string[] exampleTags) { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Cancel appointment check the version id of the cancelled resource is different", null, exampleTags); + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("PatientName", patientName); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Cancel appointment check the version id of the cancelled resource is different", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 269 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 270 testRunner.Given(string.Format("I create an Appointment for Patient \"{0}\" and Organization Code \"ORG1\"", patientName), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 271 testRunner.And("I store the Created Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 272 testRunner.Given("I configure the default \"AppointmentCancel\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 273 testRunner.And("I set the Created Appointment to Cancelled with Reason \"double booked\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 274 testRunner.When("I make the \"AppointmentCancel\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 275 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 276 testRunner.And("the Response Resource should be an Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 277 testRunner.And("the Appointment Status should be Cancelled", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 278 testRunner.And("the Appointment Cancellation Reason Extension should be valid for \"double booked\"" + - "", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 279 testRunner.And("the Appointment Version Id should not equal the Created Appointment Version Id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("CapabilityStatement profile supports the cancel appointment operation")] - public virtual void CapabilityStatementProfileSupportsTheCancelAppointmentOperation() + public void CapabilityStatementProfileSupportsTheCancelAppointmentOperation() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("CapabilityStatement profile supports the cancel appointment operation", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("CapabilityStatement profile supports the cancel appointment operation", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 285 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 286 testRunner.Given("I configure the default \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 287 testRunner.When("I make the \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 288 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 289 testRunner.And("the CapabilityStatement REST Resources should contain the \"Appointment\" Resource " + - "with the \"Update\" Interaction", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "with the \"Update\" Interaction", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Cancel appointment valid response check caching headers exist")] - public virtual void CancelAppointmentValidResponseCheckCachingHeadersExist() + public void CancelAppointmentValidResponseCheckCachingHeadersExist() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Cancel appointment valid response check caching headers exist", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Cancel appointment valid response check caching headers exist", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 291 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 292 testRunner.Given("I create an Appointment for an existing Patient and Organization Code \"ORG1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 293 testRunner.And("I store the Created Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 294 testRunner.Given("I configure the default \"AppointmentCancel\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 295 testRunner.And("I set the Created Appointment to Cancelled with Reason \"double booked\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 296 testRunner.When("I make the \"AppointmentCancel\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 297 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 298 testRunner.And("the Response Resource should be an Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 299 testRunner.And("the Appointment Status should be Cancelled", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 300 testRunner.And("the Appointment Cancellation Reason Extension should be valid for \"double booked\"" + - "", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 301 testRunner.And("the Appointment Metadata should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 302 testRunner.And("the required cacheing headers should be present in the response", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Cancel appointment invalid response check caching headers exist")] - public virtual void CancelAppointmentInvalidResponseCheckCachingHeadersExist() + public void CancelAppointmentInvalidResponseCheckCachingHeadersExist() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Cancel appointment invalid response check caching headers exist", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Cancel appointment invalid response check caching headers exist", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 304 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 305 testRunner.Given("I create an Appointment for an existing Patient and Organization Code \"ORG1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 306 testRunner.And("I store the Created Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 307 testRunner.Given("I configure the default \"AppointmentCancel\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 308 testRunner.And("I set the Created Appointment to Cancelled with Reason \"\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 309 testRunner.When("I make the \"AppointmentCancel\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 310 testRunner.Then("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 311 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_PARAM" + - "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 312 testRunner.And("the required cacheing headers should be present in the response", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Amend a cancelled appointment")] - public virtual void AmendACancelledAppointment() + public void AmendACancelledAppointment() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Amend a cancelled appointment", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Amend a cancelled appointment", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 316 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 317 testRunner.Given("I create an Appointment for an existing Patient and Organization Code \"ORG1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 318 testRunner.And("I store the Created Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 319 testRunner.Given("I configure the default \"AppointmentCancel\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 320 testRunner.And("I set the Created Appointment to Cancelled with Reason \"double booked\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 321 testRunner.When("I make the \"AppointmentCancel\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 322 testRunner.Given("I configure the default \"AppointmentAmend\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 323 testRunner.When("I make the \"AppointmentAmend\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 324 testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 325 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_RESOU" + - "RCE\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "RCE\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("I cancel appointment for patient with absoulute reference")] - public virtual void ICancelAppointmentForPatientWithAbsouluteReference() + public void ICancelAppointmentForPatientWithAbsouluteReference() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("I cancel appointment for patient with absoulute reference", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("I cancel appointment for patient with absoulute reference", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 329 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 330 testRunner.Given("I create an Appointment for an existing Patient and Organization Code \"ORG1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 331 testRunner.And("I store the Created Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 332 testRunner.Given("I configure the default \"AppointmentCancel\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 333 testRunner.And("I set the Created Appointment to Cancelled with Reason \"double booked\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 334 testRunner.And("I amend the cancel organization reference to absolute reference", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 335 testRunner.When("I make the \"AppointmentCancel\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 336 testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 337 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_RESOU" + - "RCE\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "RCE\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("I perform cancel appointment with participants with absoulte references")] - public virtual void IPerformCancelAppointmentWithParticipantsWithAbsoulteReferences() + public void IPerformCancelAppointmentWithParticipantsWithAbsoulteReferences() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("I perform cancel appointment with participants with absoulte references", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("I perform cancel appointment with participants with absoulte references", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 339 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 340 testRunner.Given("I create an Appointment for an existing Patient and Organization Code \"ORG1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 341 testRunner.And("I store the Created Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 342 testRunner.Given("I configure the default \"AppointmentCancel\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 343 testRunner.And("I set the Created Appointment to Cancelled with Reason \"double booked\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 344 testRunner.And("I add a Participant with Reference \"https://test1.supplier.thirdparty.nhs.uk/A111" + - "11/STU3/1/GPConnect/Location/2\" to the Created Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "11/STU3/1/GPConnect/Location/2\" to the Created Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 345 testRunner.And("I add a Participant with Reference \"https://test1.supplier.thirdparty.nhs.uk/A111" + - "11/STU3/1/GPConnect/Practitioner/2\" to the Created Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "11/STU3/1/GPConnect/Practitioner/2\" to the Created Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 346 testRunner.And("I add a Participant with Reference \"https://test1.supplier.thirdparty.nhs.uk/A111" + - "11/STU3/1/GPConnect/Patient/2\" to the Created Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "11/STU3/1/GPConnect/Patient/2\" to the Created Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 347 testRunner.When("I make the \"AppointmentCancel\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 348 testRunner.Then("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 349 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_RESOU" + - "RCE\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "RCE\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Successfully Cancel an appointment that has serviceCategory populated")] - public virtual void SuccessfullyCancelAnAppointmentThatHasServiceCategoryPopulated() + public void SuccessfullyCancelAnAppointmentThatHasServiceCategoryPopulated() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Successfully Cancel an appointment that has serviceCategory populated", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Successfully Cancel an appointment that has serviceCategory populated", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 351 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 352 testRunner.Given("I create an Appointment in \"2\" days time for Patient \"patient1\" and Organization " + - "Code \"ORG1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); + "Code \"ORG1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 353 testRunner.And("I store the Created Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 354 testRunner.Given("I configure the default \"AppointmentCancel\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 355 testRunner.And("I set the Created Appointment to Cancelled with Reason \"Test-Cancel-Reason\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 356 testRunner.When("I make the \"AppointmentCancel\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 357 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 358 testRunner.And("the Response Resource should be an Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 359 testRunner.And("the Appointment Status should be Cancelled", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 360 testRunner.And("the Appointment Cancellation Reason Extension should be valid for \"Test-Cancel-Re" + - "ason\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ason\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 361 testRunner.And("the Appointment Metadata should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 362 testRunner.And("the Appointment Status should be Cancelled", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 363 testRunner.And("the Appointment Id should equal the Created Appointment Id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 364 testRunner.And("the Appointment Extensions should equal the Created Appointment Extensions", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 365 testRunner.And("the Appointment Description should equal the Created Appointment Description", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 366 testRunner.And("the Appointment Start and End Dates should equal the Created Appointment Start an" + - "d End Dates", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "d End Dates", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 367 testRunner.And("the Appointment Slots should equal the Created Appointment Slots", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 368 testRunner.And("the Appointment Participants should be equal to the Created Appointment Participa" + - "nts", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "nts", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 369 testRunner.And("the Appointment Created should be equal to the Created Appointment Created", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 370 testRunner.And("the Appointments returned must be in the future", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 371 testRunner.And("the appointment reason must not be included", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 372 testRunner.And("the Appointment DeliveryChannel must be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 373 testRunner.And("the Appointment PractitionerRole must be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 374 testRunner.And("the Appointment Not In Use should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 375 testRunner.And("One Appointment contains serviceCategory element", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Successfully Cancel an appointment that has serviceType populated")] - public virtual void SuccessfullyCancelAnAppointmentThatHasServiceTypePopulated() + public void SuccessfullyCancelAnAppointmentThatHasServiceTypePopulated() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Successfully Cancel an appointment that has serviceType populated", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Successfully Cancel an appointment that has serviceType populated", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 377 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 378 testRunner.Given("I create an Appointment in \"2\" days time for Patient \"patient1\" and Organization " + - "Code \"ORG1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); + "Code \"ORG1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 379 testRunner.And("I store the Created Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 380 testRunner.Given("I configure the default \"AppointmentCancel\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 381 testRunner.And("I set the Created Appointment to Cancelled with Reason \"Test-Cancel-Reason\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 382 testRunner.When("I make the \"AppointmentCancel\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 383 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 384 testRunner.And("the Response Resource should be an Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 385 testRunner.And("the Appointment Status should be Cancelled", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 386 testRunner.And("the Appointment Cancellation Reason Extension should be valid for \"Test-Cancel-Re" + - "ason\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ason\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 387 testRunner.And("the Appointment Metadata should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 388 testRunner.And("the Appointment Status should be Cancelled", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 389 testRunner.And("the Appointment Id should equal the Created Appointment Id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 390 testRunner.And("the Appointment Extensions should equal the Created Appointment Extensions", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 391 testRunner.And("the Appointment Description should equal the Created Appointment Description", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 392 testRunner.And("the Appointment Start and End Dates should equal the Created Appointment Start an" + - "d End Dates", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "d End Dates", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 393 testRunner.And("the Appointment Slots should equal the Created Appointment Slots", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 394 testRunner.And("the Appointment Participants should be equal to the Created Appointment Participa" + - "nts", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "nts", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 395 testRunner.And("the Appointment Created should be equal to the Created Appointment Created", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 396 testRunner.And("the Appointments returned must be in the future", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 397 testRunner.And("the appointment reason must not be included", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 398 testRunner.And("the Appointment DeliveryChannel must be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 399 testRunner.And("the Appointment PractitionerRole must be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 400 testRunner.And("the Appointment Not In Use should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 401 testRunner.And("One Appointment contains serviceType element", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Successfully Cancel an appointment ensuring backwards compatibility with consumer" + "s that do not send ServiceCategory And serviceType expect success")] - public virtual void SuccessfullyCancelAnAppointmentEnsuringBackwardsCompatibilityWithConsumersThatDoNotSendServiceCategoryAndServiceTypeExpectSuccess() + public void SuccessfullyCancelAnAppointmentEnsuringBackwardsCompatibilityWithConsumersThatDoNotSendServiceCategoryAndServiceTypeExpectSuccess() { + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Successfully Cancel an appointment ensuring backwards compatibility with consumer" + - "s that do not send ServiceCategory And serviceType expect success", null, ((string[])(null))); + "s that do not send ServiceCategory And serviceType expect success", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 403 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 404 testRunner.Given("I create an Appointment in \"2\" days time for Patient \"patient1\" and Organization " + - "Code \"ORG1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); + "Code \"ORG1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 405 testRunner.And("I store the Created Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 406 testRunner.Given("I configure the default \"AppointmentCancel\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 407 testRunner.And("I set the Created Appointment to Cancelled with Reason \"Test-Cancel-Reason\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 408 testRunner.And("I Remove the serviceCategory and the serviceType from the appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 409 testRunner.When("I make the \"AppointmentCancel\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 410 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 411 testRunner.And("the Response Resource should be an Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 412 testRunner.And("the Appointment Status should be Cancelled", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 413 testRunner.And("the Appointment Cancellation Reason Extension should be valid for \"Test-Cancel-Re" + - "ason\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ason\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 414 testRunner.And("the Appointment Metadata should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 415 testRunner.And("the Appointment Status should be Cancelled", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 416 testRunner.And("the Appointment Id should equal the Created Appointment Id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 417 testRunner.And("the Appointment Extensions should equal the Created Appointment Extensions", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 418 testRunner.And("the Appointment Description should equal the Created Appointment Description", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 419 testRunner.And("the Appointment Start and End Dates should equal the Created Appointment Start an" + - "d End Dates", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "d End Dates", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 420 testRunner.And("the Appointment Slots should equal the Created Appointment Slots", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 421 testRunner.And("the Appointment Participants should be equal to the Created Appointment Participa" + - "nts", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "nts", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 422 testRunner.And("the Appointment Created should be equal to the Created Appointment Created", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 423 testRunner.And("the Appointments returned must be in the future", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 424 testRunner.And("the appointment reason must not be included", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 425 testRunner.And("the Appointment DeliveryChannel must be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 426 testRunner.And("the Appointment PractitionerRole must be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 427 testRunner.And("the Appointment Not In Use should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 428 testRunner.And("One Appointment contains serviceType element", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } } diff --git a/GPConnect.Provider.AcceptanceTests/AppointmentRead.feature.cs b/GPConnect.Provider.AcceptanceTests/AppointmentRead.feature.cs index 20c11e18..c6e84501 100644 --- a/GPConnect.Provider.AcceptanceTests/AppointmentRead.feature.cs +++ b/GPConnect.Provider.AcceptanceTests/AppointmentRead.feature.cs @@ -1,8 +1,8 @@ -// ------------------------------------------------------------------------------ +// ------------------------------------------------------------------------------ // -// This code was generated by SpecFlow (http://www.specflow.org/). -// SpecFlow Version:3.0.0.0 -// SpecFlow Generator Version:3.0.0.0 +// This code was generated by SpecFlow (https://www.specflow.org/). +// SpecFlow Version:3.9.0.0 +// SpecFlow Generator Version:3.9.0.0 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. @@ -13,9 +13,11 @@ namespace GPConnect.Provider.AcceptanceTests { using TechTalk.SpecFlow; + using System; + using System.Linq; - [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "3.0.0.0")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "3.9.0.0")] [System.Runtime.CompilerServices.CompilerGeneratedAttribute()] [NUnit.Framework.TestFixtureAttribute()] [NUnit.Framework.DescriptionAttribute("AppointmentRead")] @@ -26,6 +28,10 @@ public partial class AppointmentReadFeature private TechTalk.SpecFlow.ITestRunner testRunner; + private static string[] featureTags = new string[] { + "appointment", + "1.5.0-Full-Pack"}; + #line 1 "AppointmentRead.feature" #line hidden @@ -33,9 +39,7 @@ public partial class AppointmentReadFeature public virtual void FeatureSetup() { testRunner = TechTalk.SpecFlow.TestRunnerManager.GetTestRunner(); - TechTalk.SpecFlow.FeatureInfo featureInfo = new TechTalk.SpecFlow.FeatureInfo(new System.Globalization.CultureInfo("en-US"), "AppointmentRead", null, ProgrammingLanguage.CSharp, new string[] { - "appointment", - "1.5.0-Full-Pack"}); + TechTalk.SpecFlow.FeatureInfo featureInfo = new TechTalk.SpecFlow.FeatureInfo(new System.Globalization.CultureInfo("en-US"), "", "AppointmentRead", null, ProgrammingLanguage.CSharp, featureTags); testRunner.OnFeatureStart(featureInfo); } @@ -47,28 +51,28 @@ public virtual void FeatureTearDown() } [NUnit.Framework.SetUpAttribute()] - public virtual void TestInitialize() + public void TestInitialize() { } [NUnit.Framework.TearDownAttribute()] - public virtual void ScenarioTearDown() + public void TestTearDown() { testRunner.OnScenarioEnd(); } - public virtual void ScenarioInitialize(TechTalk.SpecFlow.ScenarioInfo scenarioInfo) + public void ScenarioInitialize(TechTalk.SpecFlow.ScenarioInfo scenarioInfo) { testRunner.OnScenarioInitialize(scenarioInfo); testRunner.ScenarioContext.ScenarioContainer.RegisterInstanceAs(NUnit.Framework.TestContext.CurrentContext); } - public virtual void ScenarioStart() + public void ScenarioStart() { testRunner.OnScenarioStart(); } - public virtual void ScenarioCleanup() + public void ScenarioCleanup() { testRunner.CollectScenarioErrors(); } @@ -78,101 +82,164 @@ public virtual void ScenarioCleanup() [NUnit.Framework.TestCaseAttribute("patient1", null)] [NUnit.Framework.TestCaseAttribute("patient2", null)] [NUnit.Framework.TestCaseAttribute("patient3", null)] - public virtual void IPerformASuccessfulReadAppointment(string patientName, string[] exampleTags) + public void IPerformASuccessfulReadAppointment(string patientName, string[] exampleTags) { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("I perform a successful Read appointment", null, exampleTags); + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("PatientName", patientName); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("I perform a successful Read appointment", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 4 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 5 testRunner.Given(string.Format("I create an Appointment for Patient \"{0}\"", patientName), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 6 testRunner.And("I store the Created Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 7 testRunner.Given("I configure the default \"AppointmentRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 8 testRunner.When("I make the \"AppointmentRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 9 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 10 testRunner.And("the Response Resource should be an Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 11 testRunner.And("the Appointments returned must be in the future", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 12 testRunner.And("the Appointment Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 13 testRunner.And("the Appointment Metadata should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 14 testRunner.And("the Appointment DeliveryChannel must be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 15 testRunner.And("the Appointment PractitionerRole must be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 18 testRunner.And("the Appointment Not In Use should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("I perform a successful Read appointment with Extensions")] [NUnit.Framework.TestCaseAttribute("patient1", "true", "true", "true", null)] - public virtual void IPerformASuccessfulReadAppointmentWithExtensions(string patientName, string orgType, string deliveryChannel, string pracRole, string[] exampleTags) + public void IPerformASuccessfulReadAppointmentWithExtensions(string patientName, string orgType, string deliveryChannel, string pracRole, string[] exampleTags) { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("I perform a successful Read appointment with Extensions", null, exampleTags); + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("PatientName", patientName); + argumentsOfScenario.Add("OrgType", orgType); + argumentsOfScenario.Add("DeliveryChannel", deliveryChannel); + argumentsOfScenario.Add("PracRole", pracRole); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("I perform a successful Read appointment with Extensions", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 25 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 26 testRunner.Given(string.Format("I create an Appointment for Patient \"{0}\"", patientName), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 27 testRunner.And(string.Format("I create an Appointment with org type \"{0}\" with channel \"{1}\" with prac role \"{2" + - "}\"", orgType, deliveryChannel, pracRole), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "}\"", orgType, deliveryChannel, pracRole), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 28 testRunner.And("I store the Created Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 29 testRunner.Given("I configure the default \"AppointmentRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 30 testRunner.When("I make the \"AppointmentRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 31 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 32 testRunner.And("the Response Resource should be an Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 33 testRunner.And("the Appointments returned must be in the future", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 34 testRunner.And("the Appointment Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 35 testRunner.And("the Appointment Metadata should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 36 testRunner.And("the Appointment DeliveryChannel must be present", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 37 testRunner.And("the Appointment PractitionerRole must be present", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("I perform a successful Read appointment with JWT Org Different")] - public virtual void IPerformASuccessfulReadAppointmentWithJWTOrgDifferent() + public void IPerformASuccessfulReadAppointmentWithJWTOrgDifferent() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("I perform a successful Read appointment with JWT Org Different", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("I perform a successful Read appointment with JWT Org Different", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 42 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 45 testRunner.Given("I create an Appointment for Patient \"patient1\" and Organization Code \"ORG3\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 46 testRunner.And("I store the Created Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 47 testRunner.Given("I configure the default \"AppointmentRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 48 testRunner.When("I make the \"AppointmentRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 49 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 50 testRunner.And("the Response Resource should be an Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 51 testRunner.And("the Appointment Organisation Code should equal \"ORG1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -181,27 +248,44 @@ public virtual void IPerformASuccessfulReadAppointmentWithJWTOrgDifferent() [NUnit.Framework.TestCaseAttribute("Invalid4321", null)] [NUnit.Framework.TestCaseAttribute("8888888888", null)] [NUnit.Framework.TestCaseAttribute("", null)] - public virtual void ReadAppointmentInvalidAppointmentId(string id, string[] exampleTags) + public void ReadAppointmentInvalidAppointmentId(string id, string[] exampleTags) { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Read appointment invalid appointment id", null, exampleTags); + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("id", id); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Read appointment invalid appointment id", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 53 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 54 testRunner.Given("I create an Appointment for Patient \"patient1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 55 testRunner.And("I store the Created Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 56 testRunner.Given("I configure the default \"AppointmentRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 57 testRunner.And(string.Format("I set the Read Operation logical identifier used in the request to \"{0}\"", id), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 58 testRunner.When("I make the \"AppointmentRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 59 testRunner.Then("the response status code should be \"404\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 60 testRunner.And("the response body should be FHIR JSON", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -209,29 +293,48 @@ public virtual void ReadAppointmentInvalidAppointmentId(string id, string[] exam [NUnit.Framework.DescriptionAttribute("Read appointment using the _format parameter to request response format")] [NUnit.Framework.TestCaseAttribute("application/fhir+json", "JSON", null)] [NUnit.Framework.TestCaseAttribute("application/fhir+xml", "XML", null)] - public virtual void ReadAppointmentUsingThe_FormatParameterToRequestResponseFormat(string parameter, string bodyFormat, string[] exampleTags) + public void ReadAppointmentUsingThe_FormatParameterToRequestResponseFormat(string parameter, string bodyFormat, string[] exampleTags) { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Read appointment using the _format parameter to request response format", null, exampleTags); + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("Parameter", parameter); + argumentsOfScenario.Add("BodyFormat", bodyFormat); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Read appointment using the _format parameter to request response format", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 67 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 68 testRunner.Given("I create an Appointment for Patient \"patient1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 69 testRunner.And("I store the Created Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 70 testRunner.Given("I configure the default \"AppointmentRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 71 testRunner.And(string.Format("I add the parameter \"_format\" with the value \"{0}\"", parameter), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 72 testRunner.When("I make the \"AppointmentRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 73 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 74 testRunner.And(string.Format("the response body should be FHIR {0}", bodyFormat), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 75 testRunner.And("the Response Resource should be an Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -242,32 +345,53 @@ public virtual void ReadAppointmentUsingThe_FormatParameterToRequestResponseForm [NUnit.Framework.TestCaseAttribute("application/fhir+json", "application/fhir+xml", "XML", null)] [NUnit.Framework.TestCaseAttribute("application/fhir+xml", "application/fhir+json", "JSON", null)] [NUnit.Framework.TestCaseAttribute("application/fhir+xml", "application/fhir+xml", "XML", null)] - public virtual void ReadAppointmentUsingThe_FormatParameterAndAcceptHeaderToRequestResponseFormat(string header, string parameter, string bodyFormat, string[] exampleTags) + public void ReadAppointmentUsingThe_FormatParameterAndAcceptHeaderToRequestResponseFormat(string header, string parameter, string bodyFormat, string[] exampleTags) { + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("Header", header); + argumentsOfScenario.Add("Parameter", parameter); + argumentsOfScenario.Add("BodyFormat", bodyFormat); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Read appointment using the _format parameter and accept header to request respons" + - "e format", null, exampleTags); + "e format", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 82 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 83 testRunner.Given("I create an Appointment for Patient \"patient1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 84 testRunner.And("I store the Created Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 85 testRunner.Given("I configure the default \"AppointmentRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 86 testRunner.And(string.Format("I set the Accept header to \"{0}\"", header), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 87 testRunner.And(string.Format("I add the parameter \"_format\" with the value \"{0}\"", parameter), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 88 testRunner.When("I make the \"AppointmentRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 89 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 90 testRunner.And(string.Format("the response body should be FHIR {0}", bodyFormat), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 91 testRunner.And("the Response Resource should be an Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -275,205 +399,332 @@ public virtual void ReadAppointmentUsingThe_FormatParameterAndAcceptHeaderToRequ [NUnit.Framework.DescriptionAttribute("Read appointment ensure response appointments contain the manadatory elements")] [NUnit.Framework.TestCaseAttribute("application/fhir+json", "JSON", null)] [NUnit.Framework.TestCaseAttribute("application/fhir+xml", "XML", null)] - public virtual void ReadAppointmentEnsureResponseAppointmentsContainTheManadatoryElements(string header, string bodyFormat, string[] exampleTags) + public void ReadAppointmentEnsureResponseAppointmentsContainTheManadatoryElements(string header, string bodyFormat, string[] exampleTags) { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Read appointment ensure response appointments contain the manadatory elements", null, exampleTags); + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("Header", header); + argumentsOfScenario.Add("BodyFormat", bodyFormat); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Read appointment ensure response appointments contain the manadatory elements", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 99 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 100 testRunner.Given("I create an Appointment for Patient \"patient1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 101 testRunner.And("I store the Created Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 102 testRunner.Given("I configure the default \"AppointmentRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 103 testRunner.And(string.Format("I set the Accept header to \"{0}\"", header), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 104 testRunner.When("I make the \"AppointmentRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 105 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 106 testRunner.And(string.Format("the response body should be FHIR {0}", bodyFormat), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 107 testRunner.And("the Response Resource should be an Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 108 testRunner.And("the Appointment Status should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 109 testRunner.And("the Appointment Start should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 110 testRunner.And("the Appointment End should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 111 testRunner.And("the Appointment Slots should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 112 testRunner.And("the Appointment Participants should be valid and resolvable", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 113 testRunner.And("the Appointment Description must be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 114 testRunner.And("the Appointment Created must be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 115 testRunner.And("the Appointment Identifiers should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 116 testRunner.And("the Appointment Priority should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 117 testRunner.And("the Appointment Participant Type and Actor should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 118 testRunner.And("the Response should contain the ETag header matching the Resource Version Id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 119 testRunner.And("the Appointment booking organization extension and contained resource must be val" + - "id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 120 testRunner.And("the appointment reason must not be included", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Read appointment valid response check caching headers exist")] - public virtual void ReadAppointmentValidResponseCheckCachingHeadersExist() + public void ReadAppointmentValidResponseCheckCachingHeadersExist() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Read appointment valid response check caching headers exist", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Read appointment valid response check caching headers exist", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 126 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 127 testRunner.Given("I create an Appointment for Patient \"patient1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 128 testRunner.And("I store the Created Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 129 testRunner.Given("I configure the default \"AppointmentRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 130 testRunner.When("I make the \"AppointmentRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 131 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 132 testRunner.And("the Response Resource should be an Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 133 testRunner.And("the required cacheing headers should be present in the response", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Read appointment invalid response check caching headers exist")] - public virtual void ReadAppointmentInvalidResponseCheckCachingHeadersExist() + public void ReadAppointmentInvalidResponseCheckCachingHeadersExist() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Read appointment invalid response check caching headers exist", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Read appointment invalid response check caching headers exist", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 135 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 136 testRunner.Given("I create an Appointment for Patient \"patient1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 137 testRunner.And("I store the Created Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 138 testRunner.Given("I configure the default \"AppointmentRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 139 testRunner.And("I set the Read Operation logical identifier used in the request to \"555555\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 140 testRunner.When("I make the \"AppointmentRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 141 testRunner.Then("the response status code should be \"404\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 142 testRunner.And("the response body should be FHIR JSON", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("CapabilityStatement profile supports the read appointment operation")] - public virtual void CapabilityStatementProfileSupportsTheReadAppointmentOperation() + public void CapabilityStatementProfileSupportsTheReadAppointmentOperation() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("CapabilityStatement profile supports the read appointment operation", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("CapabilityStatement profile supports the read appointment operation", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 146 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 147 testRunner.Given("I configure the default \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 148 testRunner.When("I make the \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 149 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 150 testRunner.And("the CapabilityStatement REST Resources should contain the \"Appointment\" Resource " + - "with the \"Read\" Interaction", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "with the \"Read\" Interaction", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Read a patient’s appointments expecting servicecategory is populated")] [NUnit.Framework.TestCaseAttribute("patient1", "true", "true", "true", null)] - public virtual void ReadAPatientSAppointmentsExpectingServicecategoryIsPopulated(string patientName, string orgType, string deliveryChannel, string pracRole, string[] exampleTags) + public void ReadAPatientSAppointmentsExpectingServicecategoryIsPopulated(string patientName, string orgType, string deliveryChannel, string pracRole, string[] exampleTags) { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Read a patient’s appointments expecting servicecategory is populated", null, exampleTags); + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("PatientName", patientName); + argumentsOfScenario.Add("OrgType", orgType); + argumentsOfScenario.Add("DeliveryChannel", deliveryChannel); + argumentsOfScenario.Add("PracRole", pracRole); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Read a patient’s appointments expecting servicecategory is populated", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 152 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 153 testRunner.Given("I create an Appointment in \"2\" days time for Patient \"patient1\" and Organization " + - "Code \"ORG1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); + "Code \"ORG1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 154 testRunner.And("I store the Created Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 155 testRunner.Given("I configure the default \"AppointmentRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 156 testRunner.When("I make the \"AppointmentRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 157 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 158 testRunner.And("the Response Resource should be an Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 159 testRunner.And("the Appointments returned must be in the future", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 160 testRunner.And("the Appointment Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 161 testRunner.And("the Appointment Metadata should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 162 testRunner.And("the Appointment DeliveryChannel must be present", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 163 testRunner.And("the Appointment PractitionerRole must be present", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 164 testRunner.And("One Appointment contains serviceCategory element", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Read a patient’s appointments expecting serviceType is populated")] [NUnit.Framework.TestCaseAttribute("patient1", "true", "true", "true", null)] - public virtual void ReadAPatientSAppointmentsExpectingServiceTypeIsPopulated(string patientName, string orgType, string deliveryChannel, string pracRole, string[] exampleTags) + public void ReadAPatientSAppointmentsExpectingServiceTypeIsPopulated(string patientName, string orgType, string deliveryChannel, string pracRole, string[] exampleTags) { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Read a patient’s appointments expecting serviceType is populated", null, exampleTags); + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("PatientName", patientName); + argumentsOfScenario.Add("OrgType", orgType); + argumentsOfScenario.Add("DeliveryChannel", deliveryChannel); + argumentsOfScenario.Add("PracRole", pracRole); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Read a patient’s appointments expecting serviceType is populated", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 170 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 171 testRunner.Given("I create an Appointment in \"2\" days time for Patient \"patient1\" and Organization " + - "Code \"ORG1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); + "Code \"ORG1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 172 testRunner.And("I store the Created Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 173 testRunner.Given("I configure the default \"AppointmentRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 174 testRunner.When("I make the \"AppointmentRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 175 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 176 testRunner.And("the Response Resource should be an Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 177 testRunner.And("the Appointments returned must be in the future", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 178 testRunner.And("the Appointment Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 179 testRunner.And("the Appointment Metadata should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 180 testRunner.And("the Appointment DeliveryChannel must be present", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 181 testRunner.And("the Appointment PractitionerRole must be present", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 182 testRunner.And("One Appointment contains serviceType element", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } } diff --git a/GPConnect.Provider.AcceptanceTests/AppointmentRetrieve.feature.cs b/GPConnect.Provider.AcceptanceTests/AppointmentRetrieve.feature.cs index dae4350f..19c17cb4 100644 --- a/GPConnect.Provider.AcceptanceTests/AppointmentRetrieve.feature.cs +++ b/GPConnect.Provider.AcceptanceTests/AppointmentRetrieve.feature.cs @@ -1,8 +1,8 @@ -// ------------------------------------------------------------------------------ +// ------------------------------------------------------------------------------ // -// This code was generated by SpecFlow (http://www.specflow.org/). -// SpecFlow Version:3.0.0.0 -// SpecFlow Generator Version:3.0.0.0 +// This code was generated by SpecFlow (https://www.specflow.org/). +// SpecFlow Version:3.9.0.0 +// SpecFlow Generator Version:3.9.0.0 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. @@ -13,9 +13,11 @@ namespace GPConnect.Provider.AcceptanceTests { using TechTalk.SpecFlow; + using System; + using System.Linq; - [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "3.0.0.0")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "3.9.0.0")] [System.Runtime.CompilerServices.CompilerGeneratedAttribute()] [NUnit.Framework.TestFixtureAttribute()] [NUnit.Framework.DescriptionAttribute("AppointmentRetrieve")] @@ -26,6 +28,10 @@ public partial class AppointmentRetrieveFeature private TechTalk.SpecFlow.ITestRunner testRunner; + private static string[] featureTags = new string[] { + "appointment", + "1.5.0-Full-Pack"}; + #line 1 "AppointmentRetrieve.feature" #line hidden @@ -33,9 +39,7 @@ public partial class AppointmentRetrieveFeature public virtual void FeatureSetup() { testRunner = TechTalk.SpecFlow.TestRunnerManager.GetTestRunner(); - TechTalk.SpecFlow.FeatureInfo featureInfo = new TechTalk.SpecFlow.FeatureInfo(new System.Globalization.CultureInfo("en-US"), "AppointmentRetrieve", null, ProgrammingLanguage.CSharp, new string[] { - "appointment", - "1.5.0-Full-Pack"}); + TechTalk.SpecFlow.FeatureInfo featureInfo = new TechTalk.SpecFlow.FeatureInfo(new System.Globalization.CultureInfo("en-US"), "", "AppointmentRetrieve", null, ProgrammingLanguage.CSharp, featureTags); testRunner.OnFeatureStart(featureInfo); } @@ -47,28 +51,28 @@ public virtual void FeatureTearDown() } [NUnit.Framework.SetUpAttribute()] - public virtual void TestInitialize() + public void TestInitialize() { } [NUnit.Framework.TearDownAttribute()] - public virtual void ScenarioTearDown() + public void TestTearDown() { testRunner.OnScenarioEnd(); } - public virtual void ScenarioInitialize(TechTalk.SpecFlow.ScenarioInfo scenarioInfo) + public void ScenarioInitialize(TechTalk.SpecFlow.ScenarioInfo scenarioInfo) { testRunner.OnScenarioInitialize(scenarioInfo); testRunner.ScenarioContext.ScenarioContainer.RegisterInstanceAs(NUnit.Framework.TestContext.CurrentContext); } - public virtual void ScenarioStart() + public void ScenarioStart() { testRunner.OnScenarioStart(); } - public virtual void ScenarioCleanup() + public void ScenarioCleanup() { testRunner.CollectScenarioErrors(); } @@ -76,71 +80,114 @@ public virtual void ScenarioCleanup() [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Appointment retrieve success valid id where appointment resource returned is not " + "required")] - public virtual void AppointmentRetrieveSuccessValidIdWhereAppointmentResourceReturnedIsNotRequired() + public void AppointmentRetrieveSuccessValidIdWhereAppointmentResourceReturnedIsNotRequired() { + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Appointment retrieve success valid id where appointment resource returned is not " + - "required", null, ((string[])(null))); + "required", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 4 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 5 testRunner.Given("I get the Patient for Patient Value \"patientNoAppointments\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 6 testRunner.And("I store the Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 7 testRunner.Given("I configure the default \"AppointmentSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 8 testRunner.And("I add start query parameters to the Request URL for Period starting today for \"1\"" + - " days", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + " days", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 9 testRunner.When("I make the \"AppointmentSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 10 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 11 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 12 testRunner.And("the Bundle should contain no Appointments", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("I perform a successful retrieve appointment with Extensions")] [NUnit.Framework.TestCaseAttribute("patient1", "true", "true", "true", null)] - public virtual void IPerformASuccessfulRetrieveAppointmentWithExtensions(string patientName, string orgType, string deliveryChannel, string pracRole, string[] exampleTags) + public void IPerformASuccessfulRetrieveAppointmentWithExtensions(string patientName, string orgType, string deliveryChannel, string pracRole, string[] exampleTags) { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("I perform a successful retrieve appointment with Extensions", null, exampleTags); + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("PatientName", patientName); + argumentsOfScenario.Add("OrgType", orgType); + argumentsOfScenario.Add("DeliveryChannel", deliveryChannel); + argumentsOfScenario.Add("PracRole", pracRole); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("I perform a successful retrieve appointment with Extensions", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 14 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 15 testRunner.Given(string.Format("I create an Appointment for Patient \"{0}\"", patientName), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 16 testRunner.And(string.Format("I create an Appointment with org type \"{0}\" with channel \"{1}\" with prac role \"{2" + - "}\"", orgType, deliveryChannel, pracRole), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "}\"", orgType, deliveryChannel, pracRole), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 17 testRunner.And("I store the Created Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 18 testRunner.Given("I configure the default \"AppointmentRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 19 testRunner.When("I make the \"AppointmentRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 20 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 21 testRunner.And("the Response Resource should be an Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 22 testRunner.And("the Appointments returned must be in the future", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 23 testRunner.And("the Appointment Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 24 testRunner.And("the Appointment Metadata should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 25 testRunner.And("the Appointment DeliveryChannel must be present", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 26 testRunner.And("the Appointment PractitionerRole must be present", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 29 testRunner.And("the Appointment Not In Use should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -149,66 +196,103 @@ public virtual void IPerformASuccessfulRetrieveAppointmentWithExtensions(string [NUnit.Framework.TestCaseAttribute("patient4", "1", null)] [NUnit.Framework.TestCaseAttribute("patient5", "3", null)] [NUnit.Framework.TestCaseAttribute("patient6", "2", null)] - public virtual void AppointmentRetrieveMultipleAppointmentRetrived(string patient, string numberOfAppointments, string[] exampleTags) + public void AppointmentRetrieveMultipleAppointmentRetrived(string patient, string numberOfAppointments, string[] exampleTags) { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Appointment retrieve multiple appointment retrived", null, exampleTags); + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("patient", patient); + argumentsOfScenario.Add("numberOfAppointments", numberOfAppointments); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Appointment retrieve multiple appointment retrived", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 34 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 35 testRunner.Given(string.Format("I create \"{0}\" Appointments for Patient \"{1}\" and Organization Code \"ORG1\"", numberOfAppointments, patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 36 testRunner.Given(string.Format("I get the Patient for Patient Value \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 37 testRunner.And("I store the Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 38 testRunner.Given("I configure the default \"AppointmentSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 39 testRunner.And("I add start query parameters to the Request URL for Period starting today for \"14" + - "\" days", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "\" days", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 40 testRunner.When("I make the \"AppointmentSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 41 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 42 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 43 testRunner.And(string.Format("the Bundle should contain a minimum of \"{0}\" Appointments", numberOfAppointments), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 44 testRunner.And("the Appointment Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 45 testRunner.And("the Appointments returned must be in the future", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 46 testRunner.And("the Appointment Status should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 47 testRunner.And("the Appointment Start should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 48 testRunner.And("the Appointment End should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 49 testRunner.And("the Appointment Slots should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 50 testRunner.And("the Appointment Participants should be valid and resolvable", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 51 testRunner.And("the Appointment Description must be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 52 testRunner.And("the Appointment Created must be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 53 testRunner.And("the Appointment Participant Type and Actor should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 54 testRunner.And("the Appointment Metadata should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 55 testRunner.And("the Appointment Start should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 56 testRunner.And("the Appointment End should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 57 testRunner.And("the appointment reason must not be included", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 58 testRunner.And("the Appointment DeliveryChannel must be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 59 testRunner.And("the Appointment PractitionerRole must be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 62 testRunner.And("the Appointment Not In Use should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -216,30 +300,48 @@ public virtual void AppointmentRetrieveMultipleAppointmentRetrived(string patien [NUnit.Framework.DescriptionAttribute("Appointment retrieve fail due to invalid patient logical id")] [NUnit.Framework.TestCaseAttribute("null", null)] [NUnit.Framework.TestCaseAttribute("dd", null)] - public virtual void AppointmentRetrieveFailDueToInvalidPatientLogicalId(string id, string[] exampleTags) + public void AppointmentRetrieveFailDueToInvalidPatientLogicalId(string id, string[] exampleTags) { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Appointment retrieve fail due to invalid patient logical id", null, exampleTags); + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("id", id); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Appointment retrieve fail due to invalid patient logical id", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 69 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 70 testRunner.Given("I get the Patient for Patient Value \"patient4\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 71 testRunner.And("I store the Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 72 testRunner.Given("I configure the default \"AppointmentSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 73 testRunner.And(string.Format("I set the request URL to \"Patient/{0}/Appointment?start=ge2030-03-30&start=le2030" + - "-04-30\"", id), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "-04-30\"", id), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 74 testRunner.When("I make the \"AppointmentSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 75 testRunner.Then("the response status code should be \"404\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 76 testRunner.And("the response body should be FHIR JSON", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 77 testRunner.And("the response should be a OperationOutcome resource", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -250,35 +352,57 @@ public virtual void AppointmentRetrieveFailDueToInvalidPatientLogicalId(string i [NUnit.Framework.TestCaseAttribute("application/fhir+json", "application/fhir+xml", "XML", null)] [NUnit.Framework.TestCaseAttribute("application/fhir+xml", "application/fhir+json", "JSON", null)] [NUnit.Framework.TestCaseAttribute("application/fhir+xml", "application/fhir+xml", "XML", null)] - public virtual void AppointmentRetrieveAcceptHeaderAnd_FormatParameterToRequestResponseFormat(string header, string parameter, string bodyFormat, string[] exampleTags) + public void AppointmentRetrieveAcceptHeaderAnd_FormatParameterToRequestResponseFormat(string header, string parameter, string bodyFormat, string[] exampleTags) { + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("Header", header); + argumentsOfScenario.Add("Parameter", parameter); + argumentsOfScenario.Add("BodyFormat", bodyFormat); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Appointment retrieve accept header and _format parameter to request response form" + - "at", null, exampleTags); + "at", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 83 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 84 testRunner.Given("I create an Appointment for an existing Patient and Organization Code \"ORG1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 85 testRunner.Given("I configure the default \"AppointmentSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 86 testRunner.And(string.Format("I set the Accept header to \"{0}\"", header), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 87 testRunner.And("I add the start time period parameters for \"14\" days starting today using the pre" + - "fixes \"ge\" and \"le\" and formats \"yyyy-MM-dd\" and \"yyyy-MM-dd\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "fixes \"ge\" and \"le\" and formats \"yyyy-MM-dd\" and \"yyyy-MM-dd\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 88 testRunner.And(string.Format("I add the parameter \"_format\" with the value \"{0}\"", parameter), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 89 testRunner.When("I make the \"AppointmentSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 90 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 91 testRunner.And(string.Format("the response body should be FHIR {0}", bodyFormat), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 92 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 93 testRunner.And("the Bundle should contain a minimum of \"1\" Appointments", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -286,32 +410,52 @@ public virtual void AppointmentRetrieveAcceptHeaderAnd_FormatParameterToRequestR [NUnit.Framework.DescriptionAttribute("Appointment retrieve accept header to request response format")] [NUnit.Framework.TestCaseAttribute("application/fhir+json", "JSON", null)] [NUnit.Framework.TestCaseAttribute("application/fhir+xml", "XML", null)] - public virtual void AppointmentRetrieveAcceptHeaderToRequestResponseFormat(string header, string bodyFormat, string[] exampleTags) + public void AppointmentRetrieveAcceptHeaderToRequestResponseFormat(string header, string bodyFormat, string[] exampleTags) { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Appointment retrieve accept header to request response format", null, exampleTags); + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("Header", header); + argumentsOfScenario.Add("BodyFormat", bodyFormat); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Appointment retrieve accept header to request response format", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 101 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 102 testRunner.Given("I create an Appointment for an existing Patient and Organization Code \"ORG1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 103 testRunner.Given("I configure the default \"AppointmentSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 104 testRunner.And("I add start query parameters to the Request URL for Period starting today for \"14" + - "\" days", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "\" days", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 105 testRunner.And(string.Format("I set the Accept header to \"{0}\"", header), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 106 testRunner.When("I make the \"AppointmentSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 107 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 108 testRunner.And(string.Format("the response body should be FHIR {0}", bodyFormat), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 109 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 110 testRunner.And("the Bundle should contain a minimum of \"1\" Appointments", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -319,32 +463,52 @@ public virtual void AppointmentRetrieveAcceptHeaderToRequestResponseFormat(strin [NUnit.Framework.DescriptionAttribute("Appointment retrieve _format parameter only to request response format")] [NUnit.Framework.TestCaseAttribute("application/fhir+json", "JSON", null)] [NUnit.Framework.TestCaseAttribute("application/fhir+xml", "XML", null)] - public virtual void AppointmentRetrieve_FormatParameterOnlyToRequestResponseFormat(string parameter, string bodyFormat, string[] exampleTags) + public void AppointmentRetrieve_FormatParameterOnlyToRequestResponseFormat(string parameter, string bodyFormat, string[] exampleTags) { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Appointment retrieve _format parameter only to request response format", null, exampleTags); + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("Parameter", parameter); + argumentsOfScenario.Add("BodyFormat", bodyFormat); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Appointment retrieve _format parameter only to request response format", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 116 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 117 testRunner.Given("I create an Appointment for an existing Patient and Organization Code \"ORG1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 118 testRunner.Given("I configure the default \"AppointmentSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 119 testRunner.And("I add the start time period parameters for \"14\" days starting today using the pre" + - "fixes \"ge\" and \"le\" and formats \"yyyy-MM-dd\" and \"yyyy-MM-dd\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "fixes \"ge\" and \"le\" and formats \"yyyy-MM-dd\" and \"yyyy-MM-dd\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 120 testRunner.And(string.Format("I add the parameter \"_format\" with the value \"{0}\"", parameter), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 121 testRunner.When("I make the \"AppointmentSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 122 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 123 testRunner.And(string.Format("the response body should be FHIR {0}", bodyFormat), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 124 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 125 testRunner.And("the Bundle should contain a minimum of \"1\" Appointments", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -358,31 +522,50 @@ public virtual void AppointmentRetrieve_FormatParameterOnlyToRequestResponseForm [NUnit.Framework.TestCaseAttribute("yyyy-MM", "yyyy-MM-dd", null)] [NUnit.Framework.TestCaseAttribute("yyyy-MM-ddTHH:mm:ss", "yyyy-MM-dd", null)] [NUnit.Framework.TestCaseAttribute("yyyy-MM-ddTHH:mm:ssZ", "yyyy-MM-dd", null)] - public virtual void AppointmentRetrieveInvalidDateFormat(string startFormat, string endFormat, string[] exampleTags) + public void AppointmentRetrieveInvalidDateFormat(string startFormat, string endFormat, string[] exampleTags) { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Appointment retrieve invalid date format", null, exampleTags); + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("StartFormat", startFormat); + argumentsOfScenario.Add("EndFormat", endFormat); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Appointment retrieve invalid date format", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 131 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 132 testRunner.Given("I get the Patient for Patient Value \"patient4\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 133 testRunner.And("I store the Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 134 testRunner.Given("I configure the default \"AppointmentSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 135 testRunner.And(string.Format("I add the start time period parameters for \"14\" days starting today using the pre" + - "fixes \"ge\" and \"le\" and formats \"{0}\" and \"{1}\"", startFormat, endFormat), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "fixes \"ge\" and \"le\" and formats \"{0}\" and \"{1}\"", startFormat, endFormat), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 136 testRunner.When("I make the \"AppointmentSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 137 testRunner.Then("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 138 testRunner.And("the response body should be FHIR JSON", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 139 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_PARAM" + - "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -397,31 +580,50 @@ public virtual void AppointmentRetrieveInvalidDateFormat(string startFormat, str [NUnit.Framework.TestCaseAttribute("eqs", "le", null)] [NUnit.Framework.TestCaseAttribute("le", "le", null)] [NUnit.Framework.TestCaseAttribute("random123", "random123", null)] - public virtual void AppointmentRetrieveInvalidDatePrefix(string startPrefix, string endPrefix, string[] exampleTags) + public void AppointmentRetrieveInvalidDatePrefix(string startPrefix, string endPrefix, string[] exampleTags) { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Appointment retrieve invalid date prefix", null, exampleTags); + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("StartPrefix", startPrefix); + argumentsOfScenario.Add("EndPrefix", endPrefix); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Appointment retrieve invalid date prefix", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 151 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 152 testRunner.Given("I get the Patient for Patient Value \"patient5\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 153 testRunner.And("I store the Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 154 testRunner.Given("I configure the default \"AppointmentSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 155 testRunner.And(string.Format("I add the start time period parameters for \"14\" days starting today using the pre" + - "fixes \"{0}\" and \"{1}\" and formats \"yyyy-MM-dd\" and \"yyyy-MM-dd\"", startPrefix, endPrefix), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "fixes \"{0}\" and \"{1}\" and formats \"yyyy-MM-dd\" and \"yyyy-MM-dd\"", startPrefix, endPrefix), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 156 testRunner.When("I make the \"AppointmentSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 157 testRunner.Then("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 158 testRunner.And("the response body should be FHIR JSON", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 159 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_PARAM" + - "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -429,30 +631,48 @@ public virtual void AppointmentRetrieveInvalidDatePrefix(string startPrefix, str [NUnit.Framework.DescriptionAttribute("Appointment retrieve with only one start parameter")] [NUnit.Framework.TestCaseAttribute("le2030-03-03", null)] [NUnit.Framework.TestCaseAttribute("ge2030-03-03", null)] - public virtual void AppointmentRetrieveWithOnlyOneStartParameter(string parameter, string[] exampleTags) + public void AppointmentRetrieveWithOnlyOneStartParameter(string parameter, string[] exampleTags) { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Appointment retrieve with only one start parameter", null, exampleTags); + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("Parameter", parameter); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Appointment retrieve with only one start parameter", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 172 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 173 testRunner.Given("I get the Patient for Patient Value \"patient5\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 174 testRunner.And("I store the Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 175 testRunner.Given("I configure the default \"AppointmentSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 176 testRunner.And(string.Format("I add the parameter \"start\" with the value \"{0}\"", parameter), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 177 testRunner.When("I make the \"AppointmentSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 178 testRunner.Then("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 179 testRunner.And("the response body should be FHIR JSON", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 180 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_PARAM" + - "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -460,88 +680,141 @@ public virtual void AppointmentRetrieveWithOnlyOneStartParameter(string paramete [NUnit.Framework.DescriptionAttribute("Appointment retreive with date parameters in the past")] [NUnit.Framework.TestCaseAttribute("2010-02-03", "2010-03-03", null)] [NUnit.Framework.TestCaseAttribute("2010-03-03", "2030-03-30", null)] - public virtual void AppointmentRetreiveWithDateParametersInThePast(string startDate, string endDate, string[] exampleTags) + public void AppointmentRetreiveWithDateParametersInThePast(string startDate, string endDate, string[] exampleTags) { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Appointment retreive with date parameters in the past", null, exampleTags); + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("StartDate", startDate); + argumentsOfScenario.Add("EndDate", endDate); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Appointment retreive with date parameters in the past", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 186 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 187 testRunner.Given("I get the Patient for Patient Value \"patient3\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 188 testRunner.And("I store the Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 189 testRunner.Given("I configure the default \"AppointmentSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 190 testRunner.And(string.Format("I add the parameter \"start\" with the value \"{0}\"", startDate), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 191 testRunner.And(string.Format("I add the parameter \"start\" with the value \"{0}\"", endDate), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 192 testRunner.When("I make the \"AppointmentSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 193 testRunner.Then("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 194 testRunner.And("the response body should be FHIR JSON", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 195 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_PARAM" + - "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Appointment retreive with end date before start date")] - public virtual void AppointmentRetreiveWithEndDateBeforeStartDate() + public void AppointmentRetreiveWithEndDateBeforeStartDate() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Appointment retreive with end date before start date", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Appointment retreive with end date before start date", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 201 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 202 testRunner.Given("I create an Appointment for an existing Patient and Organization Code \"ORG1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 203 testRunner.Given("I configure the default \"AppointmentSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 204 testRunner.And("I add the parameter \"start\" with the value \"ge2030-03-03\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 205 testRunner.And("I add the parameter \"start\" with the value \"le2030-01-01\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 206 testRunner.When("I make the \"AppointmentSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 207 testRunner.Then("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 208 testRunner.And("the response body should be FHIR JSON", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 209 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_PARAM" + - "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Appointment retrieve bundle valid resources returned in the response")] - public virtual void AppointmentRetrieveBundleValidResourcesReturnedInTheResponse() + public void AppointmentRetrieveBundleValidResourcesReturnedInTheResponse() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Appointment retrieve bundle valid resources returned in the response", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Appointment retrieve bundle valid resources returned in the response", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 211 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 212 testRunner.Given("I create an Appointment for an existing Patient and Organization Code \"ORG1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 213 testRunner.Given("I configure the default \"AppointmentSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 214 testRunner.And("I add start query parameters to the Request URL for Period starting today for \"14" + - "\" days", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "\" days", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 215 testRunner.When("I make the \"AppointmentSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 216 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 217 testRunner.And("the response body should be FHIR JSON", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 218 testRunner.And("the Appointment Participants should be valid and resolvable", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -549,254 +822,408 @@ public virtual void AppointmentRetrieveBundleValidResourcesReturnedInTheResponse [NUnit.Framework.DescriptionAttribute("Appointment retrieve JWT patient type request invalid")] [NUnit.Framework.TestCaseAttribute("organization/*.write", null)] [NUnit.Framework.TestCaseAttribute("patient/*.write", null)] - public virtual void AppointmentRetrieveJWTPatientTypeRequestInvalid(string jWTType, string[] exampleTags) + public void AppointmentRetrieveJWTPatientTypeRequestInvalid(string jWTType, string[] exampleTags) { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Appointment retrieve JWT patient type request invalid", null, exampleTags); + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("JWTType", jWTType); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Appointment retrieve JWT patient type request invalid", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 220 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 221 testRunner.Given("I create an Appointment for an existing Patient and Organization Code \"ORG1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 222 testRunner.Given("I configure the default \"AppointmentSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 223 testRunner.And("I add start query parameters to the Request URL for Period starting today for \"14" + - "\" days", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "\" days", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 224 testRunner.And(string.Format("I set the JWT requested scope to \"{0}\"", jWTType), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 225 testRunner.When("I make the \"AppointmentSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 226 testRunner.Then("the response status code should be \"400\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 227 testRunner.And("the response body should be FHIR JSON", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 228 testRunner.And("the response should be a OperationOutcome resource with error code \"BAD_REQUEST\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Appointment retrieve sending additional valid parameters in the request")] - public virtual void AppointmentRetrieveSendingAdditionalValidParametersInTheRequest() + public void AppointmentRetrieveSendingAdditionalValidParametersInTheRequest() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Appointment retrieve sending additional valid parameters in the request", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Appointment retrieve sending additional valid parameters in the request", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 234 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 235 testRunner.Given("I get the Patient for Patient Value \"patient5\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 236 testRunner.And("I store the Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 237 testRunner.Given("I configure the default \"AppointmentSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 238 testRunner.And("I add the parameter \"start\" with the value \"ge2030-03-03\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 239 testRunner.And("I add the parameter \"start\" with the value \"le2030-03-30\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 240 testRunner.And("I add the parameter \"_sort\" with the value \"date\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 241 testRunner.When("I make the \"AppointmentSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 242 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 243 testRunner.And("the response body should be FHIR JSON", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 244 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("CapabilityStatement profile supports the search appointment operation")] - public virtual void CapabilityStatementProfileSupportsTheSearchAppointmentOperation() + public void CapabilityStatementProfileSupportsTheSearchAppointmentOperation() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("CapabilityStatement profile supports the search appointment operation", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("CapabilityStatement profile supports the search appointment operation", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 246 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 247 testRunner.Given("I configure the default \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 248 testRunner.When("I make the \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 249 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 250 testRunner.And("the CapabilityStatement REST Resources should contain the \"Appointment\" Resource " + - "with the \"SearchType\" Interaction", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "with the \"SearchType\" Interaction", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Appointment retrieve valid response check caching headers exist")] - public virtual void AppointmentRetrieveValidResponseCheckCachingHeadersExist() + public void AppointmentRetrieveValidResponseCheckCachingHeadersExist() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Appointment retrieve valid response check caching headers exist", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Appointment retrieve valid response check caching headers exist", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 252 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 253 testRunner.Given("I get the Patient for Patient Value \"patient1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 254 testRunner.And("I store the Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 255 testRunner.Given("I configure the default \"AppointmentSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 256 testRunner.And("I add start query parameters to the Request URL for Period starting today for \"1\"" + - " days", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + " days", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 257 testRunner.When("I make the \"AppointmentSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 258 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 259 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 260 testRunner.And("the required cacheing headers should be present in the response", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Appointment retrieve invalid response check caching headers exist")] - public virtual void AppointmentRetrieveInvalidResponseCheckCachingHeadersExist() + public void AppointmentRetrieveInvalidResponseCheckCachingHeadersExist() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Appointment retrieve invalid response check caching headers exist", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Appointment retrieve invalid response check caching headers exist", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 262 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 263 testRunner.Given("I get the Patient for Patient Value \"patient4\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 264 testRunner.And("I store the Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 265 testRunner.Given("I configure the default \"AppointmentSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 266 testRunner.And("I add start query parameters to the Request URL for Period starting today for \"14" + - "\" days", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "\" days", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 267 testRunner.And("I set the Interaction Id header to \"urn:nhs:names:services:gpconnect:fhir:rest:se" + - "arch:organization-1 \"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "arch:organization-1 \"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 268 testRunner.When("I make the \"AppointmentSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 269 testRunner.Then("the response status code should be \"400\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 270 testRunner.And("the response body should be FHIR JSON", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 271 testRunner.And("the response should be a OperationOutcome resource with error code \"BAD_REQUEST\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 272 testRunner.And("the required cacheing headers should be present in the response", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Appointment retrieve and response should contain valid booking orgainzation")] - public virtual void AppointmentRetrieveAndResponseShouldContainValidBookingOrgainzation() + public void AppointmentRetrieveAndResponseShouldContainValidBookingOrgainzation() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Appointment retrieve and response should contain valid booking orgainzation", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Appointment retrieve and response should contain valid booking orgainzation", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 274 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 275 testRunner.Given("I create an Appointment for an existing Patient and Organization Code \"ORG1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 276 testRunner.Given("I configure the default \"AppointmentSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 277 testRunner.And("I add start query parameters to the Request URL for Period starting today for \"14" + - "\" days", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "\" days", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 278 testRunner.When("I make the \"AppointmentSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 279 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 280 testRunner.And("the response body should be FHIR JSON", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 281 testRunner.And("the Appointment booking organization extension and contained resource must be val" + - "id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Retrieve a patient’s appointments expecting servicecategory is populated")] [NUnit.Framework.TestCaseAttribute("patient1", "true", "true", "true", null)] - public virtual void RetrieveAPatientSAppointmentsExpectingServicecategoryIsPopulated(string patientName, string orgType, string deliveryChannel, string pracRole, string[] exampleTags) + public void RetrieveAPatientSAppointmentsExpectingServicecategoryIsPopulated(string patientName, string orgType, string deliveryChannel, string pracRole, string[] exampleTags) { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve a patient’s appointments expecting servicecategory is populated", null, exampleTags); + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("PatientName", patientName); + argumentsOfScenario.Add("OrgType", orgType); + argumentsOfScenario.Add("DeliveryChannel", deliveryChannel); + argumentsOfScenario.Add("PracRole", pracRole); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve a patient’s appointments expecting servicecategory is populated", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 284 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 285 testRunner.Given("I create an Appointment in \"2\" days time for Patient \"patient1\" and Organization " + - "Code \"ORG1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); + "Code \"ORG1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 286 testRunner.And("I store the Created Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 287 testRunner.Given("I configure the default \"AppointmentRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 288 testRunner.When("I make the \"AppointmentRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 289 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 290 testRunner.And("the Response Resource should be an Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 291 testRunner.And("the Appointments returned must be in the future", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 292 testRunner.And("the Appointment Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 293 testRunner.And("the Appointment Metadata should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 294 testRunner.And("the Appointment DeliveryChannel must be present", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 295 testRunner.And("the Appointment PractitionerRole must be present", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 296 testRunner.And("the Appointment Not In Use should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 297 testRunner.And("One Appointment contains serviceCategory element", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Retrieve a patient’s appointments expecting serviceType is populated")] [NUnit.Framework.TestCaseAttribute("patient1", "true", "true", "true", null)] - public virtual void RetrieveAPatientSAppointmentsExpectingServiceTypeIsPopulated(string patientName, string orgType, string deliveryChannel, string pracRole, string[] exampleTags) + public void RetrieveAPatientSAppointmentsExpectingServiceTypeIsPopulated(string patientName, string orgType, string deliveryChannel, string pracRole, string[] exampleTags) { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve a patient’s appointments expecting serviceType is populated", null, exampleTags); + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("PatientName", patientName); + argumentsOfScenario.Add("OrgType", orgType); + argumentsOfScenario.Add("DeliveryChannel", deliveryChannel); + argumentsOfScenario.Add("PracRole", pracRole); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve a patient’s appointments expecting serviceType is populated", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 303 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 304 testRunner.Given("I create an Appointment in \"2\" days time for Patient \"patient1\" and Organization " + - "Code \"ORG1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); + "Code \"ORG1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 305 testRunner.And("I store the Created Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 306 testRunner.Given("I configure the default \"AppointmentRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 307 testRunner.When("I make the \"AppointmentRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 308 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 309 testRunner.And("the Response Resource should be an Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 310 testRunner.And("the Appointments returned must be in the future", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 311 testRunner.And("the Appointment Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 312 testRunner.And("the Appointment Metadata should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 313 testRunner.And("the Appointment DeliveryChannel must be present", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 314 testRunner.And("the Appointment PractitionerRole must be present", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 315 testRunner.And("the Appointment Not In Use should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 316 testRunner.And("One Appointment contains serviceType element", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } } diff --git a/GPConnect.Provider.AcceptanceTests/Builders/Appointment/DefaultAppointmentBuilder.cs b/GPConnect.Provider.AcceptanceTests/Builders/Appointment/DefaultAppointmentBuilder.cs index ddbc2e21..dcf90068 100644 --- a/GPConnect.Provider.AcceptanceTests/Builders/Appointment/DefaultAppointmentBuilder.cs +++ b/GPConnect.Provider.AcceptanceTests/Builders/Appointment/DefaultAppointmentBuilder.cs @@ -25,13 +25,13 @@ public Appointment BuildAppointment(Boolean addOrgType, Boolean addDeliveryChann var storedBundle = _fhirResourceRepository.Bundle; var firstSlot = storedBundle.Entry - .Where(entry => entry.Resource.ResourceType.Equals(ResourceType.Slot)) + .Where(entry => entry.Resource.TypeName.Equals(ResourceType.Slot)) .Select(entry => (Slot)entry.Resource) .First(); var schedule = storedBundle.Entry .Where(entry => - entry.Resource.ResourceType.Equals(ResourceType.Schedule) && + entry.Resource.TypeName.Equals(ResourceType.Schedule) && ComposeReferenceFromEntry(entry) == firstSlot.Schedule.Reference) .Select(entry => (Schedule)entry.Resource) .First(); diff --git a/GPConnect.Provider.AcceptanceTests/Context/HttpContext.cs b/GPConnect.Provider.AcceptanceTests/Context/HttpContext.cs index 1c7132fe..44585239 100644 --- a/GPConnect.Provider.AcceptanceTests/Context/HttpContext.cs +++ b/GPConnect.Provider.AcceptanceTests/Context/HttpContext.cs @@ -78,20 +78,22 @@ public void SaveToDisk(string filename) doc.Save(filename); } - public void SaveToFhirContextToDisk(string filename) - { - var doc = new XDocument( - new XElement("fhirContext", - new XElement("request", - new XElement("fhirRequestParameters", FhirSerializer.SerializeResourceToJson(HttpRequestConfiguration.BodyParameters)) - ), - new XElement("response", - new XElement("fhirResponseResource", FhirSerializer.SerializeResourceToJson(FhirResponse.Resource)) - ) - ) - ); - doc.Save(filename); - } +public void SaveToFhirContextToDisk(string filename) +{ + var jsonSerializer = new FhirJsonSerializer(); + + var doc = new XDocument( + new XElement("fhirContext", + new XElement("request", + new XElement("fhirRequestParameters", jsonSerializer.SerializeToString(HttpRequestConfiguration.BodyParameters)) + ), + new XElement("response", + new XElement("fhirResponseResource", jsonSerializer.SerializeToString(FhirResponse.Resource)) + ) + ) + ); + doc.Save(filename); +} public void SaveJSONResponseToDisk(string filename) { diff --git a/GPConnect.Provider.AcceptanceTests/Extensions/BaseExtensions.cs b/GPConnect.Provider.AcceptanceTests/Extensions/BaseExtensions.cs index 0f6f0f71..9111bdc8 100644 --- a/GPConnect.Provider.AcceptanceTests/Extensions/BaseExtensions.cs +++ b/GPConnect.Provider.AcceptanceTests/Extensions/BaseExtensions.cs @@ -8,7 +8,7 @@ public static class BaseExtensions { public static string ToFhirJson(this Base resource) { - return FhirSerializer.SerializeToJson(resource); + return new FhirJsonSerializer().SerializeToString(resource); } public static string ToJson(this object obj) @@ -16,4 +16,4 @@ public static string ToJson(this object obj) return JsonConvert.SerializeObject(obj); } } -} +} \ No newline at end of file diff --git a/GPConnect.Provider.AcceptanceTests/FHIR.feature.cs b/GPConnect.Provider.AcceptanceTests/FHIR.feature.cs index 2faa015f..1a4ccba5 100644 --- a/GPConnect.Provider.AcceptanceTests/FHIR.feature.cs +++ b/GPConnect.Provider.AcceptanceTests/FHIR.feature.cs @@ -1,8 +1,8 @@ -// ------------------------------------------------------------------------------ +// ------------------------------------------------------------------------------ // -// This code was generated by SpecFlow (http://www.specflow.org/). -// SpecFlow Version:3.0.0.0 -// SpecFlow Generator Version:3.0.0.0 +// This code was generated by SpecFlow (https://www.specflow.org/). +// SpecFlow Version:3.9.0.0 +// SpecFlow Generator Version:3.9.0.0 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. @@ -13,9 +13,11 @@ namespace GPConnect.Provider.AcceptanceTests { using TechTalk.SpecFlow; + using System; + using System.Linq; - [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "3.0.0.0")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "3.9.0.0")] [System.Runtime.CompilerServices.CompilerGeneratedAttribute()] [NUnit.Framework.TestFixtureAttribute()] [NUnit.Framework.DescriptionAttribute("FHIR")] @@ -26,6 +28,10 @@ public partial class FHIRFeature private TechTalk.SpecFlow.ITestRunner testRunner; + private static string[] featureTags = new string[] { + "fhir", + "1.5.0-Full-Pack"}; + #line 1 "FHIR.feature" #line hidden @@ -33,9 +39,7 @@ public partial class FHIRFeature public virtual void FeatureSetup() { testRunner = TechTalk.SpecFlow.TestRunnerManager.GetTestRunner(); - TechTalk.SpecFlow.FeatureInfo featureInfo = new TechTalk.SpecFlow.FeatureInfo(new System.Globalization.CultureInfo("en-US"), "FHIR", null, ProgrammingLanguage.CSharp, new string[] { - "fhir", - "1.5.0-Full-Pack"}); + TechTalk.SpecFlow.FeatureInfo featureInfo = new TechTalk.SpecFlow.FeatureInfo(new System.Globalization.CultureInfo("en-US"), "", "FHIR", null, ProgrammingLanguage.CSharp, featureTags); testRunner.OnFeatureStart(featureInfo); } @@ -47,28 +51,28 @@ public virtual void FeatureTearDown() } [NUnit.Framework.SetUpAttribute()] - public virtual void TestInitialize() + public void TestInitialize() { } [NUnit.Framework.TearDownAttribute()] - public virtual void ScenarioTearDown() + public void TestTearDown() { testRunner.OnScenarioEnd(); } - public virtual void ScenarioInitialize(TechTalk.SpecFlow.ScenarioInfo scenarioInfo) + public void ScenarioInitialize(TechTalk.SpecFlow.ScenarioInfo scenarioInfo) { testRunner.OnScenarioInitialize(scenarioInfo); testRunner.ScenarioContext.ScenarioContainer.RegisterInstanceAs(NUnit.Framework.TestContext.CurrentContext); } - public virtual void ScenarioStart() + public void ScenarioStart() { testRunner.OnScenarioStart(); } - public virtual void ScenarioCleanup() + public void ScenarioCleanup() { testRunner.CollectScenarioErrors(); } @@ -76,437 +80,691 @@ public virtual void ScenarioCleanup() [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Fhir Get Metadata and Check Version of Foundations And Appointments CapabilitySta" + "tement")] - public virtual void FhirGetMetadataAndCheckVersionOfFoundationsAndAppointmentsCapabilityStatement() + public void FhirGetMetadataAndCheckVersionOfFoundationsAndAppointmentsCapabilityStatement() { + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Fhir Get Metadata and Check Version of Foundations And Appointments CapabilitySta" + - "tement", null, ((string[])(null))); + "tement", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 9 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 10 testRunner.Given("I configure the default \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 11 testRunner.When("I make the \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 12 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 13 testRunner.And("the Response Resource should be a CapabilityStatement", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 14 testRunner.And("the FoundationsAndAppmts CapabilityStatement version should match the GP Connect " + - "specification release", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "specification release", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Foundations CapabilityStatement profile indicates acceptance of xml and json form" + "at")] - public virtual void FoundationsCapabilityStatementProfileIndicatesAcceptanceOfXmlAndJsonFormat() + public void FoundationsCapabilityStatementProfileIndicatesAcceptanceOfXmlAndJsonFormat() { + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Foundations CapabilityStatement profile indicates acceptance of xml and json form" + - "at", null, ((string[])(null))); + "at", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 16 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 17 testRunner.Given("I configure the default \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 18 testRunner.When("I make the \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 19 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 20 testRunner.And("the CapabilityStatement Format should contain XML and JSON", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Foundations CapabilityStatement profile suppliers software versions present")] - public virtual void FoundationsCapabilityStatementProfileSuppliersSoftwareVersionsPresent() + public void FoundationsCapabilityStatementProfileSuppliersSoftwareVersionsPresent() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Foundations CapabilityStatement profile suppliers software versions present", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Foundations CapabilityStatement profile suppliers software versions present", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 22 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 23 testRunner.Given("I configure the default \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 24 testRunner.When("I make the \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 25 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 26 testRunner.And("the CapabilityStatement Software should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Foundations CapabilityStatement profile supported fhir version")] - public virtual void FoundationsCapabilityStatementProfileSupportedFhirVersion() + public void FoundationsCapabilityStatementProfileSupportedFhirVersion() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Foundations CapabilityStatement profile supported fhir version", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Foundations CapabilityStatement profile supported fhir version", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 28 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 29 testRunner.Given("I configure the default \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 30 testRunner.When("I make the \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 31 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 32 testRunner.And("the CapabilityStatement FHIR Version should be \"3.0.1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Foundations CapabilityStatement profile supports the RegisterPatient operation")] - public virtual void FoundationsCapabilityStatementProfileSupportsTheRegisterPatientOperation() + public void FoundationsCapabilityStatementProfileSupportsTheRegisterPatientOperation() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Foundations CapabilityStatement profile supports the RegisterPatient operation", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Foundations CapabilityStatement profile supports the RegisterPatient operation", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 34 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 35 testRunner.Given("I configure the default \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 36 testRunner.When("I make the \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 37 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 38 testRunner.And("the CapabilityStatement REST Operations should contain \"gpc.registerpatient\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Foundations CapabilityStatement profile supports the GetStructuredRecord operatio" + "n")] - public virtual void FoundationsCapabilityStatementProfileSupportsTheGetStructuredRecordOperation() + public void FoundationsCapabilityStatementProfileSupportsTheGetStructuredRecordOperation() { + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Foundations CapabilityStatement profile supports the GetStructuredRecord operatio" + - "n", null, ((string[])(null))); + "n", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 40 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 41 testRunner.Given("I configure the default \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 42 testRunner.When("I make the \"MetaDataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 43 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 44 testRunner.And("the CapabilityStatement REST Operations should contain \"gpc.getstructuredrecord\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 45 testRunner.And("the CapabilityStatement Operation \"gpc.getstructuredrecord\" has url \"https://fhir" + - ".nhs.uk/STU3/OperationDefinition/GPConnect-GetStructuredRecord-Operation-1/_hist" + - "ory/1.15\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + ".nhs.uk/STU3/OperationDefinition/GPConnect-GetStructuredRecord-Operation-1/_hist" + + "ory/1.15\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Foundations Fhir content type test where Accept header is JSON and request payloa" + "d is XML")] - public virtual void FoundationsFhirContentTypeTestWhereAcceptHeaderIsJSONAndRequestPayloadIsXML() + public void FoundationsFhirContentTypeTestWhereAcceptHeaderIsJSONAndRequestPayloadIsXML() { + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Foundations Fhir content type test where Accept header is JSON and request payloa" + - "d is XML", null, ((string[])(null))); + "d is XML", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 47 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 48 testRunner.Given("I configure the default \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 49 testRunner.And("I set the request content type to \"application/fhir+xml\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 50 testRunner.And("I set the Accept header to \"application/fhir+json\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 51 testRunner.When("I make the \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 52 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 53 testRunner.And("the response body should be FHIR JSON", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Foundations Fhir content type test where Accept header is XML and request payload" + " is JSON")] - public virtual void FoundationsFhirContentTypeTestWhereAcceptHeaderIsXMLAndRequestPayloadIsJSON() + public void FoundationsFhirContentTypeTestWhereAcceptHeaderIsXMLAndRequestPayloadIsJSON() { + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Foundations Fhir content type test where Accept header is XML and request payload" + - " is JSON", null, ((string[])(null))); + " is JSON", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 55 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 56 testRunner.Given("I configure the default \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 57 testRunner.And("I set the request content type to \"application/fhir+json\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 58 testRunner.And("I set the Accept header to \"application/fhir+xml\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 59 testRunner.When("I make the \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 60 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 61 testRunner.And("the response body should be FHIR XML", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Foundations Fhir content type test where _format parameter is JSON and request pa" + "yload is JSON")] - public virtual void FoundationsFhirContentTypeTestWhere_FormatParameterIsJSONAndRequestPayloadIsJSON() + public void FoundationsFhirContentTypeTestWhere_FormatParameterIsJSONAndRequestPayloadIsJSON() { + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Foundations Fhir content type test where _format parameter is JSON and request pa" + - "yload is JSON", null, ((string[])(null))); + "yload is JSON", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 63 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 64 testRunner.Given("I configure the default \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 65 testRunner.And("I set the request content type to \"application/fhir+json\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 66 testRunner.And("I do not send header \"Accept\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 67 testRunner.And("I add a Format parameter with the Value \"application/fhir+json\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 68 testRunner.When("I make the \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 69 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 70 testRunner.And("the response body should be FHIR JSON", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Foundations Fhir content type test where _format parameter is JSON and request pa" + "yload is XML")] - public virtual void FoundationsFhirContentTypeTestWhere_FormatParameterIsJSONAndRequestPayloadIsXML() + public void FoundationsFhirContentTypeTestWhere_FormatParameterIsJSONAndRequestPayloadIsXML() { + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Foundations Fhir content type test where _format parameter is JSON and request pa" + - "yload is XML", null, ((string[])(null))); + "yload is XML", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 72 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 73 testRunner.Given("I configure the default \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 74 testRunner.And("I set the request content type to \"application/fhir+xml\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 75 testRunner.And("I do not send header \"Accept\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 76 testRunner.And("I add a Format parameter with the Value \"application/fhir+json\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 77 testRunner.When("I make the \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 78 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 79 testRunner.And("the response body should be FHIR JSON", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Foundations Fhir content type test where _format parameter is XML and request pay" + "load is XML")] - public virtual void FoundationsFhirContentTypeTestWhere_FormatParameterIsXMLAndRequestPayloadIsXML() + public void FoundationsFhirContentTypeTestWhere_FormatParameterIsXMLAndRequestPayloadIsXML() { + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Foundations Fhir content type test where _format parameter is XML and request pay" + - "load is XML", null, ((string[])(null))); + "load is XML", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 81 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 82 testRunner.Given("I configure the default \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 83 testRunner.And("I set the request content type to \"application/fhir+xml\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 84 testRunner.And("I do not send header \"Accept\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 85 testRunner.And("I add a Format parameter with the Value \"application/fhir+xml\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 86 testRunner.When("I make the \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 87 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 88 testRunner.And("the response body should be FHIR XML", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Foundations Fhir content type test where _format parameter is XML and request pay" + "load is JSON")] - public virtual void FoundationsFhirContentTypeTestWhere_FormatParameterIsXMLAndRequestPayloadIsJSON() + public void FoundationsFhirContentTypeTestWhere_FormatParameterIsXMLAndRequestPayloadIsJSON() { + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Foundations Fhir content type test where _format parameter is XML and request pay" + - "load is JSON", null, ((string[])(null))); + "load is JSON", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 90 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 91 testRunner.Given("I configure the default \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 92 testRunner.And("I set the request content type to \"application/fhir+json\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 93 testRunner.And("I do not send header \"Accept\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 94 testRunner.And("I add a Format parameter with the Value \"application/fhir+xml\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 95 testRunner.When("I make the \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 96 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 97 testRunner.And("the response body should be FHIR XML", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Foundations Fhir content type test where Accept header is XML and _format paramet" + "er is XML")] - public virtual void FoundationsFhirContentTypeTestWhereAcceptHeaderIsXMLAnd_FormatParameterIsXML() + public void FoundationsFhirContentTypeTestWhereAcceptHeaderIsXMLAnd_FormatParameterIsXML() { + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Foundations Fhir content type test where Accept header is XML and _format paramet" + - "er is XML", null, ((string[])(null))); + "er is XML", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 99 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 100 testRunner.Given("I configure the default \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 101 testRunner.And("I set the request content type to \"application/fhir+xml\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 102 testRunner.And("I set the Accept header to \"application/fhir+xml\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 103 testRunner.And("I add a Format parameter with the Value \"application/fhir+xml\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 104 testRunner.When("I make the \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 105 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 106 testRunner.And("the response body should be FHIR XML", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Foundations Fhir content type test where Accept header is XML and _format paramet" + "er is JSON")] - public virtual void FoundationsFhirContentTypeTestWhereAcceptHeaderIsXMLAnd_FormatParameterIsJSON() + public void FoundationsFhirContentTypeTestWhereAcceptHeaderIsXMLAnd_FormatParameterIsJSON() { + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Foundations Fhir content type test where Accept header is XML and _format paramet" + - "er is JSON", null, ((string[])(null))); + "er is JSON", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 108 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 109 testRunner.Given("I configure the default \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 110 testRunner.And("I set the request content type to \"application/fhir+xml\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 111 testRunner.And("I set the Accept header to \"application/fhir+xml\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 112 testRunner.And("I add a Format parameter with the Value \"application/fhir+json\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 113 testRunner.When("I make the \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 114 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 115 testRunner.And("the response body should be FHIR JSON", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Foundations Fhir content type test where Accept header is JSON and _format parame" + "ter is JSON")] - public virtual void FoundationsFhirContentTypeTestWhereAcceptHeaderIsJSONAnd_FormatParameterIsJSON() + public void FoundationsFhirContentTypeTestWhereAcceptHeaderIsJSONAnd_FormatParameterIsJSON() { + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Foundations Fhir content type test where Accept header is JSON and _format parame" + - "ter is JSON", null, ((string[])(null))); + "ter is JSON", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 117 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 118 testRunner.Given("I configure the default \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 119 testRunner.And("I set the request content type to \"application/fhir+json\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 120 testRunner.And("I set the Accept header to \"application/fhir+json\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 121 testRunner.And("I add a Format parameter with the Value \"application/fhir+json\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 122 testRunner.When("I make the \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 123 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 124 testRunner.And("the response body should be FHIR JSON", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Foundations Fhir content type test where Accept header is JSON and _format parame" + "ter is XML")] - public virtual void FoundationsFhirContentTypeTestWhereAcceptHeaderIsJSONAnd_FormatParameterIsXML() + public void FoundationsFhirContentTypeTestWhereAcceptHeaderIsJSONAnd_FormatParameterIsXML() { + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Foundations Fhir content type test where Accept header is JSON and _format parame" + - "ter is XML", null, ((string[])(null))); + "ter is XML", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 126 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 127 testRunner.Given("I configure the default \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 128 testRunner.And("I set the request content type to \"application/fhir+json\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 129 testRunner.And("I set the Accept header to \"application/fhir+json\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 130 testRunner.And("I add a Format parameter with the Value \"application/fhir+xml\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 131 testRunner.When("I make the \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 132 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 133 testRunner.And("the response body should be FHIR XML", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Foundations endpoint should support gzip compression for metadata endpoint and co" + "ntain the correct payload")] - public virtual void FoundationsEndpointShouldSupportGzipCompressionForMetadataEndpointAndContainTheCorrectPayload() + public void FoundationsEndpointShouldSupportGzipCompressionForMetadataEndpointAndContainTheCorrectPayload() { + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Foundations endpoint should support gzip compression for metadata endpoint and co" + - "ntain the correct payload", null, ((string[])(null))); + "ntain the correct payload", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 135 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 136 testRunner.Given("I configure the default \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 137 testRunner.And("I set the Accept-Encoding header to gzip", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 138 testRunner.When("I make the \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 139 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 140 testRunner.And("the response should be gzip encoded", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 141 testRunner.And("the response body should be FHIR JSON", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 142 testRunner.And("the Response Resource should be a CapabilityStatement", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -538,49 +796,78 @@ public virtual void FoundationsEndpointShouldSupportGzipCompressionForMetadataEn [NUnit.Framework.TestCaseAttribute("https://fhir.nhs.uk/STU3/StructureDefinition/CareConnect-GPC-Specimen-1", null)] [NUnit.Framework.TestCaseAttribute("https://fhir.nhs.uk/STU3/StructureDefinition/CareConnect-GPC-ProcedureRequest-1", null)] [NUnit.Framework.TestCaseAttribute("https://fhir.nhs.uk/STU3/StructureDefinition/CareConnect-GPC-ReferralRequest-1", null)] - public virtual void FoundationsCapabilityStatementReturnsCorrectProfileVersions(string urlToCheck, string[] exampleTags) + public void FoundationsCapabilityStatementReturnsCorrectProfileVersions(string urlToCheck, string[] exampleTags) { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Foundations CapabilityStatement returns correct profile versions", null, exampleTags); + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("urlToCheck", urlToCheck); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Foundations CapabilityStatement returns correct profile versions", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 144 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 145 testRunner.Given("I configure the default \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 146 testRunner.When("I make the \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 147 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 148 testRunner.And("the CapabilityStatement REST Operations should contain \"gpc.getstructuredrecord\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 149 testRunner.And(string.Format("the CapabilityStatement Profile should contain the correct reference and version " + - "history \"{0}\"", urlToCheck), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "history \"{0}\"", urlToCheck), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Fhir Get Metadata and Check Version of Structured CapabilityStatement")] [NUnit.Framework.CategoryAttribute("Structured")] - public virtual void FhirGetMetadataAndCheckVersionOfStructuredCapabilityStatement() + public void FhirGetMetadataAndCheckVersionOfStructuredCapabilityStatement() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Fhir Get Metadata and Check Version of Structured CapabilityStatement", null, new string[] { - "Structured"}); + string[] tagsOfScenario = new string[] { + "Structured"}; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Fhir Get Metadata and Check Version of Structured CapabilityStatement", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 181 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 182 testRunner.Given("I configure the default \"StructuredMetaDataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 183 testRunner.When("I make the \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 184 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 185 testRunner.And("the Response Resource should be a CapabilityStatement", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 186 testRunner.And("the Structured CapabilityStatement version should match the GP Connect specificat" + - "ion release", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ion release", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -588,67 +875,106 @@ public virtual void FhirGetMetadataAndCheckVersionOfStructuredCapabilityStatemen [NUnit.Framework.DescriptionAttribute("Structured CapabilityStatement profile indicates acceptance of xml and json forma" + "t")] [NUnit.Framework.CategoryAttribute("Structured")] - public virtual void StructuredCapabilityStatementProfileIndicatesAcceptanceOfXmlAndJsonFormat() + public void StructuredCapabilityStatementProfileIndicatesAcceptanceOfXmlAndJsonFormat() { + string[] tagsOfScenario = new string[] { + "Structured"}; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Structured CapabilityStatement profile indicates acceptance of xml and json forma" + - "t", null, new string[] { - "Structured"}); + "t", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 189 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 190 testRunner.Given("I configure the default \"StructuredMetaDataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 191 testRunner.When("I make the \"StructuredMetaDataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 192 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 193 testRunner.And("the CapabilityStatement Format should contain XML and JSON", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Structured CapabilityStatement profile suppliers software versions present")] [NUnit.Framework.CategoryAttribute("Structured")] - public virtual void StructuredCapabilityStatementProfileSuppliersSoftwareVersionsPresent() + public void StructuredCapabilityStatementProfileSuppliersSoftwareVersionsPresent() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Structured CapabilityStatement profile suppliers software versions present", null, new string[] { - "Structured"}); + string[] tagsOfScenario = new string[] { + "Structured"}; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Structured CapabilityStatement profile suppliers software versions present", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 196 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 197 testRunner.Given("I configure the default \"StructuredMetaDataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 198 testRunner.When("I make the \"StructuredMetaDataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 199 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 200 testRunner.And("the CapabilityStatement Software should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Structured CapabilityStatement profile supported fhir version")] [NUnit.Framework.CategoryAttribute("Structured")] - public virtual void StructuredCapabilityStatementProfileSupportedFhirVersion() + public void StructuredCapabilityStatementProfileSupportedFhirVersion() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Structured CapabilityStatement profile supported fhir version", null, new string[] { - "Structured"}); + string[] tagsOfScenario = new string[] { + "Structured"}; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Structured CapabilityStatement profile supported fhir version", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 203 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 204 testRunner.Given("I configure the default \"StructuredMetaDataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 205 testRunner.When("I make the \"StructuredMetaDataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 206 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 207 testRunner.And("the CapabilityStatement FHIR Version should be \"3.0.1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -656,27 +982,41 @@ public virtual void StructuredCapabilityStatementProfileSupportedFhirVersion() [NUnit.Framework.DescriptionAttribute("Structured CapabilityStatement profile supports the GetStructuredRecord operation" + "")] [NUnit.Framework.CategoryAttribute("Structured")] - public virtual void StructuredCapabilityStatementProfileSupportsTheGetStructuredRecordOperation() + public void StructuredCapabilityStatementProfileSupportsTheGetStructuredRecordOperation() { + string[] tagsOfScenario = new string[] { + "Structured"}; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Structured CapabilityStatement profile supports the GetStructuredRecord operation" + - "", null, new string[] { - "Structured"}); + "", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 210 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 211 testRunner.Given("I configure the default \"StructuredMetaDataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 212 testRunner.When("I make the \"StructuredMetaDataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 213 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 214 testRunner.And("the CapabilityStatement REST Operations should contain \"gpc.getstructuredrecord\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 215 testRunner.And("the CapabilityStatement Operation \"gpc.getstructuredrecord\" has url \"https://fhir" + - ".nhs.uk/STU3/OperationDefinition/GPConnect-GetStructuredRecord-Operation-1/_hist" + - "ory/1.16\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + ".nhs.uk/STU3/OperationDefinition/GPConnect-GetStructuredRecord-Operation-1/_hist" + + "ory/1.16\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -684,27 +1024,42 @@ public virtual void StructuredCapabilityStatementProfileSupportsTheGetStructured [NUnit.Framework.DescriptionAttribute("Structured Fhir content type test where Accept header is JSON and request payload" + " is XML")] [NUnit.Framework.CategoryAttribute("Structured")] - public virtual void StructuredFhirContentTypeTestWhereAcceptHeaderIsJSONAndRequestPayloadIsXML() + public void StructuredFhirContentTypeTestWhereAcceptHeaderIsJSONAndRequestPayloadIsXML() { + string[] tagsOfScenario = new string[] { + "Structured"}; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Structured Fhir content type test where Accept header is JSON and request payload" + - " is XML", null, new string[] { - "Structured"}); + " is XML", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 218 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 219 testRunner.Given("I configure the default \"StructuredMetaDataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 220 testRunner.And("I set the request content type to \"application/fhir+xml\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 221 testRunner.And("I set the Accept header to \"application/fhir+json\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 222 testRunner.When("I make the \"StructuredMetaDataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 223 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 224 testRunner.And("the response body should be FHIR JSON", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -712,27 +1067,42 @@ public virtual void StructuredFhirContentTypeTestWhereAcceptHeaderIsJSONAndReque [NUnit.Framework.DescriptionAttribute("Structured Fhir content type test where Accept header is XML and request payload " + "is JSON")] [NUnit.Framework.CategoryAttribute("Structured")] - public virtual void StructuredFhirContentTypeTestWhereAcceptHeaderIsXMLAndRequestPayloadIsJSON() + public void StructuredFhirContentTypeTestWhereAcceptHeaderIsXMLAndRequestPayloadIsJSON() { + string[] tagsOfScenario = new string[] { + "Structured"}; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Structured Fhir content type test where Accept header is XML and request payload " + - "is JSON", null, new string[] { - "Structured"}); + "is JSON", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 227 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 228 testRunner.Given("I configure the default \"StructuredMetaDataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 229 testRunner.And("I set the request content type to \"application/fhir+json\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 230 testRunner.And("I set the Accept header to \"application/fhir+xml\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 231 testRunner.When("I make the \"StructuredMetaDataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 232 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 233 testRunner.And("the response body should be FHIR XML", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -740,29 +1110,45 @@ public virtual void StructuredFhirContentTypeTestWhereAcceptHeaderIsXMLAndReques [NUnit.Framework.DescriptionAttribute("Structured Fhir content type test where _format parameter is JSON and request pay" + "load is JSON")] [NUnit.Framework.CategoryAttribute("Structured")] - public virtual void StructuredFhirContentTypeTestWhere_FormatParameterIsJSONAndRequestPayloadIsJSON() + public void StructuredFhirContentTypeTestWhere_FormatParameterIsJSONAndRequestPayloadIsJSON() { + string[] tagsOfScenario = new string[] { + "Structured"}; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Structured Fhir content type test where _format parameter is JSON and request pay" + - "load is JSON", null, new string[] { - "Structured"}); + "load is JSON", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 236 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 237 testRunner.Given("I configure the default \"StructuredMetaDataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 238 testRunner.And("I set the request content type to \"application/fhir+json\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 239 testRunner.And("I do not send header \"Accept\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 240 testRunner.And("I add a Format parameter with the Value \"application/fhir+json\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 241 testRunner.When("I make the \"StructuredMetaDataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 242 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 243 testRunner.And("the response body should be FHIR JSON", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -770,29 +1156,45 @@ public virtual void StructuredFhirContentTypeTestWhere_FormatParameterIsJSONAndR [NUnit.Framework.DescriptionAttribute("Structured Fhir content type test where _format parameter is JSON and request pay" + "load is XML")] [NUnit.Framework.CategoryAttribute("Structured")] - public virtual void StructuredFhirContentTypeTestWhere_FormatParameterIsJSONAndRequestPayloadIsXML() + public void StructuredFhirContentTypeTestWhere_FormatParameterIsJSONAndRequestPayloadIsXML() { + string[] tagsOfScenario = new string[] { + "Structured"}; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Structured Fhir content type test where _format parameter is JSON and request pay" + - "load is XML", null, new string[] { - "Structured"}); + "load is XML", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 246 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 247 testRunner.Given("I configure the default \"StructuredMetaDataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 248 testRunner.And("I set the request content type to \"application/fhir+xml\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 249 testRunner.And("I do not send header \"Accept\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 250 testRunner.And("I add a Format parameter with the Value \"application/fhir+json\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 251 testRunner.When("I make the \"StructuredMetaDataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 252 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 253 testRunner.And("the response body should be FHIR JSON", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -800,29 +1202,45 @@ public virtual void StructuredFhirContentTypeTestWhere_FormatParameterIsJSONAndR [NUnit.Framework.DescriptionAttribute("Structured Fhir content type test where _format parameter is XML and request payl" + "oad is XML")] [NUnit.Framework.CategoryAttribute("Structured")] - public virtual void StructuredFhirContentTypeTestWhere_FormatParameterIsXMLAndRequestPayloadIsXML() + public void StructuredFhirContentTypeTestWhere_FormatParameterIsXMLAndRequestPayloadIsXML() { + string[] tagsOfScenario = new string[] { + "Structured"}; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Structured Fhir content type test where _format parameter is XML and request payl" + - "oad is XML", null, new string[] { - "Structured"}); + "oad is XML", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 256 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 257 testRunner.Given("I configure the default \"StructuredMetaDataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 258 testRunner.And("I set the request content type to \"application/fhir+xml\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 259 testRunner.And("I do not send header \"Accept\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 260 testRunner.And("I add a Format parameter with the Value \"application/fhir+xml\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 261 testRunner.When("I make the \"StructuredMetaDataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 262 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 263 testRunner.And("the response body should be FHIR XML", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -830,29 +1248,45 @@ public virtual void StructuredFhirContentTypeTestWhere_FormatParameterIsXMLAndRe [NUnit.Framework.DescriptionAttribute("Structured Fhir content type test where _format parameter is XML and request payl" + "oad is JSON")] [NUnit.Framework.CategoryAttribute("Structured")] - public virtual void StructuredFhirContentTypeTestWhere_FormatParameterIsXMLAndRequestPayloadIsJSON() + public void StructuredFhirContentTypeTestWhere_FormatParameterIsXMLAndRequestPayloadIsJSON() { + string[] tagsOfScenario = new string[] { + "Structured"}; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Structured Fhir content type test where _format parameter is XML and request payl" + - "oad is JSON", null, new string[] { - "Structured"}); + "oad is JSON", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 266 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 267 testRunner.Given("I configure the default \"StructuredMetaDataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 268 testRunner.And("I set the request content type to \"application/fhir+json\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 269 testRunner.And("I do not send header \"Accept\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 270 testRunner.And("I add a Format parameter with the Value \"application/fhir+xml\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 271 testRunner.When("I make the \"StructuredMetaDataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 272 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 273 testRunner.And("the response body should be FHIR XML", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -860,29 +1294,45 @@ public virtual void StructuredFhirContentTypeTestWhere_FormatParameterIsXMLAndRe [NUnit.Framework.DescriptionAttribute("Structured Fhir content type test where Accept header is XML and _format paramete" + "r is XML")] [NUnit.Framework.CategoryAttribute("Structured")] - public virtual void StructuredFhirContentTypeTestWhereAcceptHeaderIsXMLAnd_FormatParameterIsXML() + public void StructuredFhirContentTypeTestWhereAcceptHeaderIsXMLAnd_FormatParameterIsXML() { + string[] tagsOfScenario = new string[] { + "Structured"}; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Structured Fhir content type test where Accept header is XML and _format paramete" + - "r is XML", null, new string[] { - "Structured"}); + "r is XML", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 276 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 277 testRunner.Given("I configure the default \"StructuredMetaDataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 278 testRunner.And("I set the request content type to \"application/fhir+xml\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 279 testRunner.And("I set the Accept header to \"application/fhir+xml\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 280 testRunner.And("I add a Format parameter with the Value \"application/fhir+xml\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 281 testRunner.When("I make the \"StructuredMetaDataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 282 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 283 testRunner.And("the response body should be FHIR XML", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -890,29 +1340,45 @@ public virtual void StructuredFhirContentTypeTestWhereAcceptHeaderIsXMLAnd_Forma [NUnit.Framework.DescriptionAttribute("Structured Fhir content type test where Accept header is XML and _format paramete" + "r is JSON")] [NUnit.Framework.CategoryAttribute("Structured")] - public virtual void StructuredFhirContentTypeTestWhereAcceptHeaderIsXMLAnd_FormatParameterIsJSON() + public void StructuredFhirContentTypeTestWhereAcceptHeaderIsXMLAnd_FormatParameterIsJSON() { + string[] tagsOfScenario = new string[] { + "Structured"}; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Structured Fhir content type test where Accept header is XML and _format paramete" + - "r is JSON", null, new string[] { - "Structured"}); + "r is JSON", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 286 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 287 testRunner.Given("I configure the default \"StructuredMetaDataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 288 testRunner.And("I set the request content type to \"application/fhir+xml\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 289 testRunner.And("I set the Accept header to \"application/fhir+xml\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 290 testRunner.And("I add a Format parameter with the Value \"application/fhir+json\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 291 testRunner.When("I make the \"StructuredMetaDataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 292 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 293 testRunner.And("the response body should be FHIR JSON", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -920,29 +1386,45 @@ public virtual void StructuredFhirContentTypeTestWhereAcceptHeaderIsXMLAnd_Forma [NUnit.Framework.DescriptionAttribute("Structured Fhir content type test where Accept header is JSON and _format paramet" + "er is JSON")] [NUnit.Framework.CategoryAttribute("Structured")] - public virtual void StructuredFhirContentTypeTestWhereAcceptHeaderIsJSONAnd_FormatParameterIsJSON() + public void StructuredFhirContentTypeTestWhereAcceptHeaderIsJSONAnd_FormatParameterIsJSON() { + string[] tagsOfScenario = new string[] { + "Structured"}; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Structured Fhir content type test where Accept header is JSON and _format paramet" + - "er is JSON", null, new string[] { - "Structured"}); + "er is JSON", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 296 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 297 testRunner.Given("I configure the default \"StructuredMetaDataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 298 testRunner.And("I set the request content type to \"application/fhir+json\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 299 testRunner.And("I set the Accept header to \"application/fhir+json\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 300 testRunner.And("I add a Format parameter with the Value \"application/fhir+json\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 301 testRunner.When("I make the \"StructuredMetaDataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 302 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 303 testRunner.And("the response body should be FHIR JSON", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -950,29 +1432,45 @@ public virtual void StructuredFhirContentTypeTestWhereAcceptHeaderIsJSONAnd_Form [NUnit.Framework.DescriptionAttribute("Structured Fhir content type test where Accept header is JSON and _format paramet" + "er is XML")] [NUnit.Framework.CategoryAttribute("Structured")] - public virtual void StructuredFhirContentTypeTestWhereAcceptHeaderIsJSONAnd_FormatParameterIsXML() + public void StructuredFhirContentTypeTestWhereAcceptHeaderIsJSONAnd_FormatParameterIsXML() { + string[] tagsOfScenario = new string[] { + "Structured"}; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Structured Fhir content type test where Accept header is JSON and _format paramet" + - "er is XML", null, new string[] { - "Structured"}); + "er is XML", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 306 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 307 testRunner.Given("I configure the default \"StructuredMetaDataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 308 testRunner.And("I set the request content type to \"application/fhir+json\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 309 testRunner.And("I set the Accept header to \"application/fhir+json\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 310 testRunner.And("I add a Format parameter with the Value \"application/fhir+xml\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 311 testRunner.When("I make the \"StructuredMetaDataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 312 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 313 testRunner.And("the response body should be FHIR XML", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -1021,7 +1519,7 @@ public virtual void StructuredFhirContentTypeTestWhereAcceptHeaderIsJSONAnd_Form "_history/1.3", null)] [NUnit.Framework.TestCaseAttribute("https://fhir.hl7.org.uk/STU3/StructureDefinition/CareConnect-HealthcareService-1/" + "_history/1.0", null)] - public virtual void StructuredCapabilityStatementReturnsCorrectProfileVersions(string urlToCheck, string[] exampleTags) + public void StructuredCapabilityStatementReturnsCorrectProfileVersions(string urlToCheck, string[] exampleTags) { string[] @__tags = new string[] { "Structured", @@ -1030,22 +1528,37 @@ public virtual void StructuredCapabilityStatementReturnsCorrectProfileVersions(s { @__tags = System.Linq.Enumerable.ToArray(System.Linq.Enumerable.Concat(@__tags, exampleTags)); } - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Structured CapabilityStatement returns correct profile versions", null, @__tags); + string[] tagsOfScenario = @__tags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("urlToCheck", urlToCheck); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Structured CapabilityStatement returns correct profile versions", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 316 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 317 testRunner.Given("I configure the default \"StructuredMetaDataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 318 testRunner.When("I make the \"StructuredMetaDataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 319 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 320 testRunner.And("the CapabilityStatement REST Operations should contain \"gpc.getstructuredrecord\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 321 testRunner.And(string.Format("the CapabilityStatement Profile should contain the correct reference and version " + - "history \"{0}\"", urlToCheck), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "history \"{0}\"", urlToCheck), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -1054,27 +1567,41 @@ public virtual void StructuredCapabilityStatementReturnsCorrectProfileVersions(s [NUnit.Framework.CategoryAttribute("1.5.0-IncrementalAndRegression")] [NUnit.Framework.CategoryAttribute("StructuredDocuments")] [NUnit.Framework.CategoryAttribute("Structured")] - public virtual void FhirGetMetadataAndCheckVersionOfDocumentsCapabilityStatement() + public void FhirGetMetadataAndCheckVersionOfDocumentsCapabilityStatement() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Fhir Get Metadata and Check Version of Documents CapabilityStatement", null, new string[] { - "1.5.0-IncrementalAndRegression", - "StructuredDocuments", - "Structured"}); + string[] tagsOfScenario = new string[] { + "1.5.0-IncrementalAndRegression", + "StructuredDocuments", + "Structured"}; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Fhir Get Metadata and Check Version of Documents CapabilityStatement", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 352 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 353 testRunner.Given("I configure the default \"DocumentsMetaDataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 354 testRunner.When("I make the \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 355 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 356 testRunner.And("the Response Resource should be a CapabilityStatement", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 357 testRunner.And("the Documents CapabilityStatement version should match the GP Connect specificati" + - "on release", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "on release", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -1084,25 +1611,38 @@ public virtual void FhirGetMetadataAndCheckVersionOfDocumentsCapabilityStatement [NUnit.Framework.CategoryAttribute("1.5.0-IncrementalAndRegression")] [NUnit.Framework.CategoryAttribute("StructuredDocuments")] [NUnit.Framework.CategoryAttribute("Structured")] - public virtual void DocumentsCapabilityStatementProfileIndicatesAcceptanceOfXmlAndJsonFormat() + public void DocumentsCapabilityStatementProfileIndicatesAcceptanceOfXmlAndJsonFormat() { + string[] tagsOfScenario = new string[] { + "1.5.0-IncrementalAndRegression", + "StructuredDocuments", + "Structured"}; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Documents CapabilityStatement profile indicates acceptance of xml and json format" + - "", null, new string[] { - "1.5.0-IncrementalAndRegression", - "StructuredDocuments", - "Structured"}); + "", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 360 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 361 testRunner.Given("I configure the default \"DocumentsMetaDataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 362 testRunner.When("I make the \"DocumentsMetaDataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 363 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 364 testRunner.And("the CapabilityStatement Format should contain XML and JSON", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -1111,24 +1651,37 @@ public virtual void DocumentsCapabilityStatementProfileIndicatesAcceptanceOfXmlA [NUnit.Framework.CategoryAttribute("1.5.0-IncrementalAndRegression")] [NUnit.Framework.CategoryAttribute("StructuredDocuments")] [NUnit.Framework.CategoryAttribute("Structured")] - public virtual void DocumentsCapabilityStatementProfileSuppliersSoftwareVersionsPresent() + public void DocumentsCapabilityStatementProfileSuppliersSoftwareVersionsPresent() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Documents CapabilityStatement profile suppliers software versions present", null, new string[] { - "1.5.0-IncrementalAndRegression", - "StructuredDocuments", - "Structured"}); + string[] tagsOfScenario = new string[] { + "1.5.0-IncrementalAndRegression", + "StructuredDocuments", + "Structured"}; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Documents CapabilityStatement profile suppliers software versions present", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 367 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 368 testRunner.Given("I configure the default \"DocumentsMetaDataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 369 testRunner.When("I make the \"DocumentsMetaDataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 370 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 371 testRunner.And("the CapabilityStatement Software should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -1137,24 +1690,37 @@ public virtual void DocumentsCapabilityStatementProfileSuppliersSoftwareVersions [NUnit.Framework.CategoryAttribute("1.5.0-IncrementalAndRegression")] [NUnit.Framework.CategoryAttribute("StructuredDocuments")] [NUnit.Framework.CategoryAttribute("Structured")] - public virtual void DocumentsCapabilityStatementProfileSupportedFhirVersion() + public void DocumentsCapabilityStatementProfileSupportedFhirVersion() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Documents CapabilityStatement profile supported fhir version", null, new string[] { - "1.5.0-IncrementalAndRegression", - "StructuredDocuments", - "Structured"}); + string[] tagsOfScenario = new string[] { + "1.5.0-IncrementalAndRegression", + "StructuredDocuments", + "Structured"}; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Documents CapabilityStatement profile supported fhir version", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 374 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 375 testRunner.Given("I configure the default \"DocumentsMetaDataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 376 testRunner.When("I make the \"DocumentsMetaDataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 377 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 378 testRunner.And("the CapabilityStatement FHIR Version should be \"3.0.1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -1164,29 +1730,44 @@ public virtual void DocumentsCapabilityStatementProfileSupportedFhirVersion() [NUnit.Framework.CategoryAttribute("1.5.0-IncrementalAndRegression")] [NUnit.Framework.CategoryAttribute("StructuredDocuments")] [NUnit.Framework.CategoryAttribute("Structured")] - public virtual void DocumentsFhirContentTypeTestWhereAcceptHeaderIsJSONAndRequestPayloadIsXML() + public void DocumentsFhirContentTypeTestWhereAcceptHeaderIsJSONAndRequestPayloadIsXML() { + string[] tagsOfScenario = new string[] { + "1.5.0-IncrementalAndRegression", + "StructuredDocuments", + "Structured"}; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Documents Fhir content type test where Accept header is JSON and request payload " + - "is XML", null, new string[] { - "1.5.0-IncrementalAndRegression", - "StructuredDocuments", - "Structured"}); + "is XML", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 381 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 382 testRunner.Given("I configure the default \"DocumentsMetaDataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 383 testRunner.And("I set the request content type to \"application/fhir+xml\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 384 testRunner.And("I set the Accept header to \"application/fhir+json\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 385 testRunner.When("I make the \"DocumentsMetaDataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 386 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 387 testRunner.And("the response body should be FHIR JSON", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -1196,29 +1777,44 @@ public virtual void DocumentsFhirContentTypeTestWhereAcceptHeaderIsJSONAndReques [NUnit.Framework.CategoryAttribute("1.5.0-IncrementalAndRegression")] [NUnit.Framework.CategoryAttribute("StructuredDocuments")] [NUnit.Framework.CategoryAttribute("Structured")] - public virtual void DocumentsFhirContentTypeTestWhereAcceptHeaderIsXMLAndRequestPayloadIsJSON() + public void DocumentsFhirContentTypeTestWhereAcceptHeaderIsXMLAndRequestPayloadIsJSON() { + string[] tagsOfScenario = new string[] { + "1.5.0-IncrementalAndRegression", + "StructuredDocuments", + "Structured"}; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Documents Fhir content type test where Accept header is XML and request payload i" + - "s JSON", null, new string[] { - "1.5.0-IncrementalAndRegression", - "StructuredDocuments", - "Structured"}); + "s JSON", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 390 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 391 testRunner.Given("I configure the default \"DocumentsMetaDataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 392 testRunner.And("I set the request content type to \"application/fhir+json\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 393 testRunner.And("I set the Accept header to \"application/fhir+xml\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 394 testRunner.When("I make the \"DocumentsMetaDataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 395 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 396 testRunner.And("the response body should be FHIR XML", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -1228,31 +1824,47 @@ public virtual void DocumentsFhirContentTypeTestWhereAcceptHeaderIsXMLAndRequest [NUnit.Framework.CategoryAttribute("1.5.0-IncrementalAndRegression")] [NUnit.Framework.CategoryAttribute("StructuredDocuments")] [NUnit.Framework.CategoryAttribute("Structured")] - public virtual void DocumentsFhirContentTypeTestWhere_FormatParameterIsJSONAndRequestPayloadIsJSON() + public void DocumentsFhirContentTypeTestWhere_FormatParameterIsJSONAndRequestPayloadIsJSON() { + string[] tagsOfScenario = new string[] { + "1.5.0-IncrementalAndRegression", + "StructuredDocuments", + "Structured"}; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Documents Fhir content type test where _format parameter is JSON and request payl" + - "oad is JSON", null, new string[] { - "1.5.0-IncrementalAndRegression", - "StructuredDocuments", - "Structured"}); + "oad is JSON", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 399 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 400 testRunner.Given("I configure the default \"DocumentsMetaDataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 401 testRunner.And("I set the request content type to \"application/fhir+json\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 402 testRunner.And("I do not send header \"Accept\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 403 testRunner.And("I add a Format parameter with the Value \"application/fhir+json\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 404 testRunner.When("I make the \"DocumentsMetaDataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 405 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 406 testRunner.And("the response body should be FHIR JSON", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -1262,31 +1874,47 @@ public virtual void DocumentsFhirContentTypeTestWhere_FormatParameterIsJSONAndRe [NUnit.Framework.CategoryAttribute("1.5.0-IncrementalAndRegression")] [NUnit.Framework.CategoryAttribute("StructuredDocuments")] [NUnit.Framework.CategoryAttribute("Structured")] - public virtual void DocumentsFhirContentTypeTestWhere_FormatParameterIsJSONAndRequestPayloadIsXML() + public void DocumentsFhirContentTypeTestWhere_FormatParameterIsJSONAndRequestPayloadIsXML() { + string[] tagsOfScenario = new string[] { + "1.5.0-IncrementalAndRegression", + "StructuredDocuments", + "Structured"}; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Documents Fhir content type test where _format parameter is JSON and request payl" + - "oad is XML", null, new string[] { - "1.5.0-IncrementalAndRegression", - "StructuredDocuments", - "Structured"}); + "oad is XML", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 409 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 410 testRunner.Given("I configure the default \"DocumentsMetaDataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 411 testRunner.And("I set the request content type to \"application/fhir+xml\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 412 testRunner.And("I do not send header \"Accept\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 413 testRunner.And("I add a Format parameter with the Value \"application/fhir+json\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 414 testRunner.When("I make the \"DocumentsMetaDataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 415 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 416 testRunner.And("the response body should be FHIR JSON", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -1296,31 +1924,47 @@ public virtual void DocumentsFhirContentTypeTestWhere_FormatParameterIsJSONAndRe [NUnit.Framework.CategoryAttribute("1.5.0-IncrementalAndRegression")] [NUnit.Framework.CategoryAttribute("StructuredDocuments")] [NUnit.Framework.CategoryAttribute("Structured")] - public virtual void DocumentsFhirContentTypeTestWhere_FormatParameterIsXMLAndRequestPayloadIsXML() + public void DocumentsFhirContentTypeTestWhere_FormatParameterIsXMLAndRequestPayloadIsXML() { + string[] tagsOfScenario = new string[] { + "1.5.0-IncrementalAndRegression", + "StructuredDocuments", + "Structured"}; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Documents Fhir content type test where _format parameter is XML and request paylo" + - "ad is XML", null, new string[] { - "1.5.0-IncrementalAndRegression", - "StructuredDocuments", - "Structured"}); + "ad is XML", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 419 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 420 testRunner.Given("I configure the default \"DocumentsMetaDataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 421 testRunner.And("I set the request content type to \"application/fhir+xml\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 422 testRunner.And("I do not send header \"Accept\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 423 testRunner.And("I add a Format parameter with the Value \"application/fhir+xml\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 424 testRunner.When("I make the \"DocumentsMetaDataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 425 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 426 testRunner.And("the response body should be FHIR XML", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -1330,31 +1974,47 @@ public virtual void DocumentsFhirContentTypeTestWhere_FormatParameterIsXMLAndReq [NUnit.Framework.CategoryAttribute("1.5.0-IncrementalAndRegression")] [NUnit.Framework.CategoryAttribute("StructuredDocuments")] [NUnit.Framework.CategoryAttribute("Structured")] - public virtual void DocumentsFhirContentTypeTestWhere_FormatParameterIsXMLAndRequestPayloadIsJSON() + public void DocumentsFhirContentTypeTestWhere_FormatParameterIsXMLAndRequestPayloadIsJSON() { + string[] tagsOfScenario = new string[] { + "1.5.0-IncrementalAndRegression", + "StructuredDocuments", + "Structured"}; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Documents Fhir content type test where _format parameter is XML and request paylo" + - "ad is JSON", null, new string[] { - "1.5.0-IncrementalAndRegression", - "StructuredDocuments", - "Structured"}); + "ad is JSON", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 429 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 430 testRunner.Given("I configure the default \"DocumentsMetaDataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 431 testRunner.And("I set the request content type to \"application/fhir+json\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 432 testRunner.And("I do not send header \"Accept\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 433 testRunner.And("I add a Format parameter with the Value \"application/fhir+xml\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 434 testRunner.When("I make the \"DocumentsMetaDataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 435 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 436 testRunner.And("the response body should be FHIR XML", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -1364,31 +2024,47 @@ public virtual void DocumentsFhirContentTypeTestWhere_FormatParameterIsXMLAndReq [NUnit.Framework.CategoryAttribute("1.5.0-IncrementalAndRegression")] [NUnit.Framework.CategoryAttribute("StructuredDocuments")] [NUnit.Framework.CategoryAttribute("Structured")] - public virtual void DocumentsFhirContentTypeTestWhereAcceptHeaderIsXMLAnd_FormatParameterIsXML() + public void DocumentsFhirContentTypeTestWhereAcceptHeaderIsXMLAnd_FormatParameterIsXML() { + string[] tagsOfScenario = new string[] { + "1.5.0-IncrementalAndRegression", + "StructuredDocuments", + "Structured"}; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Documents Fhir content type test where Accept header is XML and _format parameter" + - " is XML", null, new string[] { - "1.5.0-IncrementalAndRegression", - "StructuredDocuments", - "Structured"}); + " is XML", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 439 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 440 testRunner.Given("I configure the default \"DocumentsMetaDataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 441 testRunner.And("I set the request content type to \"application/fhir+xml\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 442 testRunner.And("I set the Accept header to \"application/fhir+xml\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 443 testRunner.And("I add a Format parameter with the Value \"application/fhir+xml\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 444 testRunner.When("I make the \"DocumentsMetaDataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 445 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 446 testRunner.And("the response body should be FHIR XML", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -1398,31 +2074,47 @@ public virtual void DocumentsFhirContentTypeTestWhereAcceptHeaderIsXMLAnd_Format [NUnit.Framework.CategoryAttribute("1.5.0-IncrementalAndRegression")] [NUnit.Framework.CategoryAttribute("StructuredDocuments")] [NUnit.Framework.CategoryAttribute("Structured")] - public virtual void DocumentsFhirContentTypeTestWhereAcceptHeaderIsXMLAnd_FormatParameterIsJSON() + public void DocumentsFhirContentTypeTestWhereAcceptHeaderIsXMLAnd_FormatParameterIsJSON() { + string[] tagsOfScenario = new string[] { + "1.5.0-IncrementalAndRegression", + "StructuredDocuments", + "Structured"}; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Documents Fhir content type test where Accept header is XML and _format parameter" + - " is JSON", null, new string[] { - "1.5.0-IncrementalAndRegression", - "StructuredDocuments", - "Structured"}); + " is JSON", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 449 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 450 testRunner.Given("I configure the default \"DocumentsMetaDataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 451 testRunner.And("I set the request content type to \"application/fhir+xml\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 452 testRunner.And("I set the Accept header to \"application/fhir+xml\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 453 testRunner.And("I add a Format parameter with the Value \"application/fhir+json\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 454 testRunner.When("I make the \"DocumentsMetaDataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 455 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 456 testRunner.And("the response body should be FHIR JSON", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -1432,31 +2124,47 @@ public virtual void DocumentsFhirContentTypeTestWhereAcceptHeaderIsXMLAnd_Format [NUnit.Framework.CategoryAttribute("1.5.0-IncrementalAndRegression")] [NUnit.Framework.CategoryAttribute("StructuredDocuments")] [NUnit.Framework.CategoryAttribute("Structured")] - public virtual void DocumentsFhirContentTypeTestWhereAcceptHeaderIsJSONAnd_FormatParameterIsJSON() + public void DocumentsFhirContentTypeTestWhereAcceptHeaderIsJSONAnd_FormatParameterIsJSON() { + string[] tagsOfScenario = new string[] { + "1.5.0-IncrementalAndRegression", + "StructuredDocuments", + "Structured"}; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Documents Fhir content type test where Accept header is JSON and _format paramete" + - "r is JSON", null, new string[] { - "1.5.0-IncrementalAndRegression", - "StructuredDocuments", - "Structured"}); + "r is JSON", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 459 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 460 testRunner.Given("I configure the default \"DocumentsMetaDataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 461 testRunner.And("I set the request content type to \"application/fhir+json\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 462 testRunner.And("I set the Accept header to \"application/fhir+json\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 463 testRunner.And("I add a Format parameter with the Value \"application/fhir+json\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 464 testRunner.When("I make the \"DocumentsMetaDataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 465 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 466 testRunner.And("the response body should be FHIR JSON", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -1466,31 +2174,47 @@ public virtual void DocumentsFhirContentTypeTestWhereAcceptHeaderIsJSONAnd_Forma [NUnit.Framework.CategoryAttribute("1.5.0-IncrementalAndRegression")] [NUnit.Framework.CategoryAttribute("StructuredDocuments")] [NUnit.Framework.CategoryAttribute("Structured")] - public virtual void DocumentsFhirContentTypeTestWhereAcceptHeaderIsJSONAnd_FormatParameterIsXML() + public void DocumentsFhirContentTypeTestWhereAcceptHeaderIsJSONAnd_FormatParameterIsXML() { + string[] tagsOfScenario = new string[] { + "1.5.0-IncrementalAndRegression", + "StructuredDocuments", + "Structured"}; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Documents Fhir content type test where Accept header is JSON and _format paramete" + - "r is XML", null, new string[] { - "1.5.0-IncrementalAndRegression", - "StructuredDocuments", - "Structured"}); + "r is XML", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 469 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 470 testRunner.Given("I configure the default \"DocumentsMetaDataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 471 testRunner.And("I set the request content type to \"application/fhir+json\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 472 testRunner.And("I set the Accept header to \"application/fhir+json\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 473 testRunner.And("I add a Format parameter with the Value \"application/fhir+xml\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 474 testRunner.When("I make the \"DocumentsMetaDataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 475 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 476 testRunner.And("the response body should be FHIR XML", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -1513,7 +2237,7 @@ public virtual void DocumentsFhirContentTypeTestWhereAcceptHeaderIsJSONAnd_Forma "_history/1.3", null)] [NUnit.Framework.TestCaseAttribute("https://fhir.nhs.uk/STU3/StructureDefinition/GPConnect-Searchset-Bundle-1/_histor" + "y/1.3", null)] - public virtual void DocumentsCapabilityStatementReturnsCorrectProfileVersions(string urlToCheck, string[] exampleTags) + public void DocumentsCapabilityStatementReturnsCorrectProfileVersions(string urlToCheck, string[] exampleTags) { string[] @__tags = new string[] { "1.5.0-IncrementalAndRegression", @@ -1523,20 +2247,34 @@ public virtual void DocumentsCapabilityStatementReturnsCorrectProfileVersions(st { @__tags = System.Linq.Enumerable.ToArray(System.Linq.Enumerable.Concat(@__tags, exampleTags)); } - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Documents CapabilityStatement returns correct profile versions", null, @__tags); + string[] tagsOfScenario = @__tags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("urlToCheck", urlToCheck); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Documents CapabilityStatement returns correct profile versions", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 479 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 480 testRunner.Given("I configure the default \"DocumentsMetaDataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 481 testRunner.When("I make the \"DocumentsMetaDataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 482 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 483 testRunner.And(string.Format("the CapabilityStatement Profile should contain the correct reference and version " + - "history \"{0}\"", urlToCheck), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "history \"{0}\"", urlToCheck), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -1545,25 +2283,38 @@ public virtual void DocumentsCapabilityStatementReturnsCorrectProfileVersions(st [NUnit.Framework.CategoryAttribute("1.5.0-IncrementalAndRegression")] [NUnit.Framework.CategoryAttribute("StructuredDocuments")] [NUnit.Framework.CategoryAttribute("Structured")] - public virtual void DocumentsCapabilityStatementProfileSupportsThePatientReadOperation() + public void DocumentsCapabilityStatementProfileSupportsThePatientReadOperation() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Documents CapabilityStatement profile supports the Patient read operation", null, new string[] { - "1.5.0-IncrementalAndRegression", - "StructuredDocuments", - "Structured"}); + string[] tagsOfScenario = new string[] { + "1.5.0-IncrementalAndRegression", + "StructuredDocuments", + "Structured"}; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Documents CapabilityStatement profile supports the Patient read operation", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 495 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 496 testRunner.Given("I configure the default \"DocumentsMetaDataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 497 testRunner.When("I make the \"DocumentsMetaDataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 498 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 499 testRunner.And("the CapabilityStatement REST Resources should contain the \"Patient\" Resource with" + - " the \"Read\" Interaction", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + " the \"Read\" Interaction", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -1572,25 +2323,38 @@ public virtual void DocumentsCapabilityStatementProfileSupportsThePatientReadOpe [NUnit.Framework.CategoryAttribute("1.5.0-IncrementalAndRegression")] [NUnit.Framework.CategoryAttribute("StructuredDocuments")] [NUnit.Framework.CategoryAttribute("Structured")] - public virtual void DocumentsCapabilityStatementProfileSupportsThePatientSearchOperation() + public void DocumentsCapabilityStatementProfileSupportsThePatientSearchOperation() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Documents CapabilityStatement profile supports the Patient search operation", null, new string[] { - "1.5.0-IncrementalAndRegression", - "StructuredDocuments", - "Structured"}); + string[] tagsOfScenario = new string[] { + "1.5.0-IncrementalAndRegression", + "StructuredDocuments", + "Structured"}; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Documents CapabilityStatement profile supports the Patient search operation", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 502 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 503 testRunner.Given("I configure the default \"DocumentsMetaDataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 504 testRunner.When("I make the \"DocumentsMetaDataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 505 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 506 testRunner.And("the CapabilityStatement REST Resources should contain the \"Patient\" Resource with" + - " the \"SearchType\" Interaction", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + " the \"SearchType\" Interaction", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -1599,25 +2363,38 @@ public virtual void DocumentsCapabilityStatementProfileSupportsThePatientSearchO [NUnit.Framework.CategoryAttribute("1.5.0-IncrementalAndRegression")] [NUnit.Framework.CategoryAttribute("StructuredDocuments")] [NUnit.Framework.CategoryAttribute("Structured")] - public virtual void DocumentsCapabilityStatementProfileSupportsTheBinaryReadOperation() + public void DocumentsCapabilityStatementProfileSupportsTheBinaryReadOperation() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Documents CapabilityStatement profile supports the Binary Read operation", null, new string[] { - "1.5.0-IncrementalAndRegression", - "StructuredDocuments", - "Structured"}); + string[] tagsOfScenario = new string[] { + "1.5.0-IncrementalAndRegression", + "StructuredDocuments", + "Structured"}; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Documents CapabilityStatement profile supports the Binary Read operation", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 509 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 510 testRunner.Given("I configure the default \"DocumentsMetaDataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 511 testRunner.When("I make the \"DocumentsMetaDataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 512 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 513 testRunner.And("the CapabilityStatement REST Resources should contain the \"Binary\" Resource with " + - "the \"Read\" Interaction", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "the \"Read\" Interaction", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -1627,26 +2404,39 @@ public virtual void DocumentsCapabilityStatementProfileSupportsTheBinaryReadOper [NUnit.Framework.CategoryAttribute("1.5.0-IncrementalAndRegression")] [NUnit.Framework.CategoryAttribute("StructuredDocuments")] [NUnit.Framework.CategoryAttribute("Structured")] - public virtual void DocumentsCapabilityStatementProfileSupportsTheDocumentReferenceSearchOperation() + public void DocumentsCapabilityStatementProfileSupportsTheDocumentReferenceSearchOperation() { + string[] tagsOfScenario = new string[] { + "1.5.0-IncrementalAndRegression", + "StructuredDocuments", + "Structured"}; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Documents CapabilityStatement profile supports the DocumentReference search opera" + - "tion", null, new string[] { - "1.5.0-IncrementalAndRegression", - "StructuredDocuments", - "Structured"}); + "tion", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 516 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 517 testRunner.Given("I configure the default \"DocumentsMetaDataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 518 testRunner.When("I make the \"DocumentsMetaDataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 519 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 520 testRunner.And("the CapabilityStatement REST Resources should contain the \"DocumentReference\" Res" + - "ource with the \"SearchType\" Interaction", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ource with the \"SearchType\" Interaction", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -1659,7 +2449,7 @@ public virtual void DocumentsCapabilityStatementProfileSupportsTheDocumentRefere [NUnit.Framework.TestCaseAttribute("DocumentReference:custodian:Organization", null)] [NUnit.Framework.TestCaseAttribute("DocumentReference:author:Organization", null)] [NUnit.Framework.TestCaseAttribute("DocumentReference:author:Practitioner", null)] - public virtual void CheckDocumentsCapabilityStatementIncludesSpecificSearchInclude(string searchInclude, string[] exampleTags) + public void CheckDocumentsCapabilityStatementIncludesSpecificSearchInclude(string searchInclude, string[] exampleTags) { string[] @__tags = new string[] { "1.5.0-IncrementalAndRegression", @@ -1669,19 +2459,33 @@ public virtual void CheckDocumentsCapabilityStatementIncludesSpecificSearchInclu { @__tags = System.Linq.Enumerable.ToArray(System.Linq.Enumerable.Concat(@__tags, exampleTags)); } - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Check Documents CapabilityStatement includes specific searchInclude", null, @__tags); + string[] tagsOfScenario = @__tags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("searchInclude", searchInclude); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Check Documents CapabilityStatement includes specific searchInclude", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 523 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 524 testRunner.Given("I configure the default \"DocumentsMetaDataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 525 testRunner.When("I make the \"DocumentsMetaDataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 526 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 527 testRunner.And(string.Format("the Documents CapabilityStatement has a searchInclude called \"{0}\"", searchInclude), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -1693,7 +2497,7 @@ public virtual void CheckDocumentsCapabilityStatementIncludesSpecificSearchInclu [NUnit.Framework.TestCaseAttribute("created", "date", null)] [NUnit.Framework.TestCaseAttribute("author", "token", null)] [NUnit.Framework.TestCaseAttribute("description", "string", null)] - public virtual void CheckDocumentsCapabilityStatementIncludesSpecificSearchParams(string searchParam, string searchParamType, string[] exampleTags) + public void CheckDocumentsCapabilityStatementIncludesSpecificSearchParams(string searchParam, string searchParamType, string[] exampleTags) { string[] @__tags = new string[] { "1.5.0-IncrementalAndRegression", @@ -1703,19 +2507,34 @@ public virtual void CheckDocumentsCapabilityStatementIncludesSpecificSearchParam { @__tags = System.Linq.Enumerable.ToArray(System.Linq.Enumerable.Concat(@__tags, exampleTags)); } - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Check Documents CapabilityStatement includes specific searchParams", null, @__tags); + string[] tagsOfScenario = @__tags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("searchParam", searchParam); + argumentsOfScenario.Add("searchParamType", searchParamType); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Check Documents CapabilityStatement includes specific searchParams", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 536 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 537 testRunner.Given("I configure the default \"DocumentsMetaDataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 538 testRunner.When("I make the \"DocumentsMetaDataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 539 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 540 testRunner.And(string.Format("the Documents CapabilityStatement has a searchParam called \"{0}\" of type \"{1}\"", searchParam, searchParamType), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } } diff --git a/GPConnect.Provider.AcceptanceTests/Factories/RequestFactory.cs b/GPConnect.Provider.AcceptanceTests/Factories/RequestFactory.cs index 7af59efd..e0578de6 100644 --- a/GPConnect.Provider.AcceptanceTests/Factories/RequestFactory.cs +++ b/GPConnect.Provider.AcceptanceTests/Factories/RequestFactory.cs @@ -52,9 +52,14 @@ public void ConfigureBody(HttpRequestConfiguration httpRequestConfiguration) private static void ConfigureSerializer(HttpRequestConfiguration httpRequestConfiguration) { - _serializer = httpRequestConfiguration.RequestContentType.Contains("xml") - ? new Serializer(FhirSerializer.SerializeToXml) - : FhirSerializer.SerializeToJson; + if (httpRequestConfiguration.RequestContentType.Contains("xml")) + { + _serializer = (data, summaryType, root) => new FhirXmlSerializer().SerializeToString(data); + } + else + { + _serializer = (data, summaryType, root) => new FhirJsonSerializer().SerializeToString(data); + } } private void ConfigureAppointmentCreateBody(HttpRequestConfiguration httpRequestConfiguration) diff --git a/GPConnect.Provider.AcceptanceTests/GPConnect.Provider.AcceptanceTests.csproj b/GPConnect.Provider.AcceptanceTests/GPConnect.Provider.AcceptanceTests.csproj index 86609bf9..06b00334 100644 --- a/GPConnect.Provider.AcceptanceTests/GPConnect.Provider.AcceptanceTests.csproj +++ b/GPConnect.Provider.AcceptanceTests/GPConnect.Provider.AcceptanceTests.csproj @@ -1,398 +1,58 @@ - - - - - - - + + - true - - - Debug - AnyCPU - {5B1DECD9-6C26-4E86-B649-96C327A32AD3} - Library - Properties + net8.0 + latest + false GPConnect.Provider.AcceptanceTests GPConnect.Provider.AcceptanceTests - v4.6.1 - 512 - - - - - - true - full - false - bin\Debug\ - DEBUG;TRACE - prompt - 4 - - - pdbonly - true - bin\Release\ - TRACE - prompt - 4 - - - true - bin\x86\Debug\ - DEBUG;TRACE - full - x86 - prompt - MinimumRecommendedRules.ruleset - - - bin\x86\Release\ - TRACE - true - pdbonly - x86 - prompt - MinimumRecommendedRules.ruleset - - true - bin\Develop\ - DEBUG;TRACE - full - AnyCPU - prompt - MinimumRecommendedRules.ruleset - - - true - bin\x86\Develop\ - DEBUG;TRACE - full - x86 - prompt - MinimumRecommendedRules.ruleset - - - - ..\packages\BoDi.1.4.1\lib\net45\BoDi.dll - True - - - ..\packages\CsvHelper.2.16.3.0\lib\net45\CsvHelper.dll - True - - - ..\packages\Gherkin.6.0.0\lib\net45\Gherkin.dll - - - ..\packages\Hl7.Fhir.STU3.0.93.5\lib\net45\Hl7.Fhir.STU3.Core.dll - True - - - ..\packages\Hl7.Fhir.Specification.STU3.0.93.5\lib\net45\Hl7.Fhir.STU3.Specification.dll - True - - - ..\packages\Hl7.Fhir.Support.0.4.4\lib\net45\Hl7.Fhir.Support.dll - True - - - ..\packages\Hl7.FhirPath.0.4.4\lib\net45\Hl7.FhirPath.dll - True - - - ..\packages\Microsoft.IdentityModel.Logging.1.0.0\lib\net451\Microsoft.IdentityModel.Logging.dll - True - - - ..\packages\Microsoft.IdentityModel.Tokens.5.0.0\lib\net451\Microsoft.IdentityModel.Tokens.dll - True - - - ..\packages\Newtonsoft.Json.13.0.2\lib\net45\Newtonsoft.Json.dll - - - ..\packages\NUnit.3.11.0\lib\net45\nunit.framework.dll - True - - - ..\packages\Shaman.CurlSharp.0.6.3.1\lib\net46\Shaman.CurlSharp.dll - True - False - - - ..\packages\Shouldly.2.8.3\lib\net451\Shouldly.dll - True - - - - - - - - - ..\packages\System.IdentityModel.Tokens.Jwt.5.0.0\lib\net451\System.IdentityModel.Tokens.Jwt.dll - True - - - - - - - ..\packages\System.Threading.Tasks.Extensions.4.4.0\lib\netstandard2.0\System.Threading.Tasks.Extensions.dll - True - - - ..\packages\System.ValueTuple.4.4.0\lib\net461\System.ValueTuple.dll - True - - - - - - - ..\packages\SpecFlow.3.0.213\lib\net45\TechTalk.SpecFlow.dll - True - - - ..\packages\SpecFlow.NUnit.3.0.213\lib\net45\TechTalk.SpecFlow.NUnit.SpecFlowPlugin.dll - True - - - ..\packages\Utf8Json.1.3.7\lib\net45\Utf8Json.dll - True - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - Designer - - - App.config - - - App.config - - - App.config - - - - - - - - - - - - - - Designer + + + Always - - - - - - - - - - - - - + + PreserveNewest + - - - - - - - - Always - libcurl.dll - - - - + + + PreserveNewest + - - - - - True - $(MSBuildProjectDirectory) - dhtml - C:\Temp\GPConnect.Provider.AcceptanceTests.Doco - - - - - - - - - - + \ No newline at end of file diff --git a/GPConnect.Provider.AcceptanceTests/Helpers/FhirHelper.cs b/GPConnect.Provider.AcceptanceTests/Helpers/FhirHelper.cs index 22c54945..fe600724 100644 --- a/GPConnect.Provider.AcceptanceTests/Helpers/FhirHelper.cs +++ b/GPConnect.Provider.AcceptanceTests/Helpers/FhirHelper.cs @@ -162,7 +162,7 @@ public static string ChangeParameterResourceTypeString(string jsonResource, stri Log.WriteLine("Incomming Json Object = " + jsonResource); dynamic dynamicDeviceObj = JsonConvert.DeserializeObject(jsonResource); foreach (var parameter in dynamicDeviceObj.parameter) { - parameter.resource.resourceType = newResourceType; + parameter.resource.TypeName = newResourceType; } Log.WriteLine("Converted Type Json Object = " + JsonConvert.SerializeObject(dynamicDeviceObj)); return JsonConvert.SerializeObject(dynamicDeviceObj); diff --git a/GPConnect.Provider.AcceptanceTests/Http.feature.cs b/GPConnect.Provider.AcceptanceTests/Http.feature.cs index 827085f9..fe316248 100644 --- a/GPConnect.Provider.AcceptanceTests/Http.feature.cs +++ b/GPConnect.Provider.AcceptanceTests/Http.feature.cs @@ -1,8 +1,8 @@ -// ------------------------------------------------------------------------------ +// ------------------------------------------------------------------------------ // -// This code was generated by SpecFlow (http://www.specflow.org/). -// SpecFlow Version:3.0.0.0 -// SpecFlow Generator Version:3.0.0.0 +// This code was generated by SpecFlow (https://www.specflow.org/). +// SpecFlow Version:3.9.0.0 +// SpecFlow Generator Version:3.9.0.0 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. @@ -13,9 +13,11 @@ namespace GPConnect.Provider.AcceptanceTests { using TechTalk.SpecFlow; + using System; + using System.Linq; - [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "3.0.0.0")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "3.9.0.0")] [System.Runtime.CompilerServices.CompilerGeneratedAttribute()] [NUnit.Framework.TestFixtureAttribute()] [NUnit.Framework.DescriptionAttribute("HTTP")] @@ -26,6 +28,10 @@ public partial class HTTPFeature private TechTalk.SpecFlow.ITestRunner testRunner; + private static string[] featureTags = new string[] { + "http", + "1.5.0-Full-Pack"}; + #line 1 "Http.feature" #line hidden @@ -33,9 +39,7 @@ public partial class HTTPFeature public virtual void FeatureSetup() { testRunner = TechTalk.SpecFlow.TestRunnerManager.GetTestRunner(); - TechTalk.SpecFlow.FeatureInfo featureInfo = new TechTalk.SpecFlow.FeatureInfo(new System.Globalization.CultureInfo("en-US"), "HTTP", null, ProgrammingLanguage.CSharp, new string[] { - "http", - "1.5.0-Full-Pack"}); + TechTalk.SpecFlow.FeatureInfo featureInfo = new TechTalk.SpecFlow.FeatureInfo(new System.Globalization.CultureInfo("en-US"), "", "HTTP", null, ProgrammingLanguage.CSharp, featureTags); testRunner.OnFeatureStart(featureInfo); } @@ -47,195 +51,299 @@ public virtual void FeatureTearDown() } [NUnit.Framework.SetUpAttribute()] - public virtual void TestInitialize() + public void TestInitialize() { } [NUnit.Framework.TearDownAttribute()] - public virtual void ScenarioTearDown() + public void TestTearDown() { testRunner.OnScenarioEnd(); } - public virtual void ScenarioInitialize(TechTalk.SpecFlow.ScenarioInfo scenarioInfo) + public void ScenarioInitialize(TechTalk.SpecFlow.ScenarioInfo scenarioInfo) { testRunner.OnScenarioInitialize(scenarioInfo); testRunner.ScenarioContext.ScenarioContainer.RegisterInstanceAs(NUnit.Framework.TestContext.CurrentContext); } - public virtual void ScenarioStart() + public void ScenarioStart() { testRunner.OnScenarioStart(); } - public virtual void ScenarioCleanup() + public void ScenarioCleanup() { testRunner.CollectScenarioErrors(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Http GET from invalid endpoint")] - public virtual void HttpGETFromInvalidEndpoint() + public void HttpGETFromInvalidEndpoint() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Http GET from invalid endpoint", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Http GET from invalid endpoint", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 4 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 5 testRunner.Given("I configure the default \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 6 testRunner.And("I set the request URL to \"metadatas\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 7 testRunner.When("I make the \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 8 testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 9 testRunner.And("the response should be a OperationOutcome resource", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Http POST to invalid endpoint")] - public virtual void HttpPOSTToInvalidEndpoint() + public void HttpPOSTToInvalidEndpoint() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Http POST to invalid endpoint", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Http POST to invalid endpoint", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 11 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 12 testRunner.Given("I configure the default \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 13 testRunner.And("I set the request URL to \"metadatas\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 14 testRunner.And("I set the request Http Method to \"POST\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 15 testRunner.When("I make the \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 16 testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 17 testRunner.And("the response should be a OperationOutcome resource", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Http PUT to invalid endpoint")] - public virtual void HttpPUTToInvalidEndpoint() + public void HttpPUTToInvalidEndpoint() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Http PUT to invalid endpoint", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Http PUT to invalid endpoint", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 19 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 20 testRunner.Given("I configure the default \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 21 testRunner.And("I set the request URL to \"metadatas\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 22 testRunner.And("I set the request Http Method to \"PUT\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 23 testRunner.When("I make the \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 24 testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 25 testRunner.And("the response body should be FHIR JSON", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 26 testRunner.And("the response should be a OperationOutcome resource", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Http PATCH to valid endpoint")] - public virtual void HttpPATCHToValidEndpoint() + public void HttpPATCHToValidEndpoint() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Http PATCH to valid endpoint", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Http PATCH to valid endpoint", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 28 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 29 testRunner.Given("I configure the default \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 30 testRunner.And("I set the request URL to \"metadata\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 31 testRunner.And("I set the request Http Method to \"PATCH\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 32 testRunner.When("I make the \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 33 testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 34 testRunner.And("the response should be a OperationOutcome resource", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Http DELETE to valid endpoint")] - public virtual void HttpDELETEToValidEndpoint() + public void HttpDELETEToValidEndpoint() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Http DELETE to valid endpoint", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Http DELETE to valid endpoint", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 36 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 37 testRunner.Given("I configure the default \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 38 testRunner.And("I set the request URL to \"metadata\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 39 testRunner.And("I set the request Http Method to \"DELETE\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 40 testRunner.When("I make the \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 41 testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 42 testRunner.And("the response should be a OperationOutcome resource", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Http OPTIONS to valid endpoint")] - public virtual void HttpOPTIONSToValidEndpoint() + public void HttpOPTIONSToValidEndpoint() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Http OPTIONS to valid endpoint", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Http OPTIONS to valid endpoint", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 44 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 45 testRunner.Given("I configure the default \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 46 testRunner.And("I set the request URL to \"metadata\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 47 testRunner.And("I set the request Http Method to \"OPTIONS\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 48 testRunner.When("I make the \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 49 testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 50 testRunner.And("the response should be a OperationOutcome resource", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Http incorrect case on url fhir resource")] - public virtual void HttpIncorrectCaseOnUrlFhirResource() + public void HttpIncorrectCaseOnUrlFhirResource() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Http incorrect case on url fhir resource", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Http incorrect case on url fhir resource", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 52 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 53 testRunner.Given("I configure the default \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 54 testRunner.And("I set the request URL to \"Metadata\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 55 testRunner.When("I make the \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 56 testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 57 testRunner.And("the response should be a OperationOutcome resource", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } } diff --git a/GPConnect.Provider.AcceptanceTests/Http/FhirResponse.cs b/GPConnect.Provider.AcceptanceTests/Http/FhirResponse.cs index 34203d54..db1b1919 100644 --- a/GPConnect.Provider.AcceptanceTests/Http/FhirResponse.cs +++ b/GPConnect.Provider.AcceptanceTests/Http/FhirResponse.cs @@ -43,10 +43,10 @@ private List GetResources() where T : Resource //Need to consider cases where T isn't in ResourceTypeMap (and implementation!!) var type = typeof(T); - if (Resource.ResourceType == ResourceType.Bundle) + if (Resource.TypeName == "Bundle") { return Entries - .Where(entry => entry.Resource.ResourceType.Equals(ResourceTypeMap[type])) + .Where(entry => entry.Resource.TypeName.Equals(ResourceTypeMap[type])) .Select(entry => (T)entry.Resource) .ToList(); } diff --git a/GPConnect.Provider.AcceptanceTests/Http/HttpRequestBase.cs b/GPConnect.Provider.AcceptanceTests/Http/HttpRequestBase.cs index 2dd43d9b..04d6ec33 100644 --- a/GPConnect.Provider.AcceptanceTests/Http/HttpRequestBase.cs +++ b/GPConnect.Provider.AcceptanceTests/Http/HttpRequestBase.cs @@ -117,9 +117,9 @@ protected string GetQueryStringParameters() return requestParamString.Substring(0, requestParamString.Length - 1); } - protected WebRequestHandler ConfigureHandler() + protected HttpClientHandler ConfigureHandler() { - var handler = new WebRequestHandler + var handler = new HttpClientHandler { AllowAutoRedirect = true }; diff --git a/GPConnect.Provider.AcceptanceTests/Importers/LocationLogicalIdentifierConverter.cs b/GPConnect.Provider.AcceptanceTests/Importers/LocationLogicalIdentifierConverter.cs index 0ba1e78f..cf4a46ea 100644 --- a/GPConnect.Provider.AcceptanceTests/Importers/LocationLogicalIdentifierConverter.cs +++ b/GPConnect.Provider.AcceptanceTests/Importers/LocationLogicalIdentifierConverter.cs @@ -3,7 +3,7 @@ using CsvHelper.Configuration; using Data; - internal sealed class LocationLogicalIdentifierConverter : CsvClassMap + internal sealed class LocationLogicalIdentifierConverter : ClassMap { public LocationLogicalIdentifierConverter() { diff --git a/GPConnect.Provider.AcceptanceTests/Importers/LocationLogicalIdentifierImporter.cs b/GPConnect.Provider.AcceptanceTests/Importers/LocationLogicalIdentifierImporter.cs index af533e4c..8796e60c 100644 --- a/GPConnect.Provider.AcceptanceTests/Importers/LocationLogicalIdentifierImporter.cs +++ b/GPConnect.Provider.AcceptanceTests/Importers/LocationLogicalIdentifierImporter.cs @@ -10,14 +10,13 @@ internal static class LocationLogicalIdentifierImporter { public static Dictionary LoadCsv(string filename) { - using (var csv = new CsvReader(new StreamReader(filename))) - { - csv.Configuration.RegisterClassMap(); + using var reader = new StreamReader(filename); + using var csv = new CsvReader(reader, System.Globalization.CultureInfo.InvariantCulture); + csv.Context.RegisterClassMap(); - return csv - .GetRecords() - .ToDictionary(x => x.Location, x => x.LogicalIdentifier); - } + return csv + .GetRecords() + .ToDictionary(x => x.Location, x => x.LogicalIdentifier); } } } diff --git a/GPConnect.Provider.AcceptanceTests/Importers/NHSNoMapConverter.cs b/GPConnect.Provider.AcceptanceTests/Importers/NHSNoMapConverter.cs index e97980cf..28842603 100644 --- a/GPConnect.Provider.AcceptanceTests/Importers/NHSNoMapConverter.cs +++ b/GPConnect.Provider.AcceptanceTests/Importers/NHSNoMapConverter.cs @@ -4,7 +4,7 @@ namespace GPConnect.Provider.AcceptanceTests.Importers { // ReSharper disable once ClassNeverInstantiated.Global - internal sealed class NHSNoMapConverter : CsvClassMap + internal sealed class NHSNoMapConverter : ClassMap { public NHSNoMapConverter() { diff --git a/GPConnect.Provider.AcceptanceTests/Importers/NHSNoMapImporter.cs b/GPConnect.Provider.AcceptanceTests/Importers/NHSNoMapImporter.cs index 88805873..0fc8774c 100644 --- a/GPConnect.Provider.AcceptanceTests/Importers/NHSNoMapImporter.cs +++ b/GPConnect.Provider.AcceptanceTests/Importers/NHSNoMapImporter.cs @@ -10,11 +10,10 @@ public static class NHSNoMapImporter { public static Dictionary LoadCsv(string filename) { - using (var csv = new CsvReader(new StreamReader(filename))) - { - csv.Configuration.RegisterClassMap(); - return csv.GetRecords().ToDictionary(x => x.NativeNHSNumber, x => x.ProviderNHSNumber); - } + using var reader = new StreamReader(filename); + using var csv = new CsvReader(reader, System.Globalization.CultureInfo.InvariantCulture); + csv.Context.RegisterClassMap(); + return csv.GetRecords().ToDictionary(x => x.NativeNHSNumber, x => x.ProviderNHSNumber); } } } diff --git a/GPConnect.Provider.AcceptanceTests/Importers/ODSCodeMapConverter.cs b/GPConnect.Provider.AcceptanceTests/Importers/ODSCodeMapConverter.cs index c3230d0a..477a9f0f 100644 --- a/GPConnect.Provider.AcceptanceTests/Importers/ODSCodeMapConverter.cs +++ b/GPConnect.Provider.AcceptanceTests/Importers/ODSCodeMapConverter.cs @@ -4,7 +4,7 @@ namespace GPConnect.Provider.AcceptanceTests.Importers { // ReSharper disable once ClassNeverInstantiated.Global - internal sealed class ODSCodeMapConverter : CsvClassMap + internal sealed class ODSCodeMapConverter : ClassMap { public ODSCodeMapConverter() { diff --git a/GPConnect.Provider.AcceptanceTests/Importers/ODSCodeMapImporter.cs b/GPConnect.Provider.AcceptanceTests/Importers/ODSCodeMapImporter.cs index 35c3a612..7b6d1ff9 100644 --- a/GPConnect.Provider.AcceptanceTests/Importers/ODSCodeMapImporter.cs +++ b/GPConnect.Provider.AcceptanceTests/Importers/ODSCodeMapImporter.cs @@ -10,9 +10,10 @@ public static class ODSCodeMapImporter { public static Dictionary LoadCsv(string filename) { - using (var csv = new CsvReader(new StreamReader(filename))) + using var reader = new StreamReader(filename); + using var csv = new CsvReader(reader, System.Globalization.CultureInfo.InvariantCulture); { - csv.Configuration.RegisterClassMap(); + csv.Context.RegisterClassMap(); return csv.GetRecords().ToDictionary(x => x.NativeODSCode, x => x.ProviderODSCode); } } diff --git a/GPConnect.Provider.AcceptanceTests/Importers/PDSImporter.cs b/GPConnect.Provider.AcceptanceTests/Importers/PDSImporter.cs index e62a0385..fd84a21b 100644 --- a/GPConnect.Provider.AcceptanceTests/Importers/PDSImporter.cs +++ b/GPConnect.Provider.AcceptanceTests/Importers/PDSImporter.cs @@ -10,9 +10,10 @@ public static class PDSImporter { public static List LoadCsv(string filename) { - using (var csv = new CsvReader(new StreamReader(filename))) + using var reader = new StreamReader(filename); + using var csv = new CsvReader(reader, System.Globalization.CultureInfo.InvariantCulture); { - csv.Configuration.RegisterClassMap(); + csv.Context.RegisterClassMap(); return csv.GetRecords().ToList(); } } diff --git a/GPConnect.Provider.AcceptanceTests/Importers/PDSMap.cs b/GPConnect.Provider.AcceptanceTests/Importers/PDSMap.cs index 87097119..bb7eba99 100644 --- a/GPConnect.Provider.AcceptanceTests/Importers/PDSMap.cs +++ b/GPConnect.Provider.AcceptanceTests/Importers/PDSMap.cs @@ -4,7 +4,7 @@ namespace GPConnect.Provider.AcceptanceTests.Importers { // ReSharper disable once ClassNeverInstantiated.Global - internal sealed class PDSMap : CsvClassMap + internal sealed class PDSMap : ClassMap { public PDSMap() { diff --git a/GPConnect.Provider.AcceptanceTests/Importers/PractitionerCodeMapConverter.cs b/GPConnect.Provider.AcceptanceTests/Importers/PractitionerCodeMapConverter.cs index 542e176e..41a55582 100644 --- a/GPConnect.Provider.AcceptanceTests/Importers/PractitionerCodeMapConverter.cs +++ b/GPConnect.Provider.AcceptanceTests/Importers/PractitionerCodeMapConverter.cs @@ -4,7 +4,7 @@ namespace GPConnect.Provider.AcceptanceTests.Importers { // ReSharper disable once ClassNeverInstantiated.Global - internal sealed class PractitionerCodeMapConverter : CsvClassMap + internal sealed class PractitionerCodeMapConverter : ClassMap { public PractitionerCodeMapConverter() { diff --git a/GPConnect.Provider.AcceptanceTests/Importers/PractitionerCodeMapImporter.cs b/GPConnect.Provider.AcceptanceTests/Importers/PractitionerCodeMapImporter.cs index 66cf91fc..7b054d5a 100644 --- a/GPConnect.Provider.AcceptanceTests/Importers/PractitionerCodeMapImporter.cs +++ b/GPConnect.Provider.AcceptanceTests/Importers/PractitionerCodeMapImporter.cs @@ -10,9 +10,10 @@ public static class PractitionerCodeMapImporter { public static Dictionary LoadCsv(string filename) { - using (var csv = new CsvReader(new StreamReader(filename))) + using var reader = new StreamReader(filename); + using var csv = new CsvReader(reader, System.Globalization.CultureInfo.InvariantCulture); { - csv.Configuration.RegisterClassMap(); + csv.Context.RegisterClassMap(); return csv.GetRecords().ToDictionary(x => x.NativePractitionerCode, x => x.ProviderPractitionerCode); } } diff --git a/GPConnect.Provider.AcceptanceTests/Importers/RegisterPatientsImporter.cs b/GPConnect.Provider.AcceptanceTests/Importers/RegisterPatientsImporter.cs index bae47416..965ea058 100644 --- a/GPConnect.Provider.AcceptanceTests/Importers/RegisterPatientsImporter.cs +++ b/GPConnect.Provider.AcceptanceTests/Importers/RegisterPatientsImporter.cs @@ -11,16 +11,15 @@ public static class RegisterPatientsImporter { public static List LoadCsv(string filename) { - using (var csv = new CsvReader(new StreamReader(filename))) - { - csv.Configuration.RegisterClassMap(); - return csv.GetRecords().ToList(); - } + using var reader = new StreamReader(filename); + using var csv = new CsvReader(reader, new CsvConfiguration(System.Globalization.CultureInfo.InvariantCulture)); + csv.Context.RegisterClassMap(); + return csv.GetRecords().ToList(); } } // ReSharper disable once ClassNeverInstantiated.Global - internal sealed class RegisterPatientConverter : CsvClassMap + internal sealed class RegisterPatientConverter : ClassMap { public RegisterPatientConverter() { @@ -29,7 +28,7 @@ public RegisterPatientConverter() Map(p => p.NAME_GIVEN).Name("NAME_GIVEN"); Map(p => p.GENDER).Name("GENDER"); Map(p => p.DOB).Name("DOB"); - Map(p => p.IsRegistered).Ignore(true); + Map(p => p.IsRegistered).Ignore(); } } } diff --git a/GPConnect.Provider.AcceptanceTests/JWT.feature.cs b/GPConnect.Provider.AcceptanceTests/JWT.feature.cs index 2bedd3cc..1dcfffc7 100644 --- a/GPConnect.Provider.AcceptanceTests/JWT.feature.cs +++ b/GPConnect.Provider.AcceptanceTests/JWT.feature.cs @@ -1,8 +1,8 @@ -// ------------------------------------------------------------------------------ +// ------------------------------------------------------------------------------ // -// This code was generated by SpecFlow (http://www.specflow.org/). -// SpecFlow Version:3.0.0.0 -// SpecFlow Generator Version:3.0.0.0 +// This code was generated by SpecFlow (https://www.specflow.org/). +// SpecFlow Version:3.9.0.0 +// SpecFlow Generator Version:3.9.0.0 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. @@ -13,9 +13,11 @@ namespace GPConnect.Provider.AcceptanceTests { using TechTalk.SpecFlow; + using System; + using System.Linq; - [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "3.0.0.0")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "3.9.0.0")] [System.Runtime.CompilerServices.CompilerGeneratedAttribute()] [NUnit.Framework.TestFixtureAttribute()] [NUnit.Framework.DescriptionAttribute("JWT")] @@ -26,6 +28,10 @@ public partial class JWTFeature private TechTalk.SpecFlow.ITestRunner testRunner; + private static string[] featureTags = new string[] { + "jwt", + "1.5.0-Full-Pack"}; + #line 1 "JWT.feature" #line hidden @@ -33,9 +39,7 @@ public partial class JWTFeature public virtual void FeatureSetup() { testRunner = TechTalk.SpecFlow.TestRunnerManager.GetTestRunner(); - TechTalk.SpecFlow.FeatureInfo featureInfo = new TechTalk.SpecFlow.FeatureInfo(new System.Globalization.CultureInfo("en-US"), "JWT", null, ProgrammingLanguage.CSharp, new string[] { - "jwt", - "1.5.0-Full-Pack"}); + TechTalk.SpecFlow.FeatureInfo featureInfo = new TechTalk.SpecFlow.FeatureInfo(new System.Globalization.CultureInfo("en-US"), "", "JWT", null, ProgrammingLanguage.CSharp, featureTags); testRunner.OnFeatureStart(featureInfo); } @@ -47,504 +51,807 @@ public virtual void FeatureTearDown() } [NUnit.Framework.SetUpAttribute()] - public virtual void TestInitialize() + public void TestInitialize() { } [NUnit.Framework.TearDownAttribute()] - public virtual void ScenarioTearDown() + public void TestTearDown() { testRunner.OnScenarioEnd(); } - public virtual void ScenarioInitialize(TechTalk.SpecFlow.ScenarioInfo scenarioInfo) + public void ScenarioInitialize(TechTalk.SpecFlow.ScenarioInfo scenarioInfo) { testRunner.OnScenarioInitialize(scenarioInfo); testRunner.ScenarioContext.ScenarioContainer.RegisterInstanceAs(NUnit.Framework.TestContext.CurrentContext); } - public virtual void ScenarioStart() + public void ScenarioStart() { testRunner.OnScenarioStart(); } - public virtual void ScenarioCleanup() + public void ScenarioCleanup() { testRunner.CollectScenarioErrors(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("JWT - Bearer Token - not base 64 encoded")] - public virtual void JWT_BearerToken_NotBase64Encoded() + public void JWT_BearerToken_NotBase64Encoded() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("JWT - Bearer Token - not base 64 encoded", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("JWT - Bearer Token - not base 64 encoded", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 4 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 5 testRunner.Given("I configure the default \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 6 testRunner.When("I make the \"MetadataRead\" request with an unencoded JWT Bearer Token", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 7 testRunner.Then("the response status code should be \"400\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 8 testRunner.And("the response should be a OperationOutcome resource", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("JWT - Requesting System URL - missing")] - public virtual void JWT_RequestingSystemURL_Missing() + public void JWT_RequestingSystemURL_Missing() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("JWT - Requesting System URL - missing", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("JWT - Requesting System URL - missing", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 10 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 11 testRunner.Given("I configure the default \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 12 testRunner.And("I set the JWT with missing Requesting System URL", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 13 testRunner.When("I make the \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 14 testRunner.Then("the response status code should be \"400\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 15 testRunner.And("the response should be a OperationOutcome resource", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("JWT - Expiry Time - missing")] - public virtual void JWT_ExpiryTime_Missing() + public void JWT_ExpiryTime_Missing() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("JWT - Expiry Time - missing", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("JWT - Expiry Time - missing", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 17 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 18 testRunner.Given("I configure the default \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 19 testRunner.And("I set the JWT with missing Expiry Time", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 20 testRunner.When("I make the \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 21 testRunner.Then("the response status code should be \"400\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 22 testRunner.And("the response should be a OperationOutcome resource", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("JWT - Expiry Time - greater than 300 seconds")] - public virtual void JWT_ExpiryTime_GreaterThan300Seconds() + public void JWT_ExpiryTime_GreaterThan300Seconds() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("JWT - Expiry Time - greater than 300 seconds", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("JWT - Expiry Time - greater than 300 seconds", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 24 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 25 testRunner.Given("I configure the default \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 26 testRunner.And("I set the JWT Expiry Time to \"301\" seconds after Creation Time", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 27 testRunner.When("I make the \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 28 testRunner.Then("the response status code should be \"400\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 29 testRunner.And("the response should be a OperationOutcome resource", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("JWT - Expiry Time - less than 300 seconds")] - public virtual void JWT_ExpiryTime_LessThan300Seconds() + public void JWT_ExpiryTime_LessThan300Seconds() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("JWT - Expiry Time - less than 300 seconds", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("JWT - Expiry Time - less than 300 seconds", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 31 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 32 testRunner.Given("I configure the default \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 33 testRunner.And("I set the JWT Expiry Time to \"299\" seconds after Creation Time", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 34 testRunner.When("I make the \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 35 testRunner.Then("the response status code should be \"400\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 36 testRunner.And("the response should be a OperationOutcome resource", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("JWT - Expiry Time - before Creation Time")] - public virtual void JWT_ExpiryTime_BeforeCreationTime() + public void JWT_ExpiryTime_BeforeCreationTime() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("JWT - Expiry Time - before Creation Time", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("JWT - Expiry Time - before Creation Time", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 38 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 39 testRunner.Given("I configure the default \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 40 testRunner.And("I set the JWT Expiry Time to \"-1\" seconds after Creation Time", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 41 testRunner.When("I make the \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 42 testRunner.Then("the response status code should be \"400\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 43 testRunner.And("the response should be a OperationOutcome resource", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("JWT - Creation Time - missing")] - public virtual void JWT_CreationTime_Missing() + public void JWT_CreationTime_Missing() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("JWT - Creation Time - missing", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("JWT - Creation Time - missing", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 45 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 46 testRunner.Given("I configure the default \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 47 testRunner.And("I set the JWT with missing Creation Time", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 48 testRunner.When("I make the \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 49 testRunner.Then("the response status code should be \"400\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 50 testRunner.And("the response should be a OperationOutcome resource", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("JWT - Creation Time - in the future")] - public virtual void JWT_CreationTime_InTheFuture() + public void JWT_CreationTime_InTheFuture() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("JWT - Creation Time - in the future", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("JWT - Creation Time - in the future", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 54 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 55 testRunner.Given("I configure the default \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 56 testRunner.And("I set the JWT Creation Time to \"200\" seconds in the future", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 57 testRunner.When("I make the \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 58 testRunner.Then("the response status code should be \"200\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("JWT - Reason For Request - missing")] - public virtual void JWT_ReasonForRequest_Missing() + public void JWT_ReasonForRequest_Missing() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("JWT - Reason For Request - missing", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("JWT - Reason For Request - missing", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 60 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 61 testRunner.Given("I configure the default \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 62 testRunner.And("I set the JWT with missing Reason For Request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 63 testRunner.When("I make the \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 64 testRunner.Then("the response status code should be \"400\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 65 testRunner.And("the response should be a OperationOutcome resource", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("JWT - Authorization Server Token URL - missing")] - public virtual void JWT_AuthorizationServerTokenURL_Missing() + public void JWT_AuthorizationServerTokenURL_Missing() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("JWT - Authorization Server Token URL - missing", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("JWT - Authorization Server Token URL - missing", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 67 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 68 testRunner.Given("I configure the default \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 69 testRunner.And("I set the JWT with missing Authorization Server Token URL", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 70 testRunner.When("I make the \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 71 testRunner.Then("the response status code should be \"400\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 72 testRunner.And("the response should be a OperationOutcome resource", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("JWT - Requesting Device - missing")] - public virtual void JWT_RequestingDevice_Missing() + public void JWT_RequestingDevice_Missing() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("JWT - Requesting Device - missing", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("JWT - Requesting Device - missing", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 74 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 75 testRunner.Given("I configure the default \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 76 testRunner.And("I set the JWT with missing Requesting Device", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 77 testRunner.When("I make the \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 78 testRunner.Then("the response status code should be \"400\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 79 testRunner.And("the response should be a OperationOutcome resource", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("JWT - Requesting Device - invalid")] - public virtual void JWT_RequestingDevice_Invalid() + public void JWT_RequestingDevice_Invalid() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("JWT - Requesting Device - invalid", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("JWT - Requesting Device - invalid", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 81 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 82 testRunner.Given("I configure the default \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 83 testRunner.And("I set the JWT Requesting Device as an invalid Device", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 84 testRunner.When("I make the \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 85 testRunner.Then("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 86 testRunner.And("the response should be a OperationOutcome resource", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("JWT - Requesting Device - Resource Type - invalid")] - public virtual void JWT_RequestingDevice_ResourceType_Invalid() + public void JWT_RequestingDevice_ResourceType_Invalid() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("JWT - Requesting Device - Resource Type - invalid", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("JWT - Requesting Device - Resource Type - invalid", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 88 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 89 testRunner.Given("I configure the default \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 90 testRunner.And("I set the JWT Requesting Device Resource Type as an invalid Resource Type", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 91 testRunner.When("I make the \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 92 testRunner.Then("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 93 testRunner.And("the response should be a OperationOutcome resource", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("JWT - Requesting Identity - missing")] - public virtual void JWT_RequestingIdentity_Missing() + public void JWT_RequestingIdentity_Missing() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("JWT - Requesting Identity - missing", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("JWT - Requesting Identity - missing", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 95 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 96 testRunner.Given("I configure the default \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 97 testRunner.And("I set the JWT with missing Requesting Identity", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 98 testRunner.When("I make the \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 99 testRunner.Then("the response status code should be \"400\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 100 testRunner.And("the response should be a OperationOutcome resource", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("JWT - Requesting Identity - UNK value")] - public virtual void JWT_RequestingIdentity_UNKValue() + public void JWT_RequestingIdentity_UNKValue() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("JWT - Requesting Identity - UNK value", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("JWT - Requesting Identity - UNK value", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 103 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 104 testRunner.Given("I configure the default \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 105 testRunner.And("I set the JWT Requesting Identity as UNK Practitioner", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 106 testRunner.When("I make the \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 107 testRunner.Then("the response status code should be \"200\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("JWT - Missing sdsRoleProfile and guid")] - public virtual void JWT_MissingSdsRoleProfileAndGuid() + public void JWT_MissingSdsRoleProfileAndGuid() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("JWT - Missing sdsRoleProfile and guid", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("JWT - Missing sdsRoleProfile and guid", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 110 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 111 testRunner.Given("I configure the default \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 112 testRunner.And("I set the JWT missing sdsRoleProfile and guid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 113 testRunner.When("I make the \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 114 testRunner.Then("the response status code should be \"200\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("JWT - Requesting Identity - Resource Type - invalid")] - public virtual void JWT_RequestingIdentity_ResourceType_Invalid() + public void JWT_RequestingIdentity_ResourceType_Invalid() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("JWT - Requesting Identity - Resource Type - invalid", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("JWT - Requesting Identity - Resource Type - invalid", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 116 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 117 testRunner.Given("I configure the default \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 118 testRunner.And("I set the JWT Requesting Identity Resource Type as an invalid Resource Type", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 119 testRunner.When("I make the \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 120 testRunner.Then("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 121 testRunner.And("the response should be a OperationOutcome resource", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("JWT - Requested Scope - missing")] - public virtual void JWT_RequestedScope_Missing() + public void JWT_RequestedScope_Missing() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("JWT - Requested Scope - missing", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("JWT - Requested Scope - missing", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 123 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 124 testRunner.Given("I configure the default \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 125 testRunner.And("I set the JWT with missing Requested Scope", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 126 testRunner.When("I make the \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 127 testRunner.Then("the response status code should be \"400\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 128 testRunner.And("the response should be a OperationOutcome resource", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("JWT - Requested Scope - Metadata - incorrect")] - public virtual void JWT_RequestedScope_Metadata_Incorrect() + public void JWT_RequestedScope_Metadata_Incorrect() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("JWT - Requested Scope - Metadata - incorrect", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("JWT - Requested Scope - Metadata - incorrect", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 130 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 131 testRunner.Given("I configure the default \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 132 testRunner.And("I set the JWT Requested Scope to be incorrect", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 133 testRunner.When("I make the \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 134 testRunner.Then("the response status code should be \"400\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 135 testRunner.And("the response should be a OperationOutcome resource", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("JWT - Requesting Organization - Backward Compatability for RC5")] - public virtual void JWT_RequestingOrganization_BackwardCompatabilityForRC5() + public void JWT_RequestingOrganization_BackwardCompatabilityForRC5() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("JWT - Requesting Organization - Backward Compatability for RC5", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("JWT - Requesting Organization - Backward Compatability for RC5", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 137 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 138 testRunner.Given("I configure the default \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 139 testRunner.And("I set the JWT Requesting Organization Identifier system to match the rc5 specific" + - "ation", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ation", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 140 testRunner.When("I make the \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 141 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("JWT - Everything normal test")] - public virtual void JWT_EverythingNormalTest() + public void JWT_EverythingNormalTest() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("JWT - Everything normal test", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("JWT - Everything normal test", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 146 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 147 testRunner.Given("I configure the default \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 148 testRunner.And("I set the JWT Creation Time to \"0\" seconds in the future", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 149 testRunner.And("I set the JWT Expiry Time to \"300\" seconds after Creation Time", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 150 testRunner.When("I make the \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 151 testRunner.Then("the response status code should be \"200\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("JWT - Consumer clock is slow 600s")] - public virtual void JWT_ConsumerClockIsSlow600S() + public void JWT_ConsumerClockIsSlow600S() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("JWT - Consumer clock is slow 600s", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("JWT - Consumer clock is slow 600s", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 154 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 155 testRunner.Given("I configure the default \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 156 testRunner.And("I set the JWT Creation Time to \"-600\" seconds in the past", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 157 testRunner.And("I set the JWT Expiry Time to \"300\" seconds after Creation Time", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 158 testRunner.When("I make the \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 159 testRunner.Then("the response status code should be \"400\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden + } this.ScenarioCleanup(); } } diff --git a/GPConnect.Provider.AcceptanceTests/LocationRead.feature.cs b/GPConnect.Provider.AcceptanceTests/LocationRead.feature.cs index b78a8e17..0cfc74b8 100644 --- a/GPConnect.Provider.AcceptanceTests/LocationRead.feature.cs +++ b/GPConnect.Provider.AcceptanceTests/LocationRead.feature.cs @@ -1,8 +1,8 @@ -// ------------------------------------------------------------------------------ +// ------------------------------------------------------------------------------ // -// This code was generated by SpecFlow (http://www.specflow.org/). -// SpecFlow Version:3.0.0.0 -// SpecFlow Generator Version:3.0.0.0 +// This code was generated by SpecFlow (https://www.specflow.org/). +// SpecFlow Version:3.9.0.0 +// SpecFlow Generator Version:3.9.0.0 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. @@ -13,9 +13,11 @@ namespace GPConnect.Provider.AcceptanceTests { using TechTalk.SpecFlow; + using System; + using System.Linq; - [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "3.0.0.0")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "3.9.0.0")] [System.Runtime.CompilerServices.CompilerGeneratedAttribute()] [NUnit.Framework.TestFixtureAttribute()] [NUnit.Framework.DescriptionAttribute("LocationRead")] @@ -26,6 +28,10 @@ public partial class LocationReadFeature private TechTalk.SpecFlow.ITestRunner testRunner; + private static string[] featureTags = new string[] { + "location", + "1.5.0-Full-Pack"}; + #line 1 "LocationRead.feature" #line hidden @@ -33,9 +39,7 @@ public partial class LocationReadFeature public virtual void FeatureSetup() { testRunner = TechTalk.SpecFlow.TestRunnerManager.GetTestRunner(); - TechTalk.SpecFlow.FeatureInfo featureInfo = new TechTalk.SpecFlow.FeatureInfo(new System.Globalization.CultureInfo("en-US"), "LocationRead", null, ProgrammingLanguage.CSharp, new string[] { - "location", - "1.5.0-Full-Pack"}); + TechTalk.SpecFlow.FeatureInfo featureInfo = new TechTalk.SpecFlow.FeatureInfo(new System.Globalization.CultureInfo("en-US"), "", "LocationRead", null, ProgrammingLanguage.CSharp, featureTags); testRunner.OnFeatureStart(featureInfo); } @@ -47,28 +51,28 @@ public virtual void FeatureTearDown() } [NUnit.Framework.SetUpAttribute()] - public virtual void TestInitialize() + public void TestInitialize() { } [NUnit.Framework.TearDownAttribute()] - public virtual void ScenarioTearDown() + public void TestTearDown() { testRunner.OnScenarioEnd(); } - public virtual void ScenarioInitialize(TechTalk.SpecFlow.ScenarioInfo scenarioInfo) + public void ScenarioInitialize(TechTalk.SpecFlow.ScenarioInfo scenarioInfo) { testRunner.OnScenarioInitialize(scenarioInfo); testRunner.ScenarioContext.ScenarioContainer.RegisterInstanceAs(NUnit.Framework.TestContext.CurrentContext); } - public virtual void ScenarioStart() + public void ScenarioStart() { testRunner.OnScenarioStart(); } - public virtual void ScenarioCleanup() + public void ScenarioCleanup() { testRunner.CollectScenarioErrors(); } @@ -79,26 +83,42 @@ public virtual void ScenarioCleanup() [NUnit.Framework.TestCaseAttribute("SIT1", null)] [NUnit.Framework.TestCaseAttribute("SIT2", null)] [NUnit.Framework.TestCaseAttribute("SIT3", null)] - public virtual void LocationReadSuccessfulRequestValidateTheResponseContainsLogicalIdentifier(string location, string[] exampleTags) + public void LocationReadSuccessfulRequestValidateTheResponseContainsLogicalIdentifier(string location, string[] exampleTags) { + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("Location", location); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Location read successful request validate the response contains logical identifie" + - "r", null, exampleTags); + "r", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 4 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 5 testRunner.Given(string.Format("I set the Get Request Id to the Logical Identifer for Location \"{0}\"", location), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 6 testRunner.Given("I configure the default \"LocationRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 7 testRunner.When("I make the \"LocationRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 8 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 9 testRunner.And("the Response Resource should be a Location", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 10 testRunner.And("the Location Id should match the GET request Id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -110,21 +130,35 @@ public virtual void LocationReadSuccessfulRequestValidateTheResponseContainsLogi [NUnit.Framework.TestCaseAttribute("11dd4.45-23", null)] [NUnit.Framework.TestCaseAttribute("40-95-3", null)] [NUnit.Framework.TestCaseAttribute("a-tm.mss..s", null)] - public virtual void LocationReadWithValidIdentifierWhichDoesNotExistOnProvidersSystem(string logicalId, string[] exampleTags) + public void LocationReadWithValidIdentifierWhichDoesNotExistOnProvidersSystem(string logicalId, string[] exampleTags) { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Location Read with valid identifier which does not exist on providers system", null, exampleTags); + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("LogicalId", logicalId); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Location Read with valid identifier which does not exist on providers system", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 17 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 18 testRunner.Given("I configure the default \"LocationRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 19 testRunner.And(string.Format("I set the Read Operation logical identifier used in the request to \"{0}\"", logicalId), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 20 testRunner.When("I make the \"LocationRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 21 testRunner.Then("the response status code should be \"404\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden + } this.ScenarioCleanup(); } @@ -132,31 +166,51 @@ public virtual void LocationReadWithValidIdentifierWhichDoesNotExistOnProvidersS [NUnit.Framework.DescriptionAttribute("Location Read using the _format parameter to request response format")] [NUnit.Framework.TestCaseAttribute("application/fhir+json", "JSON", null)] [NUnit.Framework.TestCaseAttribute("application/fhir+xml", "XML", null)] - public virtual void LocationReadUsingThe_FormatParameterToRequestResponseFormat(string format, string responseFormat, string[] exampleTags) + public void LocationReadUsingThe_FormatParameterToRequestResponseFormat(string format, string responseFormat, string[] exampleTags) { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Location Read using the _format parameter to request response format", null, exampleTags); + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("Format", format); + argumentsOfScenario.Add("ResponseFormat", responseFormat); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Location Read using the _format parameter to request response format", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 31 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 32 testRunner.Given("I set the Get Request Id to the Logical Identifer for Location \"SIT1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 33 testRunner.Given("I configure the default \"LocationRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 34 testRunner.And(string.Format("I add a Format parameter with the Value \"{0}\"", format), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 35 testRunner.When("I make the \"LocationRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 36 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 37 testRunner.And(string.Format("the response should be the format FHIR {0}", responseFormat), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 38 testRunner.And("the Response Resource should be a Location", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 39 testRunner.And("the Location Id should equal the Request Id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 40 testRunner.And("the Location Identifier should be valid for Value \"SIT1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -167,55 +221,90 @@ public virtual void LocationReadUsingThe_FormatParameterToRequestResponseFormat( [NUnit.Framework.TestCaseAttribute("application/fhir+json", "application/fhir+xml", "XML", null)] [NUnit.Framework.TestCaseAttribute("application/fhir+xml", "application/fhir+json", "JSON", null)] [NUnit.Framework.TestCaseAttribute("application/fhir+xml", "application/fhir+xml", "XML", null)] - public virtual void LocationReadSendingTheAcceptHeaderAnd_FormatParameterToRequestResponseFormat(string header, string format, string responseFormat, string[] exampleTags) + public void LocationReadSendingTheAcceptHeaderAnd_FormatParameterToRequestResponseFormat(string header, string format, string responseFormat, string[] exampleTags) { + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("Header", header); + argumentsOfScenario.Add("Format", format); + argumentsOfScenario.Add("ResponseFormat", responseFormat); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Location Read sending the Accept header and _format parameter to request response" + - " format", null, exampleTags); + " format", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 46 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 47 testRunner.Given("I set the Get Request Id to the Logical Identifer for Location \"SIT3\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 48 testRunner.Given("I configure the default \"LocationRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 49 testRunner.And(string.Format("I set the Accept header to \"{0}\"", header), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 50 testRunner.And(string.Format("I add a Format parameter with the Value \"{0}\"", format), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 51 testRunner.When("I make the \"LocationRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 52 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 53 testRunner.And(string.Format("the response should be the format FHIR {0}", responseFormat), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 54 testRunner.And("the Response Resource should be a Location", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 55 testRunner.And("the Location Id should equal the Request Id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 56 testRunner.And("the Location Identifier should be valid for Value \"SIT3\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("CapabilityStatement profile supports the Location read operation")] - public virtual void CapabilityStatementProfileSupportsTheLocationReadOperation() + public void CapabilityStatementProfileSupportsTheLocationReadOperation() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("CapabilityStatement profile supports the Location read operation", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("CapabilityStatement profile supports the Location read operation", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 64 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 65 testRunner.Given("I configure the default \"Metadataread\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 66 testRunner.When("I make the \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 67 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 68 testRunner.And("the CapabilityStatement REST Resources should contain the \"Location\" Resource wit" + - "h the \"Read\" Interaction", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "h the \"Read\" Interaction", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -223,120 +312,193 @@ public virtual void CapabilityStatementProfileSupportsTheLocationReadOperation() [NUnit.Framework.DescriptionAttribute("Location read resource conforms to GP-Connect specification")] [NUnit.Framework.TestCaseAttribute("application/fhir+json", "JSON", null)] [NUnit.Framework.TestCaseAttribute("application/fhir+xml", "XML", null)] - public virtual void LocationReadResourceConformsToGP_ConnectSpecification(string header, string bodyFormat, string[] exampleTags) + public void LocationReadResourceConformsToGP_ConnectSpecification(string header, string bodyFormat, string[] exampleTags) { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Location read resource conforms to GP-Connect specification", null, exampleTags); + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("Header", header); + argumentsOfScenario.Add("BodyFormat", bodyFormat); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Location read resource conforms to GP-Connect specification", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 70 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 71 testRunner.Given("I set the Get Request Id to the Logical Identifer for Location \"SIT2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 72 testRunner.Given("I configure the default \"LocationRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 73 testRunner.And(string.Format("I set the Accept header to \"{0}\"", header), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 74 testRunner.When("I make the \"LocationRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 75 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 76 testRunner.And(string.Format("the response body should be FHIR {0}", bodyFormat), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 77 testRunner.And("the Response Resource should be a Location", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 78 testRunner.And("the Location Id should equal the Request Id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 79 testRunner.And("the Location Identifier should be valid for Value \"SIT2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 80 testRunner.And("the Location Metadata should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 82 testRunner.And("the Location Type should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 83 testRunner.And("the Location Telecom should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 85 testRunner.And("the Location Physical Type should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 86 testRunner.And("the Location Managing Organization should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 87 testRunner.And("the Location PartOf Location should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 90 testRunner.And("the Location Not In Use should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Location read should contain ETag")] - public virtual void LocationReadShouldContainETag() + public void LocationReadShouldContainETag() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Location read should contain ETag", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Location read should contain ETag", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 96 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 97 testRunner.Given("I set the Get Request Id to the Logical Identifer for Location \"SIT1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 98 testRunner.Given("I configure the default \"LocationRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 99 testRunner.When("I make the \"LocationRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 100 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 101 testRunner.And("the Response should contain the ETag header matching the Resource Version Id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Location read valid response check caching headers exist")] - public virtual void LocationReadValidResponseCheckCachingHeadersExist() + public void LocationReadValidResponseCheckCachingHeadersExist() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Location read valid response check caching headers exist", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Location read valid response check caching headers exist", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 103 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 104 testRunner.Given("I set the Get Request Id to the Logical Identifer for Location \"SIT1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 105 testRunner.Given("I configure the default \"LocationRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 106 testRunner.When("I make the \"LocationRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 107 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 108 testRunner.And("the Response Resource should be a Location", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 109 testRunner.And("the Location Id should match the GET request Id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 110 testRunner.And("the required cacheing headers should be present in the response", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Location read invalid response check caching headers exist")] - public virtual void LocationReadInvalidResponseCheckCachingHeadersExist() + public void LocationReadInvalidResponseCheckCachingHeadersExist() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Location read invalid response check caching headers exist", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Location read invalid response check caching headers exist", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 112 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 113 testRunner.Given("I set the Get Request Id to the Logical Identifer for Location \"SIT1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 114 testRunner.Given("I configure the default \"LocationRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 115 testRunner.And("I set the Interaction Id header to \"urn:nhs:names:services:gpconnect:fhir:rest:re" + - "ad:practitioner-1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ad:practitioner-1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 116 testRunner.When("I make the \"LocationRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 117 testRunner.Then("the response status code should be \"400\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 118 testRunner.And("the response should be a OperationOutcome resource with error code \"BAD_REQUEST\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 119 testRunner.And("the required cacheing headers should be present in the response", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } } diff --git a/GPConnect.Provider.AcceptanceTests/OrganizationRead.feature.cs b/GPConnect.Provider.AcceptanceTests/OrganizationRead.feature.cs index 3dc98f58..ac9f932a 100644 --- a/GPConnect.Provider.AcceptanceTests/OrganizationRead.feature.cs +++ b/GPConnect.Provider.AcceptanceTests/OrganizationRead.feature.cs @@ -1,8 +1,8 @@ -// ------------------------------------------------------------------------------ +// ------------------------------------------------------------------------------ // -// This code was generated by SpecFlow (http://www.specflow.org/). -// SpecFlow Version:3.0.0.0 -// SpecFlow Generator Version:3.0.0.0 +// This code was generated by SpecFlow (https://www.specflow.org/). +// SpecFlow Version:3.9.0.0 +// SpecFlow Generator Version:3.9.0.0 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. @@ -13,9 +13,11 @@ namespace GPConnect.Provider.AcceptanceTests { using TechTalk.SpecFlow; + using System; + using System.Linq; - [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "3.0.0.0")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "3.9.0.0")] [System.Runtime.CompilerServices.CompilerGeneratedAttribute()] [NUnit.Framework.TestFixtureAttribute()] [NUnit.Framework.DescriptionAttribute("OrganizationRead")] @@ -26,6 +28,10 @@ public partial class OrganizationReadFeature private TechTalk.SpecFlow.ITestRunner testRunner; + private static string[] featureTags = new string[] { + "organization", + "1.5.0-Full-Pack"}; + #line 1 "OrganizationRead.feature" #line hidden @@ -33,9 +39,7 @@ public partial class OrganizationReadFeature public virtual void FeatureSetup() { testRunner = TechTalk.SpecFlow.TestRunnerManager.GetTestRunner(); - TechTalk.SpecFlow.FeatureInfo featureInfo = new TechTalk.SpecFlow.FeatureInfo(new System.Globalization.CultureInfo("en-US"), "OrganizationRead", null, ProgrammingLanguage.CSharp, new string[] { - "organization", - "1.5.0-Full-Pack"}); + TechTalk.SpecFlow.FeatureInfo featureInfo = new TechTalk.SpecFlow.FeatureInfo(new System.Globalization.CultureInfo("en-US"), "", "OrganizationRead", null, ProgrammingLanguage.CSharp, featureTags); testRunner.OnFeatureStart(featureInfo); } @@ -47,75 +51,101 @@ public virtual void FeatureTearDown() } [NUnit.Framework.SetUpAttribute()] - public virtual void TestInitialize() + public void TestInitialize() { } [NUnit.Framework.TearDownAttribute()] - public virtual void ScenarioTearDown() + public void TestTearDown() { testRunner.OnScenarioEnd(); } - public virtual void ScenarioInitialize(TechTalk.SpecFlow.ScenarioInfo scenarioInfo) + public void ScenarioInitialize(TechTalk.SpecFlow.ScenarioInfo scenarioInfo) { testRunner.OnScenarioInitialize(scenarioInfo); testRunner.ScenarioContext.ScenarioContainer.RegisterInstanceAs(NUnit.Framework.TestContext.CurrentContext); } - public virtual void ScenarioStart() + public void ScenarioStart() { testRunner.OnScenarioStart(); } - public virtual void ScenarioCleanup() + public void ScenarioCleanup() { testRunner.CollectScenarioErrors(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Organization Read successful request validate all of response")] - public virtual void OrganizationReadSuccessfulRequestValidateAllOfResponse() + public void OrganizationReadSuccessfulRequestValidateAllOfResponse() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Organization Read successful request validate all of response", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Organization Read successful request validate all of response", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 4 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 5 testRunner.Given("I get the Organization for Organization Code \"ORG1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 6 testRunner.And("I store the Organization", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 7 testRunner.Given("I configure the default \"OrganizationRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 8 testRunner.When("I make the \"OrganizationRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 9 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 10 testRunner.And("the Response should contain the ETag header matching the Resource Version Id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 11 testRunner.And("the Response Resource should be an Organization", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 12 testRunner.And("the Organization Identifiers should be valid for Organization \"ORG1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 13 testRunner.And("the Organization Id should equal the Request Id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 14 testRunner.And("the Organization Metadata should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 15 testRunner.And("the Organization PartOf Organization should be resolvable", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 16 testRunner.And("the Organization Name should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 17 testRunner.And("the Organization Telecom should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 18 testRunner.And("the Organization Address should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 19 testRunner.And("the Organization Contact should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 20 testRunner.And("the Organization Extensions should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 23 testRunner.And("the Organization Not In Use should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -127,24 +157,39 @@ public virtual void OrganizationReadSuccessfulRequestValidateAllOfResponse() [NUnit.Framework.TestCaseAttribute("1.1445.23", null)] [NUnit.Framework.TestCaseAttribute("40-9223", null)] [NUnit.Framework.TestCaseAttribute("nc-sfem.mks--s", null)] - public virtual void OrganizationReadWithValidIdentifierWhichDoesNotExistOnProvidersSystem(string logicalId, string[] exampleTags) + public void OrganizationReadWithValidIdentifierWhichDoesNotExistOnProvidersSystem(string logicalId, string[] exampleTags) { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Organization Read with valid identifier which does not exist on providers system", null, exampleTags); + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("LogicalId", logicalId); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Organization Read with valid identifier which does not exist on providers system", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 26 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 27 testRunner.Given("I configure the default \"OrganizationRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 28 testRunner.And(string.Format("I set the Read Operation logical identifier used in the request to \"{0}\"", logicalId), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 29 testRunner.When("I make the \"OrganizationRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 30 testRunner.Then("the response status code should be \"404\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 31 testRunner.And("the response should be a OperationOutcome resource with error code \"ORGANISATION_" + - "NOT_FOUND\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "NOT_FOUND\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -152,35 +197,57 @@ public virtual void OrganizationReadWithValidIdentifierWhichDoesNotExistOnProvid [NUnit.Framework.DescriptionAttribute("Organization Read using the _format parameter to request response format")] [NUnit.Framework.TestCaseAttribute("application/fhir+json", "JSON", null)] [NUnit.Framework.TestCaseAttribute("application/fhir+xml", "XML", null)] - public virtual void OrganizationReadUsingThe_FormatParameterToRequestResponseFormat(string parameter, string responseFormat, string[] exampleTags) + public void OrganizationReadUsingThe_FormatParameterToRequestResponseFormat(string parameter, string responseFormat, string[] exampleTags) { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Organization Read using the _format parameter to request response format", null, exampleTags); + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("Parameter", parameter); + argumentsOfScenario.Add("ResponseFormat", responseFormat); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Organization Read using the _format parameter to request response format", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 41 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 42 testRunner.Given("I get the Organization for Organization Code \"ORG1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 43 testRunner.And("I store the Organization", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 44 testRunner.Given("I configure the default \"OrganizationRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 45 testRunner.And(string.Format("I add the parameter \"_format\" with the value \"{0}\"", parameter), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 46 testRunner.When("I make the \"OrganizationRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 47 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 48 testRunner.And(string.Format("the response should be the format FHIR {0}", responseFormat), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 49 testRunner.And("the Response Resource should be an Organization", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 50 testRunner.And("the Organization Identifiers should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 51 testRunner.And("the Organization Id should equal the Request Id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 52 testRunner.And("the Organization Identifiers should be valid for Organization \"ORG1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -188,33 +255,54 @@ public virtual void OrganizationReadUsingThe_FormatParameterToRequestResponseFor [NUnit.Framework.DescriptionAttribute("Organization Read using the Accept header to request response format")] [NUnit.Framework.TestCaseAttribute("application/fhir+json", "JSON", null)] [NUnit.Framework.TestCaseAttribute("application/fhir+xml", "XML", null)] - public virtual void OrganizationReadUsingTheAcceptHeaderToRequestResponseFormat(string header, string responseFormat, string[] exampleTags) + public void OrganizationReadUsingTheAcceptHeaderToRequestResponseFormat(string header, string responseFormat, string[] exampleTags) { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Organization Read using the Accept header to request response format", null, exampleTags); + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("Header", header); + argumentsOfScenario.Add("ResponseFormat", responseFormat); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Organization Read using the Accept header to request response format", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 58 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 59 testRunner.Given("I get the Organization for Organization Code \"ORG1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 60 testRunner.And("I store the Organization", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 61 testRunner.Given("I configure the default \"OrganizationRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 62 testRunner.And(string.Format("I set the Accept header to \"{0}\"", header), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 63 testRunner.When("I make the \"OrganizationRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 64 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 65 testRunner.And(string.Format("the response should be the format FHIR {0}", responseFormat), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 66 testRunner.And("the Response Resource should be an Organization", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 67 testRunner.And("the Organization Id should equal the Request Id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 68 testRunner.And("the Organization Identifiers should be valid for Organization \"ORG1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -225,114 +313,184 @@ public virtual void OrganizationReadUsingTheAcceptHeaderToRequestResponseFormat( [NUnit.Framework.TestCaseAttribute("application/fhir+json", "application/fhir+xml", "XML", null)] [NUnit.Framework.TestCaseAttribute("application/fhir+xml", "application/fhir+json", "JSON", null)] [NUnit.Framework.TestCaseAttribute("application/fhir+xml", "application/fhir+xml", "XML", null)] - public virtual void OrganizationReadSendingTheAcceptHeaderAnd_FormatParameterToRequestResponseFormat(string header, string parameter, string responseFormat, string[] exampleTags) + public void OrganizationReadSendingTheAcceptHeaderAnd_FormatParameterToRequestResponseFormat(string header, string parameter, string responseFormat, string[] exampleTags) { + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("Header", header); + argumentsOfScenario.Add("Parameter", parameter); + argumentsOfScenario.Add("ResponseFormat", responseFormat); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Organization Read sending the Accept header and _format parameter to request resp" + - "onse format", null, exampleTags); + "onse format", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 74 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 75 testRunner.Given("I get the Organization for Organization Code \"ORG1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 76 testRunner.And("I store the Organization", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 77 testRunner.Given("I configure the default \"OrganizationRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 78 testRunner.And(string.Format("I set the Accept header to \"{0}\"", header), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 79 testRunner.And(string.Format("I add the parameter \"_format\" with the value \"{0}\"", parameter), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 80 testRunner.When("I make the \"OrganizationRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 81 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 82 testRunner.And(string.Format("the response should be the format FHIR {0}", responseFormat), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 83 testRunner.And("the Response Resource should be an Organization", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 84 testRunner.And("the Organization Id should equal the Request Id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 85 testRunner.And("the Organization Identifiers should be valid for Organization \"ORG1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("CapabilityStatement profile supports the Organization read operation")] - public virtual void CapabilityStatementProfileSupportsTheOrganizationReadOperation() + public void CapabilityStatementProfileSupportsTheOrganizationReadOperation() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("CapabilityStatement profile supports the Organization read operation", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("CapabilityStatement profile supports the Organization read operation", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 93 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 94 testRunner.Given("I configure the default \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 95 testRunner.When("I make the \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 96 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 97 testRunner.And("the CapabilityStatement REST Resources should contain the \"Organization\" Resource" + - " with the \"Read\" Interaction", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + " with the \"Read\" Interaction", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Organization read valid response check caching headers exist")] - public virtual void OrganizationReadValidResponseCheckCachingHeadersExist() + public void OrganizationReadValidResponseCheckCachingHeadersExist() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Organization read valid response check caching headers exist", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Organization read valid response check caching headers exist", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 99 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 100 testRunner.Given("I get the Organization for Organization Code \"ORG1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 101 testRunner.And("I store the Organization", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 102 testRunner.Given("I configure the default \"OrganizationRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 103 testRunner.When("I make the \"OrganizationRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 104 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 105 testRunner.And("the Response should contain the ETag header matching the Resource Version Id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 106 testRunner.And("the Response Resource should be an Organization", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 107 testRunner.And("the required cacheing headers should be present in the response", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Organization read invalid response check caching headers exist")] - public virtual void OrganizationReadInvalidResponseCheckCachingHeadersExist() + public void OrganizationReadInvalidResponseCheckCachingHeadersExist() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Organization read invalid response check caching headers exist", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Organization read invalid response check caching headers exist", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 109 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 110 testRunner.Given("I get the Organization for Organization Code \"ORG1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 111 testRunner.And("I store the Organization", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 112 testRunner.Given("I configure the default \"OrganizationRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 115 testRunner.And("I set the Interaction Id header to \"urn:nhs:names:services:gpconnect:fhir:rest:re" + - "ad:practitioner-1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ad:practitioner-1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 116 testRunner.When("I make the \"OrganizationRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 117 testRunner.Then("the response status code should be \"400\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 118 testRunner.And("the response should be a OperationOutcome resource with error code \"BAD_REQUEST\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 119 testRunner.And("the required cacheing headers should be present in the response", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } } diff --git a/GPConnect.Provider.AcceptanceTests/OrganizationSearch.feature.cs b/GPConnect.Provider.AcceptanceTests/OrganizationSearch.feature.cs index 2cdec730..9b422c2e 100644 --- a/GPConnect.Provider.AcceptanceTests/OrganizationSearch.feature.cs +++ b/GPConnect.Provider.AcceptanceTests/OrganizationSearch.feature.cs @@ -1,8 +1,8 @@ -// ------------------------------------------------------------------------------ +// ------------------------------------------------------------------------------ // -// This code was generated by SpecFlow (http://www.specflow.org/). -// SpecFlow Version:3.0.0.0 -// SpecFlow Generator Version:3.0.0.0 +// This code was generated by SpecFlow (https://www.specflow.org/). +// SpecFlow Version:3.9.0.0 +// SpecFlow Generator Version:3.9.0.0 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. @@ -13,9 +13,11 @@ namespace GPConnect.Provider.AcceptanceTests { using TechTalk.SpecFlow; + using System; + using System.Linq; - [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "3.0.0.0")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "3.9.0.0")] [System.Runtime.CompilerServices.CompilerGeneratedAttribute()] [NUnit.Framework.TestFixtureAttribute()] [NUnit.Framework.DescriptionAttribute("OrganizationSearch")] @@ -26,6 +28,10 @@ public partial class OrganizationSearchFeature private TechTalk.SpecFlow.ITestRunner testRunner; + private static string[] featureTags = new string[] { + "organization", + "1.5.0-Full-Pack"}; + #line 1 "OrganizationSearch.feature" #line hidden @@ -33,9 +39,7 @@ public partial class OrganizationSearchFeature public virtual void FeatureSetup() { testRunner = TechTalk.SpecFlow.TestRunnerManager.GetTestRunner(); - TechTalk.SpecFlow.FeatureInfo featureInfo = new TechTalk.SpecFlow.FeatureInfo(new System.Globalization.CultureInfo("en-US"), "OrganizationSearch", null, ProgrammingLanguage.CSharp, new string[] { - "organization", - "1.5.0-Full-Pack"}); + TechTalk.SpecFlow.FeatureInfo featureInfo = new TechTalk.SpecFlow.FeatureInfo(new System.Globalization.CultureInfo("en-US"), "", "OrganizationSearch", null, ProgrammingLanguage.CSharp, featureTags); testRunner.OnFeatureStart(featureInfo); } @@ -47,28 +51,28 @@ public virtual void FeatureTearDown() } [NUnit.Framework.SetUpAttribute()] - public virtual void TestInitialize() + public void TestInitialize() { } [NUnit.Framework.TearDownAttribute()] - public virtual void ScenarioTearDown() + public void TestTearDown() { testRunner.OnScenarioEnd(); } - public virtual void ScenarioInitialize(TechTalk.SpecFlow.ScenarioInfo scenarioInfo) + public void ScenarioInitialize(TechTalk.SpecFlow.ScenarioInfo scenarioInfo) { testRunner.OnScenarioInitialize(scenarioInfo); testRunner.ScenarioContext.ScenarioContainer.RegisterInstanceAs(NUnit.Framework.TestContext.CurrentContext); } - public virtual void ScenarioStart() + public void ScenarioStart() { testRunner.OnScenarioStart(); } - public virtual void ScenarioCleanup() + public void ScenarioCleanup() { testRunner.CollectScenarioErrors(); } @@ -77,130 +81,204 @@ public virtual void ScenarioCleanup() [NUnit.Framework.DescriptionAttribute("Organization search success")] [NUnit.Framework.TestCaseAttribute("https://fhir.nhs.uk/Id/ods-organization-code", "unknownORG", "0", null)] [NUnit.Framework.TestCaseAttribute("https://fhir.nhs.uk/Id/ods-organization-code", "ORG1", "1", null)] - public virtual void OrganizationSearchSuccess(string system, string value, string entries, string[] exampleTags) + public void OrganizationSearchSuccess(string system, string value, string entries, string[] exampleTags) { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Organization search success", null, exampleTags); + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("System", system); + argumentsOfScenario.Add("Value", value); + argumentsOfScenario.Add("Entries", entries); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Organization search success", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 4 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 5 testRunner.Given("I configure the default \"OrganizationSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 6 testRunner.And(string.Format("I add an Organization Identifier parameter with System \"{0}\" and Value \"{1}\"", system, value), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 7 testRunner.When("I make the \"OrganizationSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 8 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 9 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 10 testRunner.And(string.Format("the response bundle should contain \"{0}\" entries", entries), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 11 testRunner.And("the response bundle Organization entries should contain a maximum of 1 \"https://f" + - "hir.nhs.uk/Id/ods-organization-code\" system identifier", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "hir.nhs.uk/Id/ods-organization-code\" system identifier", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 12 testRunner.And("the Organization Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 13 testRunner.And("the Organization Name should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 14 testRunner.And("the Organization Telecom should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 15 testRunner.And("the Organization Address should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 16 testRunner.And("the Organization Contact should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 17 testRunner.And("the Organization Extensions should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 20 testRunner.And("the Organization Not In Use should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Organization search by organization code successfully returns single result conta" + "ining the correct fields")] - public virtual void OrganizationSearchByOrganizationCodeSuccessfullyReturnsSingleResultContainingTheCorrectFields() + public void OrganizationSearchByOrganizationCodeSuccessfullyReturnsSingleResultContainingTheCorrectFields() { + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Organization search by organization code successfully returns single result conta" + - "ining the correct fields", null, ((string[])(null))); + "ining the correct fields", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 40 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 41 testRunner.Given("I configure the default \"OrganizationSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 42 testRunner.And("I add an Organization Identifier parameter with Organization Code System and Valu" + - "e \"ORG1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "e \"ORG1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 43 testRunner.When("I make the \"OrganizationSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 44 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 45 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 46 testRunner.And("the response bundle should contain \"1\" entries", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 47 testRunner.And("if the response bundle contains an organization resource it should contain meta d" + - "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 48 testRunner.And("an organization returned in the bundle has \"1\" \"https://fhir.nhs.uk/Id/ods-organi" + - "zation-code\" system identifier with \"ORG1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "zation-code\" system identifier with \"ORG1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Organization search by organization code successfully returns multiple results co" + "ntaining the correct fields")] - public virtual void OrganizationSearchByOrganizationCodeSuccessfullyReturnsMultipleResultsContainingTheCorrectFields() + public void OrganizationSearchByOrganizationCodeSuccessfullyReturnsMultipleResultsContainingTheCorrectFields() { + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Organization search by organization code successfully returns multiple results co" + - "ntaining the correct fields", null, ((string[])(null))); + "ntaining the correct fields", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 50 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 51 testRunner.Given("I configure the default \"OrganizationSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 52 testRunner.And("I add an Organization Identifier parameter with Organization Code System and Valu" + - "e \"ORG1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "e \"ORG1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 53 testRunner.When("I make the \"OrganizationSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 54 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 55 testRunner.And("the response body should be FHIR JSON", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 56 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 57 testRunner.And("the response bundle should contain \"1\" entries", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 58 testRunner.And("if the response bundle contains an organization resource it should contain meta d" + - "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 59 testRunner.And("an organization returned in the bundle has \"1\" \"https://fhir.nhs.uk/Id/ods-organi" + - "zation-code\" system identifier with \"ORG1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "zation-code\" system identifier with \"ORG1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Organization search failure due to no identifier parameter")] - public virtual void OrganizationSearchFailureDueToNoIdentifierParameter() + public void OrganizationSearchFailureDueToNoIdentifierParameter() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Organization search failure due to no identifier parameter", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Organization search failure due to no identifier parameter", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 61 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 62 testRunner.Given("I configure the default \"OrganizationSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 63 testRunner.When("I make the \"OrganizationSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 64 testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 65 testRunner.And("the response should be a OperationOutcome resource", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -209,31 +287,51 @@ public virtual void OrganizationSearchFailureDueToNoIdentifierParameter() "ormat")] [NUnit.Framework.TestCaseAttribute("application/fhir+json", "JSON", "https://fhir.nhs.uk/Id/ods-organization-code", null)] [NUnit.Framework.TestCaseAttribute("application/fhir+xml", "XML", "https://fhir.nhs.uk/Id/ods-organization-code", null)] - public virtual void OrganizationSearchAddAcceptHeaderToRequestAndCheckForCorrectResponseFormat(string header, string bodyFormat, string system, string[] exampleTags) + public void OrganizationSearchAddAcceptHeaderToRequestAndCheckForCorrectResponseFormat(string header, string bodyFormat, string system, string[] exampleTags) { + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("Header", header); + argumentsOfScenario.Add("BodyFormat", bodyFormat); + argumentsOfScenario.Add("System", system); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Organization search add accept header to request and check for correct response f" + - "ormat", null, exampleTags); + "ormat", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 67 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 68 testRunner.Given("I configure the default \"OrganizationSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 69 testRunner.And(string.Format("I add an Organization Identifier parameter with System \"{0}\" and Value \"ORG1\"", system), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 70 testRunner.And(string.Format("I set the Accept header to \"{0}\"", header), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 71 testRunner.When("I make the \"OrganizationSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 72 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 73 testRunner.And(string.Format("the response body should be FHIR {0}", bodyFormat), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 74 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 75 testRunner.And("an organization returned in the bundle has \"1\" \"https://fhir.nhs.uk/Id/ods-organi" + - "zation-code\" system identifier with \"ORG1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "zation-code\" system identifier with \"ORG1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -242,33 +340,54 @@ public virtual void OrganizationSearchAddAcceptHeaderToRequestAndCheckForCorrect "se format")] [NUnit.Framework.TestCaseAttribute("application/fhir+json", "JSON", "https://fhir.nhs.uk/Id/ods-organization-code", null)] [NUnit.Framework.TestCaseAttribute("application/fhir+xml", "XML", "https://fhir.nhs.uk/Id/ods-organization-code", null)] - public virtual void OrganizationSearchAdd_FormatParameterToRequestAndCheckForCorrectResponseFormat(string format, string bodyFormat, string system, string[] exampleTags) + public void OrganizationSearchAdd_FormatParameterToRequestAndCheckForCorrectResponseFormat(string format, string bodyFormat, string system, string[] exampleTags) { + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("Format", format); + argumentsOfScenario.Add("BodyFormat", bodyFormat); + argumentsOfScenario.Add("System", system); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Organization search add _format parameter to request and check for correct respon" + - "se format", null, exampleTags); + "se format", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 81 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 82 testRunner.Given("I configure the default \"OrganizationSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 83 testRunner.And(string.Format("I add an Organization Identifier parameter with System \"{0}\" and Value \"ORG1\"", system), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 84 testRunner.And("I do not send header \"Accept\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 85 testRunner.And(string.Format("I add a Format parameter with the Value \"{0}\"", format), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 86 testRunner.When("I make the \"OrganizationSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 87 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 88 testRunner.And(string.Format("the response body should be FHIR {0}", bodyFormat), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 89 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 90 testRunner.And("an organization returned in the bundle has \"1\" \"https://fhir.nhs.uk/Id/ods-organi" + - "zation-code\" system identifier with \"ORG1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "zation-code\" system identifier with \"ORG1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -277,35 +396,58 @@ public virtual void OrganizationSearchAdd_FormatParameterToRequestAndCheckForCor "eck for correct response format")] [NUnit.Framework.TestCaseAttribute("application/fhir+json", "application/fhir+json", "JSON", "https://fhir.nhs.uk/Id/ods-organization-code", null)] [NUnit.Framework.TestCaseAttribute("application/fhir+json", "application/fhir+xml", "XML", "https://fhir.nhs.uk/Id/ods-organization-code", null)] - public virtual void OrganizationSearchAddAcceptHeaderAnd_FormatParameterToTheRequestAndCheckForCorrectResponseFormat(string header, string format, string bodyFormat, string system, string[] exampleTags) + public void OrganizationSearchAddAcceptHeaderAnd_FormatParameterToTheRequestAndCheckForCorrectResponseFormat(string header, string format, string bodyFormat, string system, string[] exampleTags) { + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("Header", header); + argumentsOfScenario.Add("Format", format); + argumentsOfScenario.Add("BodyFormat", bodyFormat); + argumentsOfScenario.Add("System", system); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Organization search add accept header and _format parameter to the request and ch" + - "eck for correct response format", null, exampleTags); + "eck for correct response format", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 96 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 97 testRunner.Given("I configure the default \"OrganizationSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 98 testRunner.And(string.Format("I add an Organization Identifier parameter with System \"{0}\" and Value \"ORG1\"", system), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 99 testRunner.And(string.Format("I set the Accept header to \"{0}\"", header), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 100 testRunner.And(string.Format("I add a Format parameter with the Value \"{0}\"", format), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 101 testRunner.When("I make the \"OrganizationSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 102 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 103 testRunner.And(string.Format("the response body should be FHIR {0}", bodyFormat), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 104 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 105 testRunner.And("the response bundle should contain \"1\" entries", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 106 testRunner.And("an organization returned in the bundle has \"1\" \"https://fhir.nhs.uk/Id/ods-organi" + - "zation-code\" system identifier with \"ORG1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "zation-code\" system identifier with \"ORG1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -314,31 +456,51 @@ public virtual void OrganizationSearchAddAcceptHeaderAnd_FormatParameterToTheReq "ck for correct response format")] [NUnit.Framework.TestCaseAttribute("application/fhir+json", "JSON", "https://fhir.nhs.uk/Id/ods-organization-code", null)] [NUnit.Framework.TestCaseAttribute("application/fhir+xml", "XML", "https://fhir.nhs.uk/Id/ods-organization-code", null)] - public virtual void OrganizationSearchAdd_FormatParameterToRequestBeforeTheIdentiferAndCheckForCorrectResponseFormat(string format, string bodyFormat, string system, string[] exampleTags) + public void OrganizationSearchAdd_FormatParameterToRequestBeforeTheIdentiferAndCheckForCorrectResponseFormat(string format, string bodyFormat, string system, string[] exampleTags) { + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("Format", format); + argumentsOfScenario.Add("BodyFormat", bodyFormat); + argumentsOfScenario.Add("System", system); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Organization search add _format parameter to request before the identifer and che" + - "ck for correct response format", null, exampleTags); + "ck for correct response format", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 112 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 113 testRunner.Given("I configure the default \"OrganizationSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 114 testRunner.And(string.Format("I add a Format parameter with the Value \"{0}\"", format), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 115 testRunner.And(string.Format("I add an Organization Identifier parameter with System \"{0}\" and Value \"ORG1\"", system), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 116 testRunner.When("I make the \"OrganizationSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 117 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 118 testRunner.And(string.Format("the response body should be FHIR {0}", bodyFormat), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 119 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 120 testRunner.And("an organization returned in the bundle has \"1\" \"https://fhir.nhs.uk/Id/ods-organi" + - "zation-code\" system identifier with \"ORG1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "zation-code\" system identifier with \"ORG1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -347,165 +509,264 @@ public virtual void OrganizationSearchAdd_FormatParameterToRequestBeforeTheIdent "k for correct response format")] [NUnit.Framework.TestCaseAttribute("application/fhir+json", "JSON", "https://fhir.nhs.uk/Id/ods-organization-code", null)] [NUnit.Framework.TestCaseAttribute("application/fhir+xml", "XML", "https://fhir.nhs.uk/Id/ods-organization-code", null)] - public virtual void OrganizationSearchAdd_FormatParameterToRequestAfterTheIdentiferAndCheckForCorrectResponseFormat(string format, string bodyFormat, string system, string[] exampleTags) + public void OrganizationSearchAdd_FormatParameterToRequestAfterTheIdentiferAndCheckForCorrectResponseFormat(string format, string bodyFormat, string system, string[] exampleTags) { + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("Format", format); + argumentsOfScenario.Add("BodyFormat", bodyFormat); + argumentsOfScenario.Add("System", system); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Organization search add _format parameter to request after the identifer and chec" + - "k for correct response format", null, exampleTags); + "k for correct response format", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 126 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 127 testRunner.Given("I configure the default \"OrganizationSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 128 testRunner.And(string.Format("I add an Organization Identifier parameter with System \"{0}\" and Value \"ORG1\"", system), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 129 testRunner.And(string.Format("I add a Format parameter with the Value \"{0}\"", format), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 130 testRunner.When("I make the \"OrganizationSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 131 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 132 testRunner.And(string.Format("the response body should be FHIR {0}", bodyFormat), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 133 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("CapabilityStatement profile supports the Organization search operation")] - public virtual void CapabilityStatementProfileSupportsTheOrganizationSearchOperation() + public void CapabilityStatementProfileSupportsTheOrganizationSearchOperation() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("CapabilityStatement profile supports the Organization search operation", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("CapabilityStatement profile supports the Organization search operation", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 139 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 140 testRunner.Given("I configure the default \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 141 testRunner.When("I make the \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 142 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 143 testRunner.And("the CapabilityStatement REST Resources should contain the \"Organization\" Resource" + - " with the \"SearchType\" Interaction", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + " with the \"SearchType\" Interaction", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Organization search check organization response contains logical identifier")] - public virtual void OrganizationSearchCheckOrganizationResponseContainsLogicalIdentifier() + public void OrganizationSearchCheckOrganizationResponseContainsLogicalIdentifier() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Organization search check organization response contains logical identifier", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Organization search check organization response contains logical identifier", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 145 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 146 testRunner.Given("I configure the default \"OrganizationSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 147 testRunner.And("I add an Organization Identifier parameter with System \"https://fhir.nhs.uk/Id/od" + - "s-organization-code\" and Value \"ORG1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "s-organization-code\" and Value \"ORG1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 148 testRunner.When("I make the \"OrganizationSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 149 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 150 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 151 testRunner.And("the Organization Identifiers should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Organization search include count and sort parameters")] - public virtual void OrganizationSearchIncludeCountAndSortParameters() + public void OrganizationSearchIncludeCountAndSortParameters() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Organization search include count and sort parameters", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Organization search include count and sort parameters", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 153 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 154 testRunner.Given("I configure the default \"OrganizationSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 155 testRunner.And("I add an Organization Identifier parameter with Organization Code System and Valu" + - "e \"ORG1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "e \"ORG1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 156 testRunner.And("I add the parameter \"_count\" with the value \"1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 157 testRunner.When("I make the \"OrganizationSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 158 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 159 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 160 testRunner.And("the response bundle should contain \"1\" entries", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Organization search valid response check caching headers exist")] - public virtual void OrganizationSearchValidResponseCheckCachingHeadersExist() + public void OrganizationSearchValidResponseCheckCachingHeadersExist() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Organization search valid response check caching headers exist", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Organization search valid response check caching headers exist", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 162 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 163 testRunner.Given("I configure the default \"OrganizationSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 164 testRunner.And("I add an Organization Identifier parameter with Organization Code System and Valu" + - "e \"ORG1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "e \"ORG1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 165 testRunner.When("I make the \"OrganizationSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 166 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 167 testRunner.And("the response body should be FHIR JSON", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 168 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 169 testRunner.And("the response bundle should contain \"1\" entries", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 170 testRunner.And("if the response bundle contains an organization resource it should contain meta d" + - "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 171 testRunner.And("an organization returned in the bundle has \"1\" \"https://fhir.nhs.uk/Id/ods-organi" + - "zation-code\" system identifier with \"ORG1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "zation-code\" system identifier with \"ORG1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 172 testRunner.And("the required cacheing headers should be present in the response", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Organization search invalid response check caching headers exist")] - public virtual void OrganizationSearchInvalidResponseCheckCachingHeadersExist() + public void OrganizationSearchInvalidResponseCheckCachingHeadersExist() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Organization search invalid response check caching headers exist", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Organization search invalid response check caching headers exist", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 177 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 178 testRunner.Given("I get the Organization for Organization Code \"ORG1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 179 testRunner.And("I store the Organization", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 180 testRunner.Given("I configure the default \"OrganizationSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 181 testRunner.And("I set the Interaction Id header to \"urn:nhs:names:services:gpconnect:fhir:rest:re" + - "ad:practitioner-1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ad:practitioner-1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 182 testRunner.When("I make the \"OrganizationSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 183 testRunner.Then("the response status code should be \"400\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 184 testRunner.And("the response should be a OperationOutcome resource with error code \"BAD_REQUEST\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 185 testRunner.And("the required cacheing headers should be present in the response", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } } diff --git a/GPConnect.Provider.AcceptanceTests/PatientRead.feature.cs b/GPConnect.Provider.AcceptanceTests/PatientRead.feature.cs index 8129580f..6e514d2c 100644 --- a/GPConnect.Provider.AcceptanceTests/PatientRead.feature.cs +++ b/GPConnect.Provider.AcceptanceTests/PatientRead.feature.cs @@ -1,8 +1,8 @@ -// ------------------------------------------------------------------------------ +// ------------------------------------------------------------------------------ // -// This code was generated by SpecFlow (http://www.specflow.org/). -// SpecFlow Version:3.0.0.0 -// SpecFlow Generator Version:3.0.0.0 +// This code was generated by SpecFlow (https://www.specflow.org/). +// SpecFlow Version:3.9.0.0 +// SpecFlow Generator Version:3.9.0.0 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. @@ -13,9 +13,11 @@ namespace GPConnect.Provider.AcceptanceTests { using TechTalk.SpecFlow; + using System; + using System.Linq; - [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "3.0.0.0")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "3.9.0.0")] [System.Runtime.CompilerServices.CompilerGeneratedAttribute()] [NUnit.Framework.TestFixtureAttribute()] [NUnit.Framework.DescriptionAttribute("PatientRead")] @@ -26,6 +28,10 @@ public partial class PatientReadFeature private TechTalk.SpecFlow.ITestRunner testRunner; + private static string[] featureTags = new string[] { + "patient", + "1.5.0-Full-Pack"}; + #line 1 "PatientRead.feature" #line hidden @@ -33,9 +39,7 @@ public partial class PatientReadFeature public virtual void FeatureSetup() { testRunner = TechTalk.SpecFlow.TestRunnerManager.GetTestRunner(); - TechTalk.SpecFlow.FeatureInfo featureInfo = new TechTalk.SpecFlow.FeatureInfo(new System.Globalization.CultureInfo("en-US"), "PatientRead", null, ProgrammingLanguage.CSharp, new string[] { - "patient", - "1.5.0-Full-Pack"}); + TechTalk.SpecFlow.FeatureInfo featureInfo = new TechTalk.SpecFlow.FeatureInfo(new System.Globalization.CultureInfo("en-US"), "", "PatientRead", null, ProgrammingLanguage.CSharp, featureTags); testRunner.OnFeatureStart(featureInfo); } @@ -47,28 +51,28 @@ public virtual void FeatureTearDown() } [NUnit.Framework.SetUpAttribute()] - public virtual void TestInitialize() + public void TestInitialize() { } [NUnit.Framework.TearDownAttribute()] - public virtual void ScenarioTearDown() + public void TestTearDown() { testRunner.OnScenarioEnd(); } - public virtual void ScenarioInitialize(TechTalk.SpecFlow.ScenarioInfo scenarioInfo) + public void ScenarioInitialize(TechTalk.SpecFlow.ScenarioInfo scenarioInfo) { testRunner.OnScenarioInitialize(scenarioInfo); testRunner.ScenarioContext.ScenarioContainer.RegisterInstanceAs(NUnit.Framework.TestContext.CurrentContext); } - public virtual void ScenarioStart() + public void ScenarioStart() { testRunner.OnScenarioStart(); } - public virtual void ScenarioCleanup() + public void ScenarioCleanup() { testRunner.CollectScenarioErrors(); } @@ -77,24 +81,39 @@ public virtual void ScenarioCleanup() [NUnit.Framework.DescriptionAttribute("Read patient 404 if patient not found")] [NUnit.Framework.TestCaseAttribute("SomthingIncorrectWhichIsNotTheOnProviderSystem", null)] [NUnit.Framework.TestCaseAttribute("4543567638475665845564986758479086840564796854665748763454", null)] - public virtual void ReadPatient404IfPatientNotFound(string id, string[] exampleTags) + public void ReadPatient404IfPatientNotFound(string id, string[] exampleTags) { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Read patient 404 if patient not found", null, exampleTags); + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("id", id); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Read patient 404 if patient not found", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 4 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 5 testRunner.Given("I configure the default \"PatientRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 6 testRunner.And(string.Format("I set the Read Operation logical identifier used in the request to \"{0}\"", id), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 7 testRunner.When("I make the \"PatientRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 8 testRunner.Then("the response status code should be \"404\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 9 testRunner.And("the response should be a OperationOutcome resource with error code \"PATIENT_NOT_F" + - "OUND\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "OUND\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -106,41 +125,68 @@ public virtual void ReadPatient404IfPatientNotFound(string id, string[] exampleT [NUnit.Framework.TestCaseAttribute("1.1.22", null)] [NUnit.Framework.TestCaseAttribute("40-9", null)] [NUnit.Framework.TestCaseAttribute("nd-skdm.mks--s", null)] - public virtual void PatientReadWithValidIdentifierWhichDoesNotExistOnProvidersSystem(string logicalId, string[] exampleTags) + public void PatientReadWithValidIdentifierWhichDoesNotExistOnProvidersSystem(string logicalId, string[] exampleTags) { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Patient Read with valid identifier which does not exist on providers system", null, exampleTags); + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("LogicalId", logicalId); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Patient Read with valid identifier which does not exist on providers system", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 15 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 16 testRunner.Given("I configure the default \"PatientRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 17 testRunner.And(string.Format("I set the Read Operation logical identifier used in the request to \"{0}\"", logicalId), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 18 testRunner.When("I make the \"PatientRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 19 testRunner.Then("the response status code should be \"404\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Read patient 400 or 404 if patient id not sent")] - public virtual void ReadPatient400Or404IfPatientIdNotSent() + public void ReadPatient400Or404IfPatientIdNotSent() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Read patient 400 or 404 if patient id not sent", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Read patient 400 or 404 if patient id not sent", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 29 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 30 testRunner.Given("I configure the default \"PatientRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 31 testRunner.When("I make the \"PatientRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 32 testRunner.Then("the Response Status Code should be one of \"400, 404\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 33 testRunner.And("the response should be a OperationOutcome resource", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -148,31 +194,51 @@ public virtual void ReadPatient400Or404IfPatientIdNotSent() [NUnit.Framework.DescriptionAttribute("Read patient using the Accept header to request response format")] [NUnit.Framework.TestCaseAttribute("application/fhir+json", "JSON", null)] [NUnit.Framework.TestCaseAttribute("application/fhir+xml", "XML", null)] - public virtual void ReadPatientUsingTheAcceptHeaderToRequestResponseFormat(string header, string responseFormat, string[] exampleTags) + public void ReadPatientUsingTheAcceptHeaderToRequestResponseFormat(string header, string responseFormat, string[] exampleTags) { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Read patient using the Accept header to request response format", null, exampleTags); + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("Header", header); + argumentsOfScenario.Add("ResponseFormat", responseFormat); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Read patient using the Accept header to request response format", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 35 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 36 testRunner.Given("I get the Patient for Patient Value \"patient1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 37 testRunner.And("I store the Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 38 testRunner.Given("I configure the default \"PatientRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 39 testRunner.And(string.Format("I set the Accept header to \"{0}\"", header), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 40 testRunner.When("I make the \"PatientRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 41 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 42 testRunner.And(string.Format("the response body should be FHIR {0}", responseFormat), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 43 testRunner.And("the Response Resource should be a Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 44 testRunner.And("the Patient Id should equal the Request Id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -180,33 +246,54 @@ public virtual void ReadPatientUsingTheAcceptHeaderToRequestResponseFormat(strin [NUnit.Framework.DescriptionAttribute("Read patient using the _format parameter to request response format")] [NUnit.Framework.TestCaseAttribute("application/fhir+json", "JSON", null)] [NUnit.Framework.TestCaseAttribute("application/fhir+xml", "XML", null)] - public virtual void ReadPatientUsingThe_FormatParameterToRequestResponseFormat(string format, string bodyFormat, string[] exampleTags) + public void ReadPatientUsingThe_FormatParameterToRequestResponseFormat(string format, string bodyFormat, string[] exampleTags) { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Read patient using the _format parameter to request response format", null, exampleTags); + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("Format", format); + argumentsOfScenario.Add("BodyFormat", bodyFormat); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Read patient using the _format parameter to request response format", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 50 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 51 testRunner.Given("I get the Patient for Patient Value \"patient1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 52 testRunner.And("I store the Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 53 testRunner.Given("I configure the default \"PatientRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 54 testRunner.And(string.Format("I add a Format parameter with the Value \"{0}\"", format), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 55 testRunner.When("I make the \"PatientRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 56 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 57 testRunner.And(string.Format("the response body should be FHIR {0}", bodyFormat), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 58 testRunner.And("the Response Resource should be a Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 59 testRunner.And("the Patient Id should equal the Request Id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 60 testRunner.And("the Patient Identifiers should be valid for Patient \"patient1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -217,311 +304,495 @@ public virtual void ReadPatientUsingThe_FormatParameterToRequestResponseFormat(s [NUnit.Framework.TestCaseAttribute("application/fhir+json", "application/fhir+xml", "XML", null)] [NUnit.Framework.TestCaseAttribute("application/fhir+xml", "application/fhir+json", "JSON", null)] [NUnit.Framework.TestCaseAttribute("application/fhir+xml", "application/fhir+xml", "XML", null)] - public virtual void ReadPatientSendingTheAcceptHeaderAnd_FormatParameterToRequestResponseFormat(string header, string format, string bodyFormat, string[] exampleTags) + public void ReadPatientSendingTheAcceptHeaderAnd_FormatParameterToRequestResponseFormat(string header, string format, string bodyFormat, string[] exampleTags) { + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("Header", header); + argumentsOfScenario.Add("Format", format); + argumentsOfScenario.Add("BodyFormat", bodyFormat); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Read patient sending the Accept header and _format parameter to request response " + - "format", null, exampleTags); + "format", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 66 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 67 testRunner.Given("I get the Patient for Patient Value \"patient1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 68 testRunner.And("I store the Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 69 testRunner.Given("I configure the default \"PatientRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 70 testRunner.And(string.Format("I set the Accept header to \"{0}\"", header), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 71 testRunner.And(string.Format("I add a Format parameter with the Value \"{0}\"", format), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 72 testRunner.When("I make the \"PatientRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 73 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 74 testRunner.And(string.Format("the response body should be FHIR {0}", bodyFormat), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 75 testRunner.And("the Response Resource should be a Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 76 testRunner.And("the Patient Id should equal the Request Id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 77 testRunner.And("the Patient Identifiers should be valid for Patient \"patient1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Read patient should contain correct logical identifier")] - public virtual void ReadPatientShouldContainCorrectLogicalIdentifier() + public void ReadPatientShouldContainCorrectLogicalIdentifier() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Read patient should contain correct logical identifier", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Read patient should contain correct logical identifier", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 85 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 86 testRunner.Given("I get the Patient for Patient Value \"patient1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 87 testRunner.And("I store the Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 88 testRunner.Given("I configure the default \"PatientRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 89 testRunner.When("I make the \"PatientRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 90 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 91 testRunner.And("the response body should be FHIR JSON", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 92 testRunner.And("the Response Resource should be a Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 93 testRunner.And("the Patient Id should equal the Request Id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Read patient response should contain an ETag header")] - public virtual void ReadPatientResponseShouldContainAnETagHeader() + public void ReadPatientResponseShouldContainAnETagHeader() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Read patient response should contain an ETag header", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Read patient response should contain an ETag header", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 95 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 96 testRunner.Given("I get the Patient for Patient Value \"patient1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 97 testRunner.And("I store the Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 98 testRunner.Given("I configure the default \"PatientRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 99 testRunner.When("I make the \"PatientRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 100 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 101 testRunner.And("the Response Resource should be a Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 102 testRunner.And("the Response should contain the ETag header matching the Resource Version Id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 103 testRunner.And("the Patient Identifiers should be valid for Patient \"patient1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Read patient returned should conform to the GPconnect specification")] - public virtual void ReadPatientReturnedShouldConformToTheGPconnectSpecification() + public void ReadPatientReturnedShouldConformToTheGPconnectSpecification() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Read patient returned should conform to the GPconnect specification", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Read patient returned should conform to the GPconnect specification", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 105 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 106 testRunner.Given("I get the Patient for Patient Value \"patient1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 107 testRunner.And("I store the Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 108 testRunner.Given("I configure the default \"PatientRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 109 testRunner.When("I make the \"PatientRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 110 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 111 testRunner.And("the Response Resource should be a Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 112 testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 113 testRunner.And("the Patient Metadata should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 114 testRunner.And("the Patient Identifiers should be valid for Patient \"patient1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 115 testRunner.And("the Patient GeneralPractitioner Practitioner should be valid and resolvable", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 116 testRunner.And("the Patient ManagingOrganization Organization should be valid and resolvable", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 117 testRunner.And("the Patient Deceased should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 118 testRunner.And("the Patient MultipleBirth should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 119 testRunner.And("the Patient Telecom should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 120 testRunner.And("the Patient Contact Relationship should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 121 testRunner.And("the Patient Communication should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 122 testRunner.And("the Patient Name should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 123 testRunner.And("the Patient Contact Name should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 124 testRunner.And("the Patient should exclude disallowed fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 125 testRunner.And("the Patient Use should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 126 testRunner.And("the Patient Gender should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 127 testRunner.And("the Patient MaritalStatus should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 128 testRunner.And("the Patient Link should be valid and resolvable", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 129 testRunner.And("the Patient Registration Details should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 132 testRunner.And("the Patient Not In Use should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("CapabilityStatement profile supports the Patient read operation")] - public virtual void CapabilityStatementProfileSupportsThePatientReadOperation() + public void CapabilityStatementProfileSupportsThePatientReadOperation() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("CapabilityStatement profile supports the Patient read operation", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("CapabilityStatement profile supports the Patient read operation", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 134 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 135 testRunner.Given("I configure the default \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 136 testRunner.When("I make the \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 137 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 138 testRunner.And("the CapabilityStatement REST Resources should contain the \"Patient\" Resource with" + - " the \"Read\" Interaction", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + " the \"Read\" Interaction", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Patient read valid response check caching headers exist")] - public virtual void PatientReadValidResponseCheckCachingHeadersExist() + public void PatientReadValidResponseCheckCachingHeadersExist() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Patient read valid response check caching headers exist", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Patient read valid response check caching headers exist", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 140 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 141 testRunner.Given("I get the Patient for Patient Value \"patient1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 142 testRunner.And("I store the Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 143 testRunner.Given("I configure the default \"PatientRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 144 testRunner.When("I make the \"PatientRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 145 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 146 testRunner.And("the Response Resource should be a Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 147 testRunner.And("the required cacheing headers should be present in the response", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Patient read invalid response check caching headers exist")] - public virtual void PatientReadInvalidResponseCheckCachingHeadersExist() + public void PatientReadInvalidResponseCheckCachingHeadersExist() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Patient read invalid response check caching headers exist", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Patient read invalid response check caching headers exist", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 149 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 150 testRunner.Given("I configure the default \"PatientRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 151 testRunner.And("I set the Read Operation logical identifier used in the request to \"AABa\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 152 testRunner.When("I make the \"PatientRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 153 testRunner.Then("the response status code should be \"404\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 154 testRunner.And("the required cacheing headers should be present in the response", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Patient read valid response check preferred branch")] - public virtual void PatientReadValidResponseCheckPreferredBranch() + public void PatientReadValidResponseCheckPreferredBranch() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Patient read valid response check preferred branch", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Patient read valid response check preferred branch", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 156 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 157 testRunner.Given("I get the Patient for Patient Value \"patient1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 158 testRunner.And("I store the Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 159 testRunner.Given("I configure the default \"PatientRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 160 testRunner.When("I make the \"PatientRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 161 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 162 testRunner.And("the Response Resource should be a Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 163 testRunner.And("the Patient RegistrationDetails should include preferredBranchSurgery", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Check read patient on a patient with no Consent returns a valid response")] - public virtual void CheckReadPatientOnAPatientWithNoConsentReturnsAValidResponse() + public void CheckReadPatientOnAPatientWithNoConsentReturnsAValidResponse() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Check read patient on a patient with no Consent returns a valid response", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Check read patient on a patient with no Consent returns a valid response", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 176 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 177 testRunner.Given("I get the Patient for Patient Value \"patient15\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 178 testRunner.And("I store the Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 179 testRunner.Given("I configure the default \"PatientRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 180 testRunner.When("I make the \"PatientRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 181 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 182 testRunner.And("the Response Resource should be a Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 183 testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 184 testRunner.And("the Patient Metadata should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 185 testRunner.And("the Patient Identifiers should be valid for Patient \"patient15\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 186 testRunner.And("the Patient GeneralPractitioner Practitioner should be valid and resolvable", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 187 testRunner.And("the Patient ManagingOrganization Organization should be valid and resolvable", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 188 testRunner.And("the Patient Deceased should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 189 testRunner.And("the Patient MultipleBirth should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 190 testRunner.And("the Patient Telecom should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 191 testRunner.And("the Patient Contact Relationship should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 192 testRunner.And("the Patient Communication should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 193 testRunner.And("the Patient Name should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 194 testRunner.And("the Patient Contact Name should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 195 testRunner.And("the Patient should exclude disallowed fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 196 testRunner.And("the Patient Use should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 197 testRunner.And("the Patient Gender should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 198 testRunner.And("the Patient MaritalStatus should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 199 testRunner.And("the Patient Link should be valid and resolvable", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 200 testRunner.And("the Patient Registration Details should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 203 testRunner.And("the Patient Not In Use should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } } diff --git a/GPConnect.Provider.AcceptanceTests/PatientRegister.feature.cs b/GPConnect.Provider.AcceptanceTests/PatientRegister.feature.cs index 0e380671..1648839c 100644 --- a/GPConnect.Provider.AcceptanceTests/PatientRegister.feature.cs +++ b/GPConnect.Provider.AcceptanceTests/PatientRegister.feature.cs @@ -1,8 +1,8 @@ -// ------------------------------------------------------------------------------ +// ------------------------------------------------------------------------------ // -// This code was generated by SpecFlow (http://www.specflow.org/). -// SpecFlow Version:3.0.0.0 -// SpecFlow Generator Version:3.0.0.0 +// This code was generated by SpecFlow (https://www.specflow.org/). +// SpecFlow Version:3.9.0.0 +// SpecFlow Generator Version:3.9.0.0 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. @@ -13,9 +13,11 @@ namespace GPConnect.Provider.AcceptanceTests { using TechTalk.SpecFlow; + using System; + using System.Linq; - [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "3.0.0.0")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "3.9.0.0")] [System.Runtime.CompilerServices.CompilerGeneratedAttribute()] [NUnit.Framework.TestFixtureAttribute()] [NUnit.Framework.DescriptionAttribute("PatientRegister")] @@ -26,6 +28,10 @@ public partial class PatientRegisterFeature private TechTalk.SpecFlow.ITestRunner testRunner; + private static string[] featureTags = new string[] { + "patient", + "1.5.0-Full-Pack"}; + #line 1 "PatientRegister.feature" #line hidden @@ -33,9 +39,7 @@ public partial class PatientRegisterFeature public virtual void FeatureSetup() { testRunner = TechTalk.SpecFlow.TestRunnerManager.GetTestRunner(); - TechTalk.SpecFlow.FeatureInfo featureInfo = new TechTalk.SpecFlow.FeatureInfo(new System.Globalization.CultureInfo("en-US"), "PatientRegister", null, ProgrammingLanguage.CSharp, new string[] { - "patient", - "1.5.0-Full-Pack"}); + TechTalk.SpecFlow.FeatureInfo featureInfo = new TechTalk.SpecFlow.FeatureInfo(new System.Globalization.CultureInfo("en-US"), "", "PatientRegister", null, ProgrammingLanguage.CSharp, featureTags); testRunner.OnFeatureStart(featureInfo); } @@ -47,28 +51,28 @@ public virtual void FeatureTearDown() } [NUnit.Framework.SetUpAttribute()] - public virtual void TestInitialize() + public void TestInitialize() { } [NUnit.Framework.TearDownAttribute()] - public virtual void ScenarioTearDown() + public void TestTearDown() { testRunner.OnScenarioEnd(); } - public virtual void ScenarioInitialize(TechTalk.SpecFlow.ScenarioInfo scenarioInfo) + public void ScenarioInitialize(TechTalk.SpecFlow.ScenarioInfo scenarioInfo) { testRunner.OnScenarioInitialize(scenarioInfo); testRunner.ScenarioContext.ScenarioContainer.RegisterInstanceAs(NUnit.Framework.TestContext.CurrentContext); } - public virtual void ScenarioStart() + public void ScenarioStart() { testRunner.OnScenarioStart(); } - public virtual void ScenarioCleanup() + public void ScenarioCleanup() { testRunner.CollectScenarioErrors(); } @@ -77,120 +81,193 @@ public virtual void ScenarioCleanup() [NUnit.Framework.DescriptionAttribute("Register patient send request to incorrect URL")] [NUnit.Framework.TestCaseAttribute("2017-05-05", "Patient/$gpc.registerpatien", null)] [NUnit.Framework.TestCaseAttribute("1999-01-22", "Patient/$gpc.registerpati#ent", null)] - public virtual void RegisterPatientSendRequestToIncorrectURL(string startDate, string url, string[] exampleTags) + public void RegisterPatientSendRequestToIncorrectURL(string startDate, string url, string[] exampleTags) { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Register patient send request to incorrect URL", null, exampleTags); + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("StartDate", startDate); + argumentsOfScenario.Add("url", url); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Register patient send request to incorrect URL", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 4 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 5 testRunner.Given("I get the next Patient to register and store it", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 6 testRunner.Given("I configure the default \"RegisterPatient\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 7 testRunner.And(string.Format("I set the request URL to \"{0}\"", url), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 8 testRunner.And("I add the Stored Patient as a parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 9 testRunner.When("I make the \"RegisterPatient\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 10 testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 11 testRunner.And("the response should be a OperationOutcome resource", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Register patient without sending identifier within patient")] - public virtual void RegisterPatientWithoutSendingIdentifierWithinPatient() + public void RegisterPatientWithoutSendingIdentifierWithinPatient() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Register patient without sending identifier within patient", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Register patient without sending identifier within patient", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 17 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 18 testRunner.Given("I get the next Patient to register and store it", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 19 testRunner.Given("I configure the default \"RegisterPatient\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 20 testRunner.And("I remove the Identifiers from the Stored Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 21 testRunner.And("I add the Stored Patient as a parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 22 testRunner.When("I make the \"RegisterPatient\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 23 testRunner.Then("the response status code should be \"400\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 24 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_NHS_N" + - "UMBER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "UMBER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Register patient without gender element")] - public virtual void RegisterPatientWithoutGenderElement() + public void RegisterPatientWithoutGenderElement() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Register patient without gender element", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Register patient without gender element", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 26 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 27 testRunner.Given("I get the next Patient to register and store it", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 28 testRunner.Given("I configure the default \"RegisterPatient\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 29 testRunner.And("I remove the Gender from the Stored Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 30 testRunner.And("I add the Stored Patient as a parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 31 testRunner.When("I make the \"RegisterPatient\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 32 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 33 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 34 testRunner.And("the response meta profile should be for \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 35 testRunner.And("the response bundle should contain a single Patient resource", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 36 testRunner.And("the Patient Metadata should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 37 testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 38 testRunner.And("the Patient Nhs Number Identifer should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 39 testRunner.And("the Patient Registration Details Extension should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 40 testRunner.And("the Patient Demographics should match the Stored Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Register patient without date of birth element")] - public virtual void RegisterPatientWithoutDateOfBirthElement() + public void RegisterPatientWithoutDateOfBirthElement() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Register patient without date of birth element", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Register patient without date of birth element", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 42 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 43 testRunner.Given("I get the next Patient to register and store it", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 44 testRunner.Given("I configure the default \"RegisterPatient\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 45 testRunner.And("I remove the Birth Date from the Stored Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 46 testRunner.And("I add the Stored Patient as a parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 47 testRunner.When("I make the \"RegisterPatient\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 48 testRunner.Then("the response status code should be \"400\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 49 testRunner.And("the response should be a OperationOutcome resource with error code \"BAD_REQUEST\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -201,30 +278,48 @@ public virtual void RegisterPatientWithoutDateOfBirthElement() [NUnit.Framework.TestCaseAttribute("999999999", null)] [NUnit.Framework.TestCaseAttribute("9000000008", null)] [NUnit.Framework.TestCaseAttribute("90000000090", null)] - public virtual void RegisterPatientWithAnInvalidNHSNumber(string nhsNumber, string[] exampleTags) + public void RegisterPatientWithAnInvalidNHSNumber(string nhsNumber, string[] exampleTags) { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Register patient with an invalid NHS number", null, exampleTags); + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("nhsNumber", nhsNumber); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Register patient with an invalid NHS number", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 51 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 52 testRunner.Given("I get the next Patient to register and store it", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 53 testRunner.Given("I configure the default \"RegisterPatient\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 54 testRunner.And("I remove the Identifiers from the Stored Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 55 testRunner.And(string.Format("I add an Identifier with Value \"{0}\" to the Stored Patient", nhsNumber), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 56 testRunner.And("I add the Stored Patient as a parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 57 testRunner.When("I make the \"RegisterPatient\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 58 testRunner.Then("the response status code should be \"400\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 59 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_NHS_N" + - "UMBER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "UMBER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -232,47 +327,75 @@ public virtual void RegisterPatientWithAnInvalidNHSNumber(string nhsNumber, stri [NUnit.Framework.DescriptionAttribute("Register Patient and use the Accept Header to request response format")] [NUnit.Framework.TestCaseAttribute("application/fhir+xml", "XML", null)] [NUnit.Framework.TestCaseAttribute("application/fhir+json", "JSON", null)] - public virtual void RegisterPatientAndUseTheAcceptHeaderToRequestResponseFormat(string contentType, string responseFormat, string[] exampleTags) + public void RegisterPatientAndUseTheAcceptHeaderToRequestResponseFormat(string contentType, string responseFormat, string[] exampleTags) { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Register Patient and use the Accept Header to request response format", null, exampleTags); + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("ContentType", contentType); + argumentsOfScenario.Add("ResponseFormat", responseFormat); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Register Patient and use the Accept Header to request response format", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 68 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 69 testRunner.Given("I get the next Patient to register and store it", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 70 testRunner.Given("I configure the default \"RegisterPatient\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 71 testRunner.And(string.Format("I set the request content type to \"{0}\"", contentType), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 72 testRunner.And(string.Format("I set the Accept header to \"{0}\"", contentType), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 73 testRunner.And("I add the Stored Patient as a parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 74 testRunner.When("I make the \"RegisterPatient\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 75 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 76 testRunner.And(string.Format("the response should be the format FHIR {0}", responseFormat), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 77 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 78 testRunner.And("the response meta profile should be for \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 79 testRunner.And("the response bundle should contain a single Patient resource", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 80 testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 81 testRunner.And("the Patient Metadata should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 82 testRunner.And("the Patient Nhs Number Identifer should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 83 testRunner.And("the Patient Registration Details Extension should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 84 testRunner.And("the Patient Demographics should match the Stored Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 85 testRunner.And("the required cacheing headers should be present in the response", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -280,43 +403,69 @@ public virtual void RegisterPatientAndUseTheAcceptHeaderToRequestResponseFormat( [NUnit.Framework.DescriptionAttribute("Register Patient and use the _format parameter to request the response format")] [NUnit.Framework.TestCaseAttribute("application/fhir+xml", "XML", null)] [NUnit.Framework.TestCaseAttribute("application/fhir+json", "JSON", null)] - public virtual void RegisterPatientAndUseThe_FormatParameterToRequestTheResponseFormat(string contentType, string responseFormat, string[] exampleTags) + public void RegisterPatientAndUseThe_FormatParameterToRequestTheResponseFormat(string contentType, string responseFormat, string[] exampleTags) { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Register Patient and use the _format parameter to request the response format", null, exampleTags); + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("ContentType", contentType); + argumentsOfScenario.Add("ResponseFormat", responseFormat); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Register Patient and use the _format parameter to request the response format", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 91 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 92 testRunner.Given("I get the next Patient to register and store it", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 93 testRunner.Given("I configure the default \"RegisterPatient\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 94 testRunner.And(string.Format("I set the request content type to \"{0}\"", contentType), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 95 testRunner.And(string.Format("I add a Format parameter with the Value \"{0}\"", contentType), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 96 testRunner.And("I add the Stored Patient as a parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 97 testRunner.When("I make the \"RegisterPatient\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 98 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 99 testRunner.And(string.Format("the response should be the format FHIR {0}", responseFormat), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 100 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 101 testRunner.And("the response meta profile should be for \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 102 testRunner.And("the response bundle should contain a single Patient resource", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 103 testRunner.And("the Patient Metadata should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 104 testRunner.And("the Patient Nhs Number Identifer should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 105 testRunner.And("the Patient Registration Details Extension should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 106 testRunner.And("the Patient Demographics should match the Stored Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -331,276 +480,441 @@ public virtual void RegisterPatientAndUseThe_FormatParameterToRequestTheResponse [NUnit.Framework.TestCaseAttribute("application/fhir+json", "application/fhir+json", "application/fhir+json", "JSON", null)] [NUnit.Framework.TestCaseAttribute("application/fhir+xml", "application/fhir+json", "application/fhir+xml", "XML", null)] [NUnit.Framework.TestCaseAttribute("application/fhir+json", "application/fhir+xml", "application/fhir+json", "JSON", null)] - public virtual void RegisterPatientAndUseBothTheAcceptHeaderAnd_FormatParameterToRequestTheResponseFormat(string contentType, string acceptHeader, string format, string responseFormat, string[] exampleTags) + public void RegisterPatientAndUseBothTheAcceptHeaderAnd_FormatParameterToRequestTheResponseFormat(string contentType, string acceptHeader, string format, string responseFormat, string[] exampleTags) { + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("ContentType", contentType); + argumentsOfScenario.Add("AcceptHeader", acceptHeader); + argumentsOfScenario.Add("Format", format); + argumentsOfScenario.Add("ResponseFormat", responseFormat); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Register Patient and use both the Accept header and _format parameter to request " + - "the response format", null, exampleTags); + "the response format", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 112 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 113 testRunner.Given("I get the next Patient to register and store it", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 114 testRunner.Given("I configure the default \"RegisterPatient\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 115 testRunner.And("I add a generic Identifier to the Stored Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 116 testRunner.And(string.Format("I set the request content type to \"{0}\"", contentType), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 117 testRunner.And(string.Format("I set the Accept header to \"{0}\"", acceptHeader), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 118 testRunner.And(string.Format("I add a Format parameter with the Value \"{0}\"", format), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 119 testRunner.And("I add the Stored Patient as a parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 120 testRunner.When("I make the \"RegisterPatient\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 121 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 122 testRunner.And(string.Format("the response should be the format FHIR {0}", responseFormat), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 123 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 124 testRunner.And("the response meta profile should be for \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 125 testRunner.And("the response bundle should contain a single Patient resource", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 126 testRunner.And("the Patient Metadata should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 127 testRunner.And("the Patient Nhs Number Identifer should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 128 testRunner.And("the Patient Registration Details Extension should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 129 testRunner.And("the Patient Demographics should match the Stored Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 130 testRunner.And("the Patient Optional Elements should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 131 testRunner.And("the Patient Link should be valid and resolvable", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Register patient with invalid bundle resource type")] - public virtual void RegisterPatientWithInvalidBundleResourceType() + public void RegisterPatientWithInvalidBundleResourceType() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Register patient with invalid bundle resource type", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Register patient with invalid bundle resource type", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 143 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 144 testRunner.Given("I get the next Patient to register and store it", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 145 testRunner.Given("I configure the default \"RegisterPatient\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 146 testRunner.And("I add the Stored Patient as a parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 147 testRunner.When("I make the \"RegisterPatient\" request with invalid Resource type", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 148 testRunner.Then("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 149 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_RESOU" + - "RCE\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "RCE\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Register patient with invalid patient resource type")] - public virtual void RegisterPatientWithInvalidPatientResourceType() + public void RegisterPatientWithInvalidPatientResourceType() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Register patient with invalid patient resource type", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Register patient with invalid patient resource type", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 151 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 152 testRunner.Given("I get the next Patient to register and store it", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 153 testRunner.Given("I configure the default \"RegisterPatient\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 154 testRunner.And("I add the Stored Patient as a parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 155 testRunner.When("I make the \"RegisterPatient\" request with invalid parameter Resource type", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 156 testRunner.Then("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 157 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_RESOU" + - "RCE\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "RCE\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Register patient with invalid patient resource with additional element")] - public virtual void RegisterPatientWithInvalidPatientResourceWithAdditionalElement() + public void RegisterPatientWithInvalidPatientResourceWithAdditionalElement() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Register patient with invalid patient resource with additional element", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Register patient with invalid patient resource with additional element", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 159 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 160 testRunner.Given("I get the next Patient to register and store it", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 161 testRunner.Given("I configure the default \"RegisterPatient\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 162 testRunner.And("I add the Stored Patient as a parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 163 testRunner.When("I make the \"RegisterPatient\" request with additional field in parameter Resource", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 164 testRunner.Then("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 165 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_RESOU" + - "RCE\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "RCE\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Register patient with duplicate patient resource parameters")] - public virtual void RegisterPatientWithDuplicatePatientResourceParameters() + public void RegisterPatientWithDuplicatePatientResourceParameters() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Register patient with duplicate patient resource parameters", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Register patient with duplicate patient resource parameters", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 167 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 168 testRunner.Given("I get the next Patient to register and store it", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 169 testRunner.Given("I configure the default \"RegisterPatient\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 170 testRunner.And("I add the Stored Patient as a parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 171 testRunner.And("I add the Stored Patient as a parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 172 testRunner.When("I make the \"RegisterPatient\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 173 testRunner.Then("the response status code should be \"400\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 174 testRunner.And("the response should be a OperationOutcome resource with error code \"BAD_REQUEST\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Register patient1 which already exists on the system as a normal patient")] - public virtual void RegisterPatient1WhichAlreadyExistsOnTheSystemAsANormalPatient() + public void RegisterPatient1WhichAlreadyExistsOnTheSystemAsANormalPatient() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Register patient1 which already exists on the system as a normal patient", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Register patient1 which already exists on the system as a normal patient", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 176 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 177 testRunner.Given("I configure the default \"PatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 178 testRunner.And("I add a Patient Identifier parameter with default System and Value \"patient1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 179 testRunner.When("I make the \"PatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 180 testRunner.Then("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 181 testRunner.And("the response bundle should contain a single Patient resource", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 182 testRunner.Then("I store the patient in the register patient resource format", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 183 testRunner.Given("I configure the default \"RegisterPatient\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 184 testRunner.And("I add the Stored Patient as a parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 185 testRunner.When("I make the \"RegisterPatient\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 186 testRunner.Then("the response status code should be \"409\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 187 testRunner.And("the response should be a OperationOutcome resource with error code \"DUPLICATE_REJ" + - "ECTED\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ECTED\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Register patient which already exists on the system as a temporary patient")] - public virtual void RegisterPatientWhichAlreadyExistsOnTheSystemAsATemporaryPatient() + public void RegisterPatientWhichAlreadyExistsOnTheSystemAsATemporaryPatient() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Register patient which already exists on the system as a temporary patient", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Register patient which already exists on the system as a temporary patient", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 189 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 190 testRunner.Given("I get the next Patient to register and store it", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 191 testRunner.Given("I configure the default \"RegisterPatient\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 192 testRunner.And("I add the Stored Patient as a parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 193 testRunner.When("I make the \"RegisterPatient\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 194 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 195 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 196 testRunner.And("the response bundle should contain a single Patient resource", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 197 testRunner.Given("I configure the default \"RegisterPatient\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 198 testRunner.And("I add the Stored Patient as a parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 199 testRunner.When("I make the \"RegisterPatient\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 200 testRunner.Then("the response status code should be \"409\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 201 testRunner.And("the response should be a OperationOutcome resource with error code \"DUPLICATE_REJ" + - "ECTED\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ECTED\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Register patient which is not the Spine")] - public virtual void RegisterPatientWhichIsNotTheSpine() + public void RegisterPatientWhichIsNotTheSpine() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Register patient which is not the Spine", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Register patient which is not the Spine", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 203 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 204 testRunner.Given("I create a Patient which does not exist on PDS and store it", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 205 testRunner.Given("I configure the default \"RegisterPatient\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 206 testRunner.And("I add the Stored Patient as a parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 207 testRunner.When("I make the \"RegisterPatient\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 208 testRunner.Then("the response status code should be \"400\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 211 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_PATIE" + - "NT_DEMOGRAPHICS\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "NT_DEMOGRAPHICS\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Register patient with no official name")] - public virtual void RegisterPatientWithNoOfficialName() + public void RegisterPatientWithNoOfficialName() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Register patient with no official name", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Register patient with no official name", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 213 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 214 testRunner.Given("I get the next Patient to register and store it", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 215 testRunner.Given("I configure the default \"RegisterPatient\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 216 testRunner.And("I remove the Official Name from the Stored Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 217 testRunner.And("I add the Stored Patient as a parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 218 testRunner.When("I make the \"RegisterPatient\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 219 testRunner.Then("the response status code should be \"400\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 220 testRunner.And("the response should be a OperationOutcome resource with error code \"BAD_REQUEST\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -609,83 +923,134 @@ public virtual void RegisterPatientWithNoOfficialName() [NUnit.Framework.TestCaseAttribute("1", null)] [NUnit.Framework.TestCaseAttribute("2", null)] [NUnit.Framework.TestCaseAttribute("5", null)] - public virtual void RegisterPatientWithMultipleGivenNames(string extraGivenNames, string[] exampleTags) + public void RegisterPatientWithMultipleGivenNames(string extraGivenNames, string[] exampleTags) { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Register Patient with multiple given names", null, exampleTags); + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("ExtraGivenNames", extraGivenNames); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Register Patient with multiple given names", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 222 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 223 testRunner.Given("I get the next Patient to register and store it", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 224 testRunner.Given("I configure the default \"RegisterPatient\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 225 testRunner.And(string.Format("I add \"{0}\" Given Names to the Stored Patient Official Name", extraGivenNames), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 226 testRunner.And("I add the Stored Patient as a parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 227 testRunner.When("I make the \"RegisterPatient\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 228 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 229 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 230 testRunner.And("the response meta profile should be for \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 231 testRunner.And("the Patient Demographics should match the Stored Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Register patient no family names")] - public virtual void RegisterPatientNoFamilyNames() + public void RegisterPatientNoFamilyNames() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Register patient no family names", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Register patient no family names", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 238 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 239 testRunner.Given("I get the next Patient to register and store it", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 240 testRunner.Given("I configure the default \"RegisterPatient\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 241 testRunner.And("I remove the Family Name from the Active Given Name for the Stored Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 242 testRunner.And("I add the Stored Patient as a parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 243 testRunner.When("I make the \"RegisterPatient\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 244 testRunner.Then("the response status code should be \"400\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 245 testRunner.And("the response should be a OperationOutcome resource with error code \"BAD_REQUEST\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Register patient containing identifier without mandatory system elements")] - public virtual void RegisterPatientContainingIdentifierWithoutMandatorySystemElements() + public void RegisterPatientContainingIdentifierWithoutMandatorySystemElements() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Register patient containing identifier without mandatory system elements", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Register patient containing identifier without mandatory system elements", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 247 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 248 testRunner.Given("I get the next Patient to register and store it", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 249 testRunner.Given("I configure the default \"RegisterPatient\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 250 testRunner.And("I add an Identifier with missing System to the Stored Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 251 testRunner.And("I add the Stored Patient as a parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 252 testRunner.When("I make the \"RegisterPatient\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 253 testRunner.Then("the response status code should be \"400\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 254 testRunner.And("the response should be a OperationOutcome resource with error code \"BAD_REQUEST\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -694,39 +1059,62 @@ public virtual void RegisterPatientContainingIdentifierWithoutMandatorySystemEle [NUnit.Framework.TestCaseAttribute("Address", null)] [NUnit.Framework.TestCaseAttribute("Name", null)] [NUnit.Framework.TestCaseAttribute("Telecom", null)] - public virtual void RegisterPatientWithAdditionalValidElements(string elementToAdd, string[] exampleTags) + public void RegisterPatientWithAdditionalValidElements(string elementToAdd, string[] exampleTags) { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Register patient with additional valid elements", null, exampleTags); + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("ElementToAdd", elementToAdd); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Register patient with additional valid elements", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 256 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 257 testRunner.Given("I get the next Patient to register and store it", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 258 testRunner.Given("I configure the default \"RegisterPatient\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 259 testRunner.And("I add the Stored Patient as a parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 260 testRunner.And(string.Format("I add a {0} element to the Stored Patient", elementToAdd), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 261 testRunner.When("I make the \"RegisterPatient\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 262 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 263 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 264 testRunner.And("the response meta profile should be for \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 265 testRunner.And("the response bundle should contain a single Patient resource", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 266 testRunner.And("the Patient Metadata should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 267 testRunner.And("the Patient Nhs Number Identifer should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 268 testRunner.And("the Patient Registration Details Extension should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 269 testRunner.And("the Patient Demographics should match the Stored Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -738,89 +1126,142 @@ public virtual void RegisterPatientWithAdditionalValidElements(string elementToA [NUnit.Framework.TestCaseAttribute("Contact", null)] [NUnit.Framework.TestCaseAttribute("ManagingOrg", null)] [NUnit.Framework.TestCaseAttribute("Marital", null)] - public virtual void RegisterPatientWithInvalidAdditionalValidElements(string elementToAdd, string[] exampleTags) + public void RegisterPatientWithInvalidAdditionalValidElements(string elementToAdd, string[] exampleTags) { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Register patient with invalid additional valid elements", null, exampleTags); + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("ElementToAdd", elementToAdd); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Register patient with invalid additional valid elements", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 284 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 285 testRunner.Given("I get the next Patient to register and store it", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 286 testRunner.Given("I configure the default \"RegisterPatient\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 287 testRunner.And("I add the Stored Patient as a parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 288 testRunner.And(string.Format("I add a {0} element to the Stored Patient", elementToAdd), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 289 testRunner.When("I make the \"RegisterPatient\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 290 testRunner.Then("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 291 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_RESOU" + - "RCE\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "RCE\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Register patient with Address and Telecom")] - public virtual void RegisterPatientWithAddressAndTelecom() + public void RegisterPatientWithAddressAndTelecom() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Register patient with Address and Telecom", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Register patient with Address and Telecom", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 301 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 302 testRunner.Given("I get the next Patient to register and store it", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 303 testRunner.Given("I configure the default \"RegisterPatient\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 304 testRunner.And("I add the Stored Patient as a parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 305 testRunner.And("I add a Address element to the Stored Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 306 testRunner.And("I add a Telecom element to the Stored Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 307 testRunner.When("I make the \"RegisterPatient\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 308 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 309 testRunner.And("the Patient should has a correct Address", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 310 testRunner.And("the Patient should has a correct Telecom", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Register patient with Multiple Address not allowed and Telecom")] - public virtual void RegisterPatientWithMultipleAddressNotAllowedAndTelecom() + public void RegisterPatientWithMultipleAddressNotAllowedAndTelecom() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Register patient with Multiple Address not allowed and Telecom", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Register patient with Multiple Address not allowed and Telecom", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 317 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 318 testRunner.Given("I get the next Patient to register and store it", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 319 testRunner.Given("I configure the default \"RegisterPatient\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 320 testRunner.And("I add the Stored Patient as a parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 321 testRunner.And("I add a Address element to the Stored Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 322 testRunner.And("I add a Address element to the Stored Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 323 testRunner.And("I add a Telecom element to the Stored Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 324 testRunner.When("I make the \"RegisterPatient\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 325 testRunner.Then("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 326 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_RESOU" + - "RCE\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "RCE\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -846,33 +1287,54 @@ public virtual void RegisterPatientWithMultipleAddressNotAllowedAndTelecom() [NUnit.Framework.TestCaseAttribute("Email", "Work", null)] [NUnit.Framework.TestCaseAttribute("Email", "Mobile", null)] [NUnit.Framework.TestCaseAttribute("Email", "Temp", null)] - public virtual void RegisterPatientWithAddressAndValidTelecomElements(string use1, string use2, string[] exampleTags) + public void RegisterPatientWithAddressAndValidTelecomElements(string use1, string use2, string[] exampleTags) { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Register patient with Address and Valid Telecom elements", null, exampleTags); + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("Use1", use1); + argumentsOfScenario.Add("Use2", use2); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Register patient with Address and Valid Telecom elements", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 328 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 329 testRunner.Given("I get the next Patient to register and store it", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 330 testRunner.Given("I configure the default \"RegisterPatient\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 331 testRunner.And("I add the Stored Patient as a parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 332 testRunner.And("I add a Address element to the Stored Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 333 testRunner.And(string.Format("I add a Telecom element use \"{0}\" to the Stored Patient", use1), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 334 testRunner.And(string.Format("I add a Telecom element use \"{0}\" to the Stored Patient", use2), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 335 testRunner.When("I make the \"RegisterPatient\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 336 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 337 testRunner.And("the Patient should has a correct Address", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 338 testRunner.And("the Patient should has a correct Telecom", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -883,100 +1345,160 @@ public virtual void RegisterPatientWithAddressAndValidTelecomElements(string use [NUnit.Framework.TestCaseAttribute("Mobile", "Mobile", null)] [NUnit.Framework.TestCaseAttribute("Temp", "Temp", null)] [NUnit.Framework.TestCaseAttribute("Email", "Email", null)] - public virtual void RegisterPatientWithAddressAndInvalidTelecomElements(string use1, string use2, string[] exampleTags) + public void RegisterPatientWithAddressAndInvalidTelecomElements(string use1, string use2, string[] exampleTags) { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Register patient with Address and Invalid Telecom elements", null, exampleTags); + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("Use1", use1); + argumentsOfScenario.Add("Use2", use2); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Register patient with Address and Invalid Telecom elements", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 362 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 363 testRunner.Given("I get the next Patient to register and store it", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 364 testRunner.Given("I configure the default \"RegisterPatient\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 365 testRunner.And("I add the Stored Patient as a parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 366 testRunner.And("I add a Address element to the Stored Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 367 testRunner.And(string.Format("I add a Telecom element use \"{0}\" to the Stored Patient", use1), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 368 testRunner.And(string.Format("I add a Telecom element use \"{0}\" to the Stored Patient", use2), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 369 testRunner.When("I make the \"RegisterPatient\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 370 testRunner.Then("the response status code should be \"400\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 371 testRunner.And("the response should be a OperationOutcome resource with error code \"BAD_REQUEST\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Register patient with Address Telecom and nhsCommunication")] - public virtual void RegisterPatientWithAddressTelecomAndNhsCommunication() + public void RegisterPatientWithAddressTelecomAndNhsCommunication() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Register patient with Address Telecom and nhsCommunication", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Register patient with Address Telecom and nhsCommunication", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 380 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 381 testRunner.Given("I get the next Patient to register and store it", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 382 testRunner.Given("I configure the default \"RegisterPatient\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 383 testRunner.And("I add the Stored Patient as a parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 384 testRunner.And("I add a Address element to the Stored Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 385 testRunner.And("I add a Telecom element to the Stored Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 386 testRunner.And("I add nhsCommunication extension to the Stored Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 387 testRunner.When("I make the \"RegisterPatient\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 388 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 389 testRunner.And("the Patient should has a correct Address", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 390 testRunner.And("the Patient should has a correct Telecom", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 391 testRunner.And("the Patient Optional Elements should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 394 testRunner.And("the Patient NhsCommunicationExtension should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Register patient with Address Telecom and multiple nhsCommunication")] - public virtual void RegisterPatientWithAddressTelecomAndMultipleNhsCommunication() + public void RegisterPatientWithAddressTelecomAndMultipleNhsCommunication() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Register patient with Address Telecom and multiple nhsCommunication", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Register patient with Address Telecom and multiple nhsCommunication", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 396 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 397 testRunner.Given("I get the next Patient to register and store it", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 398 testRunner.Given("I configure the default \"RegisterPatient\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 399 testRunner.And("I add the Stored Patient as a parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 400 testRunner.And("I add a Address element to the Stored Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 401 testRunner.And("I add a Telecom element to the Stored Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 402 testRunner.And("I add nhsCommunication extension to the Stored Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 403 testRunner.And("I add nhsCommunication extension to the Stored Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 404 testRunner.When("I make the \"RegisterPatient\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 405 testRunner.Then("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 406 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_RESOU" + - "RCE\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "RCE\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -986,28 +1508,45 @@ public virtual void RegisterPatientWithAddressTelecomAndMultipleNhsCommunication [NUnit.Framework.TestCaseAttribute("Communication", null)] [NUnit.Framework.TestCaseAttribute("Photo", null)] [NUnit.Framework.TestCaseAttribute("Deceased", null)] - public virtual void RegisterPatientWithAdditionalNotAllowedElements(string elementToAdd, string[] exampleTags) + public void RegisterPatientWithAdditionalNotAllowedElements(string elementToAdd, string[] exampleTags) { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Register patient with additional not allowed elements", null, exampleTags); + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("ElementToAdd", elementToAdd); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Register patient with additional not allowed elements", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 421 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 422 testRunner.Given("I get the next Patient to register and store it", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 423 testRunner.Given("I configure the default \"RegisterPatient\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 424 testRunner.And("I add the Stored Patient as a parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 425 testRunner.And(string.Format("I add a {0} element to the Stored Patient", elementToAdd), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 426 testRunner.When("I make the \"RegisterPatient\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 427 testRunner.Then("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 428 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_RESOU" + - "RCE\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "RCE\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -1015,197 +1554,313 @@ public virtual void RegisterPatientWithAdditionalNotAllowedElements(string eleme [NUnit.Framework.DescriptionAttribute("Register patient setting JWT request type to invalid type")] [NUnit.Framework.TestCaseAttribute("patient/*.read", null)] [NUnit.Framework.TestCaseAttribute("organization/*.read", null)] - public virtual void RegisterPatientSettingJWTRequestTypeToInvalidType(string jWTType, string[] exampleTags) + public void RegisterPatientSettingJWTRequestTypeToInvalidType(string jWTType, string[] exampleTags) { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Register patient setting JWT request type to invalid type", null, exampleTags); + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("JWTType", jWTType); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Register patient setting JWT request type to invalid type", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 436 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 437 testRunner.Given("I get the next Patient to register and store it", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 438 testRunner.Given("I configure the default \"RegisterPatient\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 439 testRunner.And(string.Format("I set the JWT requested scope to \"{0}\"", jWTType), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 440 testRunner.And("I add the Stored Patient as a parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 441 testRunner.When("I make the \"RegisterPatient\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 442 testRunner.Then("the response status code should be \"400\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 443 testRunner.And("the response should be a OperationOutcome resource with error code \"BAD_REQUEST\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Register patient invalid response check caching headers exist")] - public virtual void RegisterPatientInvalidResponseCheckCachingHeadersExist() + public void RegisterPatientInvalidResponseCheckCachingHeadersExist() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Register patient invalid response check caching headers exist", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Register patient invalid response check caching headers exist", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 449 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 450 testRunner.Given("I get the next Patient to register and store it", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 451 testRunner.Given("I configure the default \"RegisterPatient\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 452 testRunner.And("I remove the Identifiers from the Stored Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 453 testRunner.And("I add the Stored Patient as a parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 454 testRunner.When("I make the \"RegisterPatient\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 455 testRunner.Then("the response status code should be \"400\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 456 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_NHS_N" + - "UMBER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "UMBER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 457 testRunner.And("the required cacheing headers should be present in the response", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Register patient and check preferred branch")] - public virtual void RegisterPatientAndCheckPreferredBranch() + public void RegisterPatientAndCheckPreferredBranch() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Register patient and check preferred branch", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Register patient and check preferred branch", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 459 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 460 testRunner.Given("I get the next Patient to register and store it", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 461 testRunner.Given("I configure the default \"RegisterPatient\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 462 testRunner.And("I add the Stored Patient as a parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 463 testRunner.When("I make the \"RegisterPatient\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 464 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 465 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 466 testRunner.And("the response meta profile should be for \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 467 testRunner.And("the response bundle should contain a single Patient resource", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 468 testRunner.And("the Patient Registration Details Extension should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Register patient with family name not matching PDS")] - public virtual void RegisterPatientWithFamilyNameNotMatchingPDS() + public void RegisterPatientWithFamilyNameNotMatchingPDS() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Register patient with family name not matching PDS", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Register patient with family name not matching PDS", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 472 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 473 testRunner.Given("I get the next Patient to register and store it", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 474 testRunner.Given("I configure the default \"RegisterPatient\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 475 testRunner.And("I change the Family Name from the Stored Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 476 testRunner.And("I add the Stored Patient as a parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 477 testRunner.When("I make the \"RegisterPatient\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 478 testRunner.Then("the response status code should be \"400\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 479 testRunner.And("the response should be a OperationOutcome resource with error code \"BAD_REQUEST\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Register deceased patient")] [NUnit.Framework.CategoryAttribute("1.5.0-IncrementalAndRegression")] - public virtual void RegisterDeceasedPatient() + public void RegisterDeceasedPatient() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Register deceased patient", null, new string[] { - "1.5.0-IncrementalAndRegression"}); + string[] tagsOfScenario = new string[] { + "1.5.0-IncrementalAndRegression"}; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Register deceased patient", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 506 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 507 testRunner.Given("I get the next Patient to register and store it", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 508 testRunner.Given("I configure the default \"RegisterPatient\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 509 testRunner.And("I add the Stored Patient as a parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 510 testRunner.And("I change the NHSNo from the Stored Patient \"patient18\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 511 testRunner.When("I make the \"RegisterPatient\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 512 testRunner.Then("the response status code should be \"400\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 514 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_PATIE" + - "NT_DEMOGRAPHICS\" and display \"Invalid patient demographics\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "NT_DEMOGRAPHICS\" and display \"Invalid patient demographics\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Register sensitive patient")] - public virtual void RegisterSensitivePatient() + public void RegisterSensitivePatient() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Register sensitive patient", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Register sensitive patient", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 516 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 517 testRunner.Given("I get the next Patient to register and store it", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 518 testRunner.Given("I configure the default \"RegisterPatient\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 519 testRunner.And("I add the Stored Patient as a parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 520 testRunner.And("I change the NHSNo from the Stored Patient \"patient9\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 521 testRunner.When("I make the \"RegisterPatient\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 522 testRunner.Then("the response status code should be \"400\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 523 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_PATIE" + - "NT_DEMOGRAPHICS\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "NT_DEMOGRAPHICS\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Register superseded patient")] [NUnit.Framework.CategoryAttribute("1.5.0-IncrementalAndRegression")] - public virtual void RegisterSupersededPatient() + public void RegisterSupersededPatient() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Register superseded patient", null, new string[] { - "1.5.0-IncrementalAndRegression"}); + string[] tagsOfScenario = new string[] { + "1.5.0-IncrementalAndRegression"}; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Register superseded patient", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 526 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 527 testRunner.Given("I get the next Patient to register and store it", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 528 testRunner.Given("I configure the default \"RegisterPatient\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 529 testRunner.And("I add the Stored Patient as a parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 530 testRunner.And("I change the NHSNo from the Stored Patient \"patient11\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 531 testRunner.When("I make the \"RegisterPatient\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 532 testRunner.Then("the response status code should be \"400\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 534 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_NHS_N" + - "UMBER\" and display \"Invalid NHS number\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "UMBER\" and display \"Invalid NHS number\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -1213,29 +1868,48 @@ public virtual void RegisterSupersededPatient() [NUnit.Framework.DescriptionAttribute("Register patient with Multiple Address Use types")] [NUnit.Framework.TestCaseAttribute("Home", "Temp", null)] [NUnit.Framework.TestCaseAttribute("Temp", "Home", null)] - public virtual void RegisterPatientWithMultipleAddressUseTypes(string use1, string use2, string[] exampleTags) + public void RegisterPatientWithMultipleAddressUseTypes(string use1, string use2, string[] exampleTags) { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Register patient with Multiple Address Use types", null, exampleTags); + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("Use1", use1); + argumentsOfScenario.Add("Use2", use2); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Register patient with Multiple Address Use types", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 554 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 555 testRunner.Given("I get the next Patient to register and store it", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 556 testRunner.Given("I configure the default \"RegisterPatient\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 557 testRunner.And("I add the Stored Patient as a parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 558 testRunner.And(string.Format("I add a Address element to the Stored Patient with Use \"{0}\"", use1), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 559 testRunner.And(string.Format("I add a Address element to the Stored Patient with Use \"{0}\"", use2), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 560 testRunner.When("I make the \"RegisterPatient\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 561 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 562 testRunner.And("the Patient should has a correct Address", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -1250,32 +1924,52 @@ public virtual void RegisterPatientWithMultipleAddressUseTypes(string use1, stri [NUnit.Framework.TestCaseAttribute("Temp", "Work", null)] [NUnit.Framework.TestCaseAttribute("Temp", "Temp", null)] [NUnit.Framework.TestCaseAttribute("Temp", "Old", null)] - public virtual void RegisterPatientWithInvalidMultipleAddressUseTypes(string use1, string use2, string[] exampleTags) + public void RegisterPatientWithInvalidMultipleAddressUseTypes(string use1, string use2, string[] exampleTags) { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Register patient with Invalid Multiple Address Use types", null, exampleTags); + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("Use1", use1); + argumentsOfScenario.Add("Use2", use2); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Register patient with Invalid Multiple Address Use types", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 570 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 571 testRunner.Given("I get the next Patient to register and store it", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 572 testRunner.Given("I configure the default \"RegisterPatient\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 573 testRunner.And("I add the Stored Patient as a parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 574 testRunner.And(string.Format("I add a Address element to the Stored Patient with Use \"{0}\"", use1), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 575 testRunner.And(string.Format("I add a Address element to the Stored Patient with Use \"{0}\"", use2), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 576 testRunner.When("I make the \"RegisterPatient\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 577 testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 578 testRunner.Then("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 579 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_RESOU" + - "RCE\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "RCE\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -1283,30 +1977,48 @@ public virtual void RegisterPatientWithInvalidMultipleAddressUseTypes(string use [NUnit.Framework.DescriptionAttribute("Register patient with Invalid Address Use type")] [NUnit.Framework.TestCaseAttribute("Work", null)] [NUnit.Framework.TestCaseAttribute("Old", null)] - public virtual void RegisterPatientWithInvalidAddressUseType(string use1, string[] exampleTags) + public void RegisterPatientWithInvalidAddressUseType(string use1, string[] exampleTags) { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Register patient with Invalid Address Use type", null, exampleTags); + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("Use1", use1); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Register patient with Invalid Address Use type", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 594 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 595 testRunner.Given("I get the next Patient to register and store it", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 596 testRunner.Given("I configure the default \"RegisterPatient\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 597 testRunner.And("I add the Stored Patient as a parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 598 testRunner.And(string.Format("I add a Address element to the Stored Patient with Use \"{0}\"", use1), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 599 testRunner.When("I make the \"RegisterPatient\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 600 testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 601 testRunner.Then("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 602 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_RESOU" + - "RCE\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "RCE\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } } diff --git a/GPConnect.Provider.AcceptanceTests/PatientSearch.feature.cs b/GPConnect.Provider.AcceptanceTests/PatientSearch.feature.cs index 87a0eec1..7fca1774 100644 --- a/GPConnect.Provider.AcceptanceTests/PatientSearch.feature.cs +++ b/GPConnect.Provider.AcceptanceTests/PatientSearch.feature.cs @@ -1,8 +1,8 @@ -// ------------------------------------------------------------------------------ +// ------------------------------------------------------------------------------ // -// This code was generated by SpecFlow (http://www.specflow.org/). -// SpecFlow Version:3.0.0.0 -// SpecFlow Generator Version:3.0.0.0 +// This code was generated by SpecFlow (https://www.specflow.org/). +// SpecFlow Version:3.9.0.0 +// SpecFlow Generator Version:3.9.0.0 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. @@ -13,9 +13,11 @@ namespace GPConnect.Provider.AcceptanceTests { using TechTalk.SpecFlow; + using System; + using System.Linq; - [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "3.0.0.0")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "3.9.0.0")] [System.Runtime.CompilerServices.CompilerGeneratedAttribute()] [NUnit.Framework.TestFixtureAttribute()] [NUnit.Framework.DescriptionAttribute("PatientSearch")] @@ -26,6 +28,10 @@ public partial class PatientSearchFeature private TechTalk.SpecFlow.ITestRunner testRunner; + private static string[] featureTags = new string[] { + "patient", + "1.5.0-Full-Pack"}; + #line 1 "PatientSearch.feature" #line hidden @@ -33,9 +39,7 @@ public partial class PatientSearchFeature public virtual void FeatureSetup() { testRunner = TechTalk.SpecFlow.TestRunnerManager.GetTestRunner(); - TechTalk.SpecFlow.FeatureInfo featureInfo = new TechTalk.SpecFlow.FeatureInfo(new System.Globalization.CultureInfo("en-US"), "PatientSearch", null, ProgrammingLanguage.CSharp, new string[] { - "patient", - "1.5.0-Full-Pack"}); + TechTalk.SpecFlow.FeatureInfo featureInfo = new TechTalk.SpecFlow.FeatureInfo(new System.Globalization.CultureInfo("en-US"), "", "PatientSearch", null, ProgrammingLanguage.CSharp, featureTags); testRunner.OnFeatureStart(featureInfo); } @@ -47,202 +51,303 @@ public virtual void FeatureTearDown() } [NUnit.Framework.SetUpAttribute()] - public virtual void TestInitialize() + public void TestInitialize() { } [NUnit.Framework.TearDownAttribute()] - public virtual void ScenarioTearDown() + public void TestTearDown() { testRunner.OnScenarioEnd(); } - public virtual void ScenarioInitialize(TechTalk.SpecFlow.ScenarioInfo scenarioInfo) + public void ScenarioInitialize(TechTalk.SpecFlow.ScenarioInfo scenarioInfo) { testRunner.OnScenarioInitialize(scenarioInfo); testRunner.ScenarioContext.ScenarioContainer.RegisterInstanceAs(NUnit.Framework.TestContext.CurrentContext); } - public virtual void ScenarioStart() + public void ScenarioStart() { testRunner.OnScenarioStart(); } - public virtual void ScenarioCleanup() + public void ScenarioCleanup() { testRunner.CollectScenarioErrors(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Returned patients should contain a logical identifier")] - public virtual void ReturnedPatientsShouldContainALogicalIdentifier() + public void ReturnedPatientsShouldContainALogicalIdentifier() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Returned patients should contain a logical identifier", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Returned patients should contain a logical identifier", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 4 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 5 testRunner.Given("I configure the default \"PatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 6 testRunner.And("I add a Patient Identifier parameter with default System and Value \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 7 testRunner.When("I make the \"PatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 8 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 9 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 10 testRunner.And("the response bundle should contain \"1\" entries", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 11 testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 12 testRunner.And("the patient resource in the bundle should contain meta data profile and version i" + - "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Provider should return an error when no system is supplied in the identifier para" + "meter")] - public virtual void ProviderShouldReturnAnErrorWhenNoSystemIsSuppliedInTheIdentifierParameter() + public void ProviderShouldReturnAnErrorWhenNoSystemIsSuppliedInTheIdentifierParameter() { + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Provider should return an error when no system is supplied in the identifier para" + - "meter", null, ((string[])(null))); + "meter", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 14 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 15 testRunner.Given("I configure the default \"PatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 16 testRunner.And("I add a Patient Identifier parameter with no System and Value \"patient1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 17 testRunner.When("I make the \"PatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 18 testRunner.Then("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 19 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_PARAM" + - "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Provider should return an error when a blank system is supplied in the identifier" + " parameter")] - public virtual void ProviderShouldReturnAnErrorWhenABlankSystemIsSuppliedInTheIdentifierParameter() + public void ProviderShouldReturnAnErrorWhenABlankSystemIsSuppliedInTheIdentifierParameter() { + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Provider should return an error when a blank system is supplied in the identifier" + - " parameter", null, ((string[])(null))); + " parameter", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 21 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 22 testRunner.Given("I configure the default \"PatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 23 testRunner.And("I add a Patient Identifier parameter with System \"\" and Value \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 24 testRunner.When("I make the \"PatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 25 testRunner.Then("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 26 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_PARAM" + - "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("When a patient is not found on the provider system an empty bundle should be retu" + "rned")] - public virtual void WhenAPatientIsNotFoundOnTheProviderSystemAnEmptyBundleShouldBeReturned() + public void WhenAPatientIsNotFoundOnTheProviderSystemAnEmptyBundleShouldBeReturned() { + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("When a patient is not found on the provider system an empty bundle should be retu" + - "rned", null, ((string[])(null))); + "rned", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 28 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 29 testRunner.Given("I configure the default \"PatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 30 testRunner.And("I add a Patient Identifier parameter with default System and Value \"patientNotInS" + - "ystem\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ystem\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 31 testRunner.When("I make the \"PatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 32 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 33 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 34 testRunner.And("the response bundle should contain \"0\" entries", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Patient search should fail if no identifier parameter is include")] - public virtual void PatientSearchShouldFailIfNoIdentifierParameterIsInclude() + public void PatientSearchShouldFailIfNoIdentifierParameterIsInclude() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Patient search should fail if no identifier parameter is include", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Patient search should fail if no identifier parameter is include", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 36 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 37 testRunner.Given("I configure the default \"PatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 38 testRunner.When("I make the \"PatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 39 testRunner.Then("the response status code should be \"400\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 40 testRunner.And("the response should be a OperationOutcome resource with error code \"BAD_REQUEST\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("The identifier parameter should be rejected if the case is incorrect")] - public virtual void TheIdentifierParameterShouldBeRejectedIfTheCaseIsIncorrect() + public void TheIdentifierParameterShouldBeRejectedIfTheCaseIsIncorrect() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("The identifier parameter should be rejected if the case is incorrect", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("The identifier parameter should be rejected if the case is incorrect", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 42 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 43 testRunner.Given("I configure the default \"PatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 44 testRunner.And("I add a Patient Identifier parameter with identifier name \"Identifier\" default Sy" + - "stem and Value \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "stem and Value \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 45 testRunner.When("I make the \"PatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 46 testRunner.Then("the response status code should be \"400\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 47 testRunner.And("the response should be a OperationOutcome resource with error code \"BAD_REQUEST\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("The response should be an error if no value is sent in the identifier parameter")] - public virtual void TheResponseShouldBeAnErrorIfNoValueIsSentInTheIdentifierParameter() + public void TheResponseShouldBeAnErrorIfNoValueIsSentInTheIdentifierParameter() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("The response should be an error if no value is sent in the identifier parameter", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("The response should be an error if no value is sent in the identifier parameter", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 49 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 50 testRunner.Given("I configure the default \"PatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 51 testRunner.And("I add the parameter \"identifier\" with the value \"https://fhir.nhs.uk/Id/nhs-numbe" + - "r|\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "r|\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 52 testRunner.When("I make the \"PatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 53 testRunner.Then("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 54 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_PARAM" + - "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -250,33 +355,54 @@ public virtual void TheResponseShouldBeAnErrorIfNoValueIsSentInTheIdentifierPara [NUnit.Framework.DescriptionAttribute("The patient search endpoint should accept the accept header")] [NUnit.Framework.TestCaseAttribute("application/fhir+xml", "XML", null)] [NUnit.Framework.TestCaseAttribute("application/fhir+json", "JSON", null)] - public virtual void ThePatientSearchEndpointShouldAcceptTheAcceptHeader(string acceptHeader, string resultFormat, string[] exampleTags) + public void ThePatientSearchEndpointShouldAcceptTheAcceptHeader(string acceptHeader, string resultFormat, string[] exampleTags) { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("The patient search endpoint should accept the accept header", null, exampleTags); + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("AcceptHeader", acceptHeader); + argumentsOfScenario.Add("ResultFormat", resultFormat); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("The patient search endpoint should accept the accept header", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 56 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 57 testRunner.Given("I configure the default \"PatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 58 testRunner.And(string.Format("I set the Accept header to \"{0}\"", acceptHeader), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 59 testRunner.And("I add a Patient Identifier parameter with default System and Value \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 60 testRunner.When("I make the \"PatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 61 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 62 testRunner.And(string.Format("the response body should be FHIR {0}", resultFormat), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 63 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 64 testRunner.And("the response bundle should contain \"1\" entries", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 65 testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 66 testRunner.And("the Patient Identifiers should be valid for Patient \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -284,33 +410,54 @@ public virtual void ThePatientSearchEndpointShouldAcceptTheAcceptHeader(string a [NUnit.Framework.DescriptionAttribute("The patient search endpoint should accept the format parameter")] [NUnit.Framework.TestCaseAttribute("application/fhir+xml", "XML", null)] [NUnit.Framework.TestCaseAttribute("application/fhir+json", "JSON", null)] - public virtual void ThePatientSearchEndpointShouldAcceptTheFormatParameter(string formatParam, string resultFormat, string[] exampleTags) + public void ThePatientSearchEndpointShouldAcceptTheFormatParameter(string formatParam, string resultFormat, string[] exampleTags) { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("The patient search endpoint should accept the format parameter", null, exampleTags); + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("FormatParam", formatParam); + argumentsOfScenario.Add("ResultFormat", resultFormat); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("The patient search endpoint should accept the format parameter", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 72 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 73 testRunner.Given("I configure the default \"PatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 74 testRunner.And(string.Format("I add the parameter \"_format\" with the value \"{0}\"", formatParam), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 75 testRunner.And("I add a Patient Identifier parameter with default System and Value \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 76 testRunner.When("I make the \"PatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 77 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 78 testRunner.And(string.Format("the response body should be FHIR {0}", resultFormat), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 79 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 80 testRunner.And("the response bundle should contain \"1\" entries", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 81 testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 82 testRunner.And("the Patient Identifiers should be valid for Patient \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -321,36 +468,59 @@ public virtual void ThePatientSearchEndpointShouldAcceptTheFormatParameter(strin [NUnit.Framework.TestCaseAttribute("application/fhir+json", "application/fhir+xml", "XML", null)] [NUnit.Framework.TestCaseAttribute("application/fhir+json", "application/fhir+json", "JSON", null)] [NUnit.Framework.TestCaseAttribute("application/fhir+xml", "application/fhir+json", "JSON", null)] - public virtual void ThePatientSearchEndpointShouldAcceptTheFormatParameterAfterTheIdentifierParameter(string acceptHeader, string formatParam, string resultFormat, string[] exampleTags) + public void ThePatientSearchEndpointShouldAcceptTheFormatParameterAfterTheIdentifierParameter(string acceptHeader, string formatParam, string resultFormat, string[] exampleTags) { + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("AcceptHeader", acceptHeader); + argumentsOfScenario.Add("FormatParam", formatParam); + argumentsOfScenario.Add("ResultFormat", resultFormat); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("The patient search endpoint should accept the format parameter after the identifi" + - "er parameter", null, exampleTags); + "er parameter", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 88 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 89 testRunner.Given("I configure the default \"PatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 90 testRunner.And(string.Format("I set the Accept header to \"{0}\"", acceptHeader), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 91 testRunner.And("I add a Patient Identifier parameter with default System and Value \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 92 testRunner.And(string.Format("I add the parameter \"_format\" with the value \"{0}\"", formatParam), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 93 testRunner.When("I make the \"PatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 94 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 95 testRunner.And(string.Format("the response body should be FHIR {0}", resultFormat), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 96 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 97 testRunner.And("the response bundle should contain \"1\" entries", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 98 testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 99 testRunner.And("the Patient Identifiers should be valid for Patient \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -361,36 +531,59 @@ public virtual void ThePatientSearchEndpointShouldAcceptTheFormatParameterAfterT [NUnit.Framework.TestCaseAttribute("application/fhir+json", "application/fhir+xml", "XML", null)] [NUnit.Framework.TestCaseAttribute("application/fhir+json", "application/fhir+json", "JSON", null)] [NUnit.Framework.TestCaseAttribute("application/fhir+xml", "application/fhir+json", "JSON", null)] - public virtual void ThePatientSearchEndpointShouldAcceptTheFormatParameterBeforeTheIdentifierParameter(string acceptHeader, string formatParam, string resultFormat, string[] exampleTags) + public void ThePatientSearchEndpointShouldAcceptTheFormatParameterBeforeTheIdentifierParameter(string acceptHeader, string formatParam, string resultFormat, string[] exampleTags) { + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("AcceptHeader", acceptHeader); + argumentsOfScenario.Add("FormatParam", formatParam); + argumentsOfScenario.Add("ResultFormat", resultFormat); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("The patient search endpoint should accept the format parameter before the identif" + - "ier parameter", null, exampleTags); + "ier parameter", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 107 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 108 testRunner.Given("I configure the default \"PatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 109 testRunner.And(string.Format("I set the Accept header to \"{0}\"", acceptHeader), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 110 testRunner.And(string.Format("I add the parameter \"_format\" with the value \"{0}\"", formatParam), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 111 testRunner.And("I add a Patient Identifier parameter with default System and Value \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 112 testRunner.When("I make the \"PatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 113 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 114 testRunner.And(string.Format("the response body should be FHIR {0}", resultFormat), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 115 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 116 testRunner.And("the response bundle should contain \"1\" entries", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 117 testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 118 testRunner.And("the Patient Identifiers should be valid for Patient \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -399,31 +592,50 @@ public virtual void ThePatientSearchEndpointShouldAcceptTheFormatParameterBefore [NUnit.Framework.TestCaseAttribute("patient1", null)] [NUnit.Framework.TestCaseAttribute("patient2", null)] [NUnit.Framework.TestCaseAttribute("patient3", null)] - public virtual void PatientResourceShouldContainNHSNumberIdentifierReturnedAsXML(string patient, string[] exampleTags) + public void PatientResourceShouldContainNHSNumberIdentifierReturnedAsXML(string patient, string[] exampleTags) { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Patient resource should contain NHS number identifier returned as XML", null, exampleTags); + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("Patient", patient); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Patient resource should contain NHS number identifier returned as XML", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 126 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 127 testRunner.Given("I configure the default \"PatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 128 testRunner.And("I set the Accept header to \"application/fhir+xml\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 129 testRunner.And(string.Format("I add a Patient Identifier parameter with default System and Value \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 130 testRunner.When("I make the \"PatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 131 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 132 testRunner.And("the response body should be FHIR XML", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 133 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 134 testRunner.And("the response bundle should contain \"1\" entries", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 135 testRunner.And(string.Format("the Patient Identifiers should be valid for Patient \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -435,102 +647,162 @@ public virtual void PatientResourceShouldContainNHSNumberIdentifierReturnedAsXML [NUnit.Framework.TestCaseAttribute("patient4", null)] [NUnit.Framework.TestCaseAttribute("patient5", null)] [NUnit.Framework.TestCaseAttribute("patient6", null)] - public virtual void PatientSearchResponseConformsWithTheGPConnectSpecification(string patient, string[] exampleTags) + public void PatientSearchResponseConformsWithTheGPConnectSpecification(string patient, string[] exampleTags) { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Patient search response conforms with the GPConnect specification", null, exampleTags); + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("Patient", patient); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Patient search response conforms with the GPConnect specification", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 142 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 143 testRunner.Given("I configure the default \"PatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 144 testRunner.And(string.Format("I add a Patient Identifier parameter with default System and Value \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 145 testRunner.When("I make the \"PatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 146 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 147 testRunner.And("the response body should be FHIR JSON", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 148 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 149 testRunner.And("the response bundle should contain \"1\" entries", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 150 testRunner.And("the Patient Name should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 151 testRunner.And("the Patient Use should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 152 testRunner.And("the Patient Communication should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 153 testRunner.And("the Patient Contact should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 154 testRunner.And("the Patient MultipleBirth should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 155 testRunner.And("the Patient MaritalStatus should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 156 testRunner.And("the Patient Deceased should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 157 testRunner.And("the Patient Telecom should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 158 testRunner.And("the Patient ManagingOrganization Organization should be valid and resolvable", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 159 testRunner.And("the Patient GeneralPractitioner Practitioner should be valid and resolvable", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 160 testRunner.And("the Patient should exclude disallowed fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 161 testRunner.And("the Patient Link should be valid and resolvable", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 164 testRunner.And("the Patient Contact Telecom use should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 167 testRunner.And("the Patient Not In Use should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Patient search response does not return deceased patient")] - public virtual void PatientSearchResponseDoesNotReturnDeceasedPatient() + public void PatientSearchResponseDoesNotReturnDeceasedPatient() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Patient search response does not return deceased patient", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Patient search response does not return deceased patient", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 178 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 179 testRunner.Given("I configure the default \"PatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 180 testRunner.And("I add a Patient Identifier parameter with default System and Value \"patient18\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 181 testRunner.When("I make the \"PatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 182 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 183 testRunner.And("the response body should be FHIR JSON", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 184 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 185 testRunner.And("the response bundle should contain \"0\" entries", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("CapabilityStatement profile supports the Patient search operation")] - public virtual void CapabilityStatementProfileSupportsThePatientSearchOperation() + public void CapabilityStatementProfileSupportsThePatientSearchOperation() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("CapabilityStatement profile supports the Patient search operation", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("CapabilityStatement profile supports the Patient search operation", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 188 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 189 testRunner.Given("I configure the default \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 190 testRunner.When("I make the \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 191 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 192 testRunner.And("the CapabilityStatement REST Resources should contain the \"Patient\" Resource with" + - " the \"SearchType\" Interaction", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + " the \"SearchType\" Interaction", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -539,210 +811,341 @@ public virtual void CapabilityStatementProfileSupportsThePatientSearchOperation( [NUnit.Framework.TestCaseAttribute("identifier", "patient2", "identifier", "patient2", null)] [NUnit.Framework.TestCaseAttribute("identifier", "patient1", "identifier", "patient2", null)] [NUnit.Framework.TestCaseAttribute("identifier", "patient2", "identifier", "patient1", null)] - public virtual void SystemShouldErrorIfMultipleParametersValidOrInvalidAreSent(string identifier1, string patientOne, string identifier2, string patientTwo, string[] exampleTags) + public void SystemShouldErrorIfMultipleParametersValidOrInvalidAreSent(string identifier1, string patientOne, string identifier2, string patientTwo, string[] exampleTags) { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("System should error if multiple parameters valid or invalid are sent", null, exampleTags); + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("Identifier1", identifier1); + argumentsOfScenario.Add("PatientOne", patientOne); + argumentsOfScenario.Add("Identifier2", identifier2); + argumentsOfScenario.Add("PatientTwo", patientTwo); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("System should error if multiple parameters valid or invalid are sent", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 194 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 195 testRunner.Given("I configure the default \"PatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 196 testRunner.And(string.Format("I add a Patient Identifier parameter with identifier name \"{0}\" default System an" + - "d Value \"{1}\"", identifier1, patientOne), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "d Value \"{1}\"", identifier1, patientOne), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 197 testRunner.And(string.Format("I add a Patient Identifier parameter with identifier name \"{0}\" default System an" + - "d Value \"{1}\"", identifier2, patientTwo), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "d Value \"{1}\"", identifier2, patientTwo), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 198 testRunner.When("I make the \"PatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 199 testRunner.Then("the response status code should be \"400\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 200 testRunner.And("the response should be a OperationOutcome resource with error code \"BAD_REQUEST\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Patient Search include count and sort parameters")] - public virtual void PatientSearchIncludeCountAndSortParameters() + public void PatientSearchIncludeCountAndSortParameters() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Patient Search include count and sort parameters", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Patient Search include count and sort parameters", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 207 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 208 testRunner.Given("I configure the default \"PatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 209 testRunner.And("I add a Patient Identifier parameter with default System and Value \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 210 testRunner.And("I add the parameter \"_count\" with the value \"1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 211 testRunner.And("I add the parameter \"_sort\" with the value \"status\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 212 testRunner.When("I make the \"PatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 213 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 214 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 215 testRunner.And("the response bundle should contain \"1\" entries", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Patient search valid response check caching headers exist")] - public virtual void PatientSearchValidResponseCheckCachingHeadersExist() + public void PatientSearchValidResponseCheckCachingHeadersExist() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Patient search valid response check caching headers exist", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Patient search valid response check caching headers exist", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 217 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 218 testRunner.Given("I configure the default \"PatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 219 testRunner.And("I add a Patient Identifier parameter with default System and Value \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 220 testRunner.When("I make the \"PatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 221 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 222 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 223 testRunner.And("the response bundle should contain \"1\" entries", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 224 testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 225 testRunner.And("the required cacheing headers should be present in the response", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Patient search invalid response check caching headers exist")] - public virtual void PatientSearchInvalidResponseCheckCachingHeadersExist() + public void PatientSearchInvalidResponseCheckCachingHeadersExist() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Patient search invalid response check caching headers exist", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Patient search invalid response check caching headers exist", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 227 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 228 testRunner.Given("I configure the default \"PatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 229 testRunner.And("I add a Patient Identifier parameter with identifier name \"Identifier\" default Sy" + - "stem and Value \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "stem and Value \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 230 testRunner.When("I make the \"PatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 231 testRunner.Then("the response status code should be \"400\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 232 testRunner.And("the response should be a OperationOutcome resource with error code \"BAD_REQUEST\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 233 testRunner.And("the required cacheing headers should be present in the response", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Returned patients should contain a preferred branch")] - public virtual void ReturnedPatientsShouldContainAPreferredBranch() + public void ReturnedPatientsShouldContainAPreferredBranch() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Returned patients should contain a preferred branch", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Returned patients should contain a preferred branch", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 235 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 236 testRunner.Given("I configure the default \"PatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 237 testRunner.And("I add a Patient Identifier parameter with default System and Value \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 238 testRunner.When("I make the \"PatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 239 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 240 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 241 testRunner.And("the response bundle should contain \"1\" entries", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 242 testRunner.And("the Patient RegistrationDetails should include preferredBranchSurgery", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("When a patient on the provider system has sensitive flag")] - public virtual void WhenAPatientOnTheProviderSystemHasSensitiveFlag() + public void WhenAPatientOnTheProviderSystemHasSensitiveFlag() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("When a patient on the provider system has sensitive flag", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("When a patient on the provider system has sensitive flag", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 244 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 247 testRunner.Given("I configure the default \"PatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 248 testRunner.And("I add a Patient Identifier parameter with default System and Value \"patient9\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 249 testRunner.When("I make the \"PatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 250 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 251 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 252 testRunner.And("the response bundle should contain \"0\" entries", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("When a patient on the provider system has inactive flag")] - public virtual void WhenAPatientOnTheProviderSystemHasInactiveFlag() + public void WhenAPatientOnTheProviderSystemHasInactiveFlag() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("When a patient on the provider system has inactive flag", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("When a patient on the provider system has inactive flag", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 254 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 257 testRunner.Given("I configure the default \"PatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 258 testRunner.And("I add a Patient Identifier parameter with default System and Value \"patient21\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 259 testRunner.When("I make the \"PatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 260 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 261 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 262 testRunner.And("the response bundle should contain \"0\" entries", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("No Consent Patient search gets a valid response")] - public virtual void NoConsentPatientSearchGetsAValidResponse() + public void NoConsentPatientSearchGetsAValidResponse() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("No Consent Patient search gets a valid response", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("No Consent Patient search gets a valid response", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 265 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 266 testRunner.Given("I configure the default \"PatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 267 testRunner.And("I add a Patient Identifier parameter with default System and Value \"patient15\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 268 testRunner.When("I make the \"PatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 269 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 270 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 271 testRunner.And("the response bundle should contain \"1\" entries", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 272 testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 273 testRunner.And("the required cacheing headers should be present in the response", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } } diff --git a/GPConnect.Provider.AcceptanceTests/PractitionerRead.feature.cs b/GPConnect.Provider.AcceptanceTests/PractitionerRead.feature.cs index 886919b3..fc86aec2 100644 --- a/GPConnect.Provider.AcceptanceTests/PractitionerRead.feature.cs +++ b/GPConnect.Provider.AcceptanceTests/PractitionerRead.feature.cs @@ -1,8 +1,8 @@ -// ------------------------------------------------------------------------------ +// ------------------------------------------------------------------------------ // -// This code was generated by SpecFlow (http://www.specflow.org/). -// SpecFlow Version:3.0.0.0 -// SpecFlow Generator Version:3.0.0.0 +// This code was generated by SpecFlow (https://www.specflow.org/). +// SpecFlow Version:3.9.0.0 +// SpecFlow Generator Version:3.9.0.0 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. @@ -13,9 +13,11 @@ namespace GPConnect.Provider.AcceptanceTests { using TechTalk.SpecFlow; + using System; + using System.Linq; - [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "3.0.0.0")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "3.9.0.0")] [System.Runtime.CompilerServices.CompilerGeneratedAttribute()] [NUnit.Framework.TestFixtureAttribute()] [NUnit.Framework.DescriptionAttribute("PractitionerRead")] @@ -26,6 +28,10 @@ public partial class PractitionerReadFeature private TechTalk.SpecFlow.ITestRunner testRunner; + private static string[] featureTags = new string[] { + "1.5.0-Full-Pack", + "practitioner"}; + #line 1 "PractitionerRead.feature" #line hidden @@ -33,9 +39,7 @@ public partial class PractitionerReadFeature public virtual void FeatureSetup() { testRunner = TechTalk.SpecFlow.TestRunnerManager.GetTestRunner(); - TechTalk.SpecFlow.FeatureInfo featureInfo = new TechTalk.SpecFlow.FeatureInfo(new System.Globalization.CultureInfo("en-US"), "PractitionerRead", null, ProgrammingLanguage.CSharp, new string[] { - "1.5.0-Full-Pack", - "practitioner"}); + TechTalk.SpecFlow.FeatureInfo featureInfo = new TechTalk.SpecFlow.FeatureInfo(new System.Globalization.CultureInfo("en-US"), "", "PractitionerRead", null, ProgrammingLanguage.CSharp, featureTags); testRunner.OnFeatureStart(featureInfo); } @@ -47,28 +51,28 @@ public virtual void FeatureTearDown() } [NUnit.Framework.SetUpAttribute()] - public virtual void TestInitialize() + public void TestInitialize() { } [NUnit.Framework.TearDownAttribute()] - public virtual void ScenarioTearDown() + public void TestTearDown() { testRunner.OnScenarioEnd(); } - public virtual void ScenarioInitialize(TechTalk.SpecFlow.ScenarioInfo scenarioInfo) + public void ScenarioInitialize(TechTalk.SpecFlow.ScenarioInfo scenarioInfo) { testRunner.OnScenarioInitialize(scenarioInfo); testRunner.ScenarioContext.ScenarioContainer.RegisterInstanceAs(NUnit.Framework.TestContext.CurrentContext); } - public virtual void ScenarioStart() + public void ScenarioStart() { testRunner.OnScenarioStart(); } - public virtual void ScenarioCleanup() + public void ScenarioCleanup() { testRunner.CollectScenarioErrors(); } @@ -78,48 +82,76 @@ public virtual void ScenarioCleanup() [NUnit.Framework.TestCaseAttribute("practitioner1", "0", null)] [NUnit.Framework.TestCaseAttribute("practitioner2", "1", null)] [NUnit.Framework.TestCaseAttribute("practitioner3", "2", null)] - public virtual void PractitionerReadSuccessfulRequestValidateAllOfResponse(string practitioner, string numberOfRoleIdentifiers, string[] exampleTags) + public void PractitionerReadSuccessfulRequestValidateAllOfResponse(string practitioner, string numberOfRoleIdentifiers, string[] exampleTags) { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Practitioner read successful request validate all of response", null, exampleTags); + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("practitioner", practitioner); + argumentsOfScenario.Add("numberOfRoleIdentifiers", numberOfRoleIdentifiers); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Practitioner read successful request validate all of response", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 4 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 5 testRunner.Given(string.Format("I get the Practitioner for Practitioner Code \"{0}\"", practitioner), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 6 testRunner.And("I store the Practitioner", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 7 testRunner.Given("I configure the default \"PractitionerRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 8 testRunner.When("I make the \"PractitionerRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 9 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 10 testRunner.And("the Response Resource should be a Practitioner", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 11 testRunner.And("the Practitioner Id should equal the Request Id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 12 testRunner.And("the Practitioner Metadata should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 13 testRunner.And("the Practitioner Identifiers should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 14 testRunner.And("the Practitioner Name should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 15 testRunner.And("the Practitioner nhsCommunication should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 16 testRunner.And("the Practitioner should exclude disallowed elements", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 17 testRunner.And("the practitioner Telecom should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 18 testRunner.And("the practitioner Address should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 19 testRunner.And("the practitioner Gender should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 20 testRunner.And(string.Format("the Practitioner SDS Role Profile Identifier should be valid for \"{0}\" Role Profi" + - "le Identifiers", numberOfRoleIdentifiers), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "le Identifiers", numberOfRoleIdentifiers), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 21 testRunner.And(string.Format("the Practitioner SDS User Identifier should be valid for Value \"{0}\"", practitioner), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -131,23 +163,38 @@ public virtual void PractitionerReadSuccessfulRequestValidateAllOfResponse(strin [NUnit.Framework.TestCaseAttribute("1.1.22", null)] [NUnit.Framework.TestCaseAttribute("40-9", null)] [NUnit.Framework.TestCaseAttribute("nd-skdm.mks--s", null)] - public virtual void PractitionerReadWithValidIdentifierWhichDoesNotExistOnProvidersSystem(string logicalId, string[] exampleTags) + public void PractitionerReadWithValidIdentifierWhichDoesNotExistOnProvidersSystem(string logicalId, string[] exampleTags) { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Practitioner Read with valid identifier which does not exist on providers system", null, exampleTags); + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("LogicalId", logicalId); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Practitioner Read with valid identifier which does not exist on providers system", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 29 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 30 testRunner.Given("I configure the default \"PractitionerRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 31 testRunner.And(string.Format("I set the Read Operation logical identifier used in the request to \"{0}\"", logicalId), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 32 testRunner.When("I make the \"PractitionerRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 33 testRunner.Then("the response status code should be \"404\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 34 testRunner.And("the response should be a OperationOutcome resource", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -155,33 +202,54 @@ public virtual void PractitionerReadWithValidIdentifierWhichDoesNotExistOnProvid [NUnit.Framework.DescriptionAttribute("Practitioner Read using the _format parameter to request response format")] [NUnit.Framework.TestCaseAttribute("application/fhir+json", "JSON", null)] [NUnit.Framework.TestCaseAttribute("application/fhir+xml", "XML", null)] - public virtual void PractitionerReadUsingThe_FormatParameterToRequestResponseFormat(string parameter, string responseFormat, string[] exampleTags) + public void PractitionerReadUsingThe_FormatParameterToRequestResponseFormat(string parameter, string responseFormat, string[] exampleTags) { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Practitioner Read using the _format parameter to request response format", null, exampleTags); + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("Parameter", parameter); + argumentsOfScenario.Add("ResponseFormat", responseFormat); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Practitioner Read using the _format parameter to request response format", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 44 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 45 testRunner.Given("I get the Practitioner for Practitioner Code \"practitioner1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 46 testRunner.And("I store the Practitioner", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 47 testRunner.Given("I configure the default \"PractitionerRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 48 testRunner.And(string.Format("I add a Format parameter with the Value \"{0}\"", parameter), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 49 testRunner.When("I make the \"PractitionerRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 50 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 51 testRunner.And(string.Format("the response should be the format FHIR {0}", responseFormat), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 52 testRunner.And("the Response Resource should be a Practitioner", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 53 testRunner.And("the Practitioner Id should equal the Request Id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 54 testRunner.And("the Practitioner SDS User Identifier should be valid for Value \"practitioner1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -189,33 +257,54 @@ public virtual void PractitionerReadUsingThe_FormatParameterToRequestResponseFor [NUnit.Framework.DescriptionAttribute("Practitioner Read using the Accept header to request response format")] [NUnit.Framework.TestCaseAttribute("application/fhir+json", "JSON", null)] [NUnit.Framework.TestCaseAttribute("application/fhir+xml", "XML", null)] - public virtual void PractitionerReadUsingTheAcceptHeaderToRequestResponseFormat(string header, string responseFormat, string[] exampleTags) + public void PractitionerReadUsingTheAcceptHeaderToRequestResponseFormat(string header, string responseFormat, string[] exampleTags) { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Practitioner Read using the Accept header to request response format", null, exampleTags); + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("Header", header); + argumentsOfScenario.Add("ResponseFormat", responseFormat); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Practitioner Read using the Accept header to request response format", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 60 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 61 testRunner.Given("I get the Practitioner for Practitioner Code \"practitioner1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 62 testRunner.And("I store the Practitioner", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 63 testRunner.Given("I configure the default \"PractitionerRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 64 testRunner.And(string.Format("I set the Accept header to \"{0}\"", header), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 65 testRunner.When("I make the \"PractitionerRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 66 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 67 testRunner.And(string.Format("the response should be the format FHIR {0}", responseFormat), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 68 testRunner.And("the Response Resource should be a Practitioner", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 69 testRunner.And("the Practitioner Id should equal the Request Id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 70 testRunner.And("the Practitioner SDS User Identifier should be valid for Value \"practitioner1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -226,162 +315,262 @@ public virtual void PractitionerReadUsingTheAcceptHeaderToRequestResponseFormat( [NUnit.Framework.TestCaseAttribute("application/fhir+json", "application/fhir+xml", "XML", null)] [NUnit.Framework.TestCaseAttribute("application/fhir+xml", "application/fhir+json", "JSON", null)] [NUnit.Framework.TestCaseAttribute("application/fhir+xml", "application/fhir+xml", "XML", null)] - public virtual void PractitionerReadSendingTheAcceptHeaderAnd_FormatParameterToRequestResponseFormat(string header, string parameter, string responseFormat, string[] exampleTags) + public void PractitionerReadSendingTheAcceptHeaderAnd_FormatParameterToRequestResponseFormat(string header, string parameter, string responseFormat, string[] exampleTags) { + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("Header", header); + argumentsOfScenario.Add("Parameter", parameter); + argumentsOfScenario.Add("ResponseFormat", responseFormat); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Practitioner Read sending the Accept header and _format parameter to request resp" + - "onse format", null, exampleTags); + "onse format", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 76 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 77 testRunner.Given("I get the Practitioner for Practitioner Code \"practitioner2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 78 testRunner.And("I store the Practitioner", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 79 testRunner.Given("I configure the default \"PractitionerRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 80 testRunner.And(string.Format("I set the Accept header to \"{0}\"", header), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 81 testRunner.And(string.Format("I add a Format parameter with the Value \"{0}\"", parameter), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 82 testRunner.When("I make the \"PractitionerRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 83 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 84 testRunner.And(string.Format("the response should be the format FHIR {0}", responseFormat), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 85 testRunner.And("the Response Resource should be a Practitioner", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 86 testRunner.And("the Practitioner Id should equal the Request Id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 87 testRunner.And("the Practitioner SDS User Identifier should be valid for Value \"practitioner2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("CapabilityStatement profile supports the Practitioner read operation")] - public virtual void CapabilityStatementProfileSupportsThePractitionerReadOperation() + public void CapabilityStatementProfileSupportsThePractitionerReadOperation() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("CapabilityStatement profile supports the Practitioner read operation", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("CapabilityStatement profile supports the Practitioner read operation", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 95 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 96 testRunner.Given("I configure the default \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 97 testRunner.When("I make the \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 98 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 99 testRunner.And("the CapabilityStatement REST Resources should contain the \"Practitioner\" Resource" + - " with the \"Read\" Interaction", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + " with the \"Read\" Interaction", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Practitioner read response should contain an ETag header")] - public virtual void PractitionerReadResponseShouldContainAnETagHeader() + public void PractitionerReadResponseShouldContainAnETagHeader() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Practitioner read response should contain an ETag header", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Practitioner read response should contain an ETag header", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 101 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 102 testRunner.Given("I get the Practitioner for Practitioner Code \"practitioner1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 103 testRunner.And("I store the Practitioner", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 104 testRunner.Given("I configure the default \"PractitionerRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 105 testRunner.When("I make the \"PractitionerRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 106 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 107 testRunner.And("the Response Resource should be a Practitioner", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 108 testRunner.And("the Response should contain the ETag header matching the Resource Version Id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Practitioner read valid response check caching headers exist")] - public virtual void PractitionerReadValidResponseCheckCachingHeadersExist() + public void PractitionerReadValidResponseCheckCachingHeadersExist() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Practitioner read valid response check caching headers exist", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Practitioner read valid response check caching headers exist", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 110 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 111 testRunner.Given("I get the Practitioner for Practitioner Code \"practitioner1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 112 testRunner.And("I store the Practitioner", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 113 testRunner.Given("I configure the default \"PractitionerRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 114 testRunner.When("I make the \"PractitionerRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 115 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 116 testRunner.And("the required cacheing headers should be present in the response", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Practitioner read invalid response check caching headers exist")] - public virtual void PractitionerReadInvalidResponseCheckCachingHeadersExist() + public void PractitionerReadInvalidResponseCheckCachingHeadersExist() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Practitioner read invalid response check caching headers exist", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Practitioner read invalid response check caching headers exist", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 118 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 119 testRunner.Given("I get the Practitioner for Practitioner Code \"practitioner1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 120 testRunner.And("I store the Practitioner", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 121 testRunner.Given("I configure the default \"PractitionerRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 124 testRunner.And("I set the Interaction Id header to \"urn:nhs:names:services:gpconnect:fhir:rest:re" + - "ad:location-1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ad:location-1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 125 testRunner.When("I make the \"PractitionerRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 126 testRunner.Then("the response status code should be \"400\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 127 testRunner.And("the response should be a OperationOutcome resource with error code \"BAD_REQUEST\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 128 testRunner.And("the required cacheing headers should be present in the response", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Read practitioner returned should conform to the GPconnect specification")] - public virtual void ReadPractitionerReturnedShouldConformToTheGPconnectSpecification() + public void ReadPractitionerReturnedShouldConformToTheGPconnectSpecification() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Read practitioner returned should conform to the GPconnect specification", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Read practitioner returned should conform to the GPconnect specification", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 132 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 133 testRunner.Given("I get the Practitioner for Practitioner Code \"practitioner1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 134 testRunner.And("I store the Practitioner", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 135 testRunner.When("I make the \"PractitionerRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 136 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 137 testRunner.And("the response bundle should contain \"1\" entries", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 138 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 139 testRunner.And("the Practitioner Not In Use should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } } diff --git a/GPConnect.Provider.AcceptanceTests/PractitionerSearch.feature.cs b/GPConnect.Provider.AcceptanceTests/PractitionerSearch.feature.cs index 2e74db3e..1f191493 100644 --- a/GPConnect.Provider.AcceptanceTests/PractitionerSearch.feature.cs +++ b/GPConnect.Provider.AcceptanceTests/PractitionerSearch.feature.cs @@ -1,8 +1,8 @@ -// ------------------------------------------------------------------------------ +// ------------------------------------------------------------------------------ // -// This code was generated by SpecFlow (http://www.specflow.org/). -// SpecFlow Version:3.0.0.0 -// SpecFlow Generator Version:3.0.0.0 +// This code was generated by SpecFlow (https://www.specflow.org/). +// SpecFlow Version:3.9.0.0 +// SpecFlow Generator Version:3.9.0.0 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. @@ -13,9 +13,11 @@ namespace GPConnect.Provider.AcceptanceTests { using TechTalk.SpecFlow; + using System; + using System.Linq; - [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "3.0.0.0")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "3.9.0.0")] [System.Runtime.CompilerServices.CompilerGeneratedAttribute()] [NUnit.Framework.TestFixtureAttribute()] [NUnit.Framework.DescriptionAttribute("PractitionerSearch")] @@ -26,6 +28,10 @@ public partial class PractitionerSearchFeature private TechTalk.SpecFlow.ITestRunner testRunner; + private static string[] featureTags = new string[] { + "1.5.0-Full-Pack", + "practitioner"}; + #line 1 "PractitionerSearch.feature" #line hidden @@ -33,9 +39,7 @@ public partial class PractitionerSearchFeature public virtual void FeatureSetup() { testRunner = TechTalk.SpecFlow.TestRunnerManager.GetTestRunner(); - TechTalk.SpecFlow.FeatureInfo featureInfo = new TechTalk.SpecFlow.FeatureInfo(new System.Globalization.CultureInfo("en-US"), "PractitionerSearch", null, ProgrammingLanguage.CSharp, new string[] { - "1.5.0-Full-Pack", - "practitioner"}); + TechTalk.SpecFlow.FeatureInfo featureInfo = new TechTalk.SpecFlow.FeatureInfo(new System.Globalization.CultureInfo("en-US"), "", "PractitionerSearch", null, ProgrammingLanguage.CSharp, featureTags); testRunner.OnFeatureStart(featureInfo); } @@ -47,28 +51,28 @@ public virtual void FeatureTearDown() } [NUnit.Framework.SetUpAttribute()] - public virtual void TestInitialize() + public void TestInitialize() { } [NUnit.Framework.TearDownAttribute()] - public virtual void ScenarioTearDown() + public void TestTearDown() { testRunner.OnScenarioEnd(); } - public virtual void ScenarioInitialize(TechTalk.SpecFlow.ScenarioInfo scenarioInfo) + public void ScenarioInitialize(TechTalk.SpecFlow.ScenarioInfo scenarioInfo) { testRunner.OnScenarioInitialize(scenarioInfo); testRunner.ScenarioContext.ScenarioContainer.RegisterInstanceAs(NUnit.Framework.TestContext.CurrentContext); } - public virtual void ScenarioStart() + public void ScenarioStart() { testRunner.OnScenarioStart(); } - public virtual void ScenarioCleanup() + public void ScenarioCleanup() { testRunner.CollectScenarioErrors(); } @@ -78,35 +82,57 @@ public virtual void ScenarioCleanup() [NUnit.Framework.TestCaseAttribute("practitioner1", "1", "0", null)] [NUnit.Framework.TestCaseAttribute("practitioner2", "1", "1", null)] [NUnit.Framework.TestCaseAttribute("practitioner3", "1", "2", null)] - public virtual void PractitionerSearchSuccessAndValidateThePractitionerIdentifiers(string value, string entrySize, string roleSize, string[] exampleTags) + public void PractitionerSearchSuccessAndValidateThePractitionerIdentifiers(string value, string entrySize, string roleSize, string[] exampleTags) { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Practitioner search success and validate the practitioner identifiers", null, exampleTags); + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("Value", value); + argumentsOfScenario.Add("EntrySize", entrySize); + argumentsOfScenario.Add("RoleSize", roleSize); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Practitioner search success and validate the practitioner identifiers", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 7 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 8 testRunner.Given("I configure the default \"PractitionerSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 9 testRunner.And(string.Format("I add a Practitioner Identifier parameter with SDS User Id System and Value \"{0}\"" + - "", value), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "", value), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 10 testRunner.When("I make the \"PractitionerSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 11 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 12 testRunner.And(string.Format("the response bundle should contain \"{0}\" entries", entrySize), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 13 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 14 testRunner.And("the Practitioner Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 15 testRunner.And("the Practitioner Identifiers should be valid fixed values", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 16 testRunner.And(string.Format("the Practitioner SDS User Identifier should be valid for Value \"{0}\"", value), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 17 testRunner.And(string.Format("the Practitioner SDS Role Profile Identifier should be valid for \"{0}\" Role Profi" + - "le Identifiers", roleSize), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "le Identifiers", roleSize), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -114,70 +140,115 @@ public virtual void PractitionerSearchSuccessAndValidateThePractitionerIdentifie [NUnit.Framework.DescriptionAttribute("Practitioner search with failure due to invalid identifier")] [NUnit.Framework.TestCaseAttribute("https://fhir.nhs.uk/Id/sds-user-id", "", null)] [NUnit.Framework.TestCaseAttribute("", "practitioner2", null)] - public virtual void PractitionerSearchWithFailureDueToInvalidIdentifier(string system, string value, string[] exampleTags) + public void PractitionerSearchWithFailureDueToInvalidIdentifier(string system, string value, string[] exampleTags) { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Practitioner search with failure due to invalid identifier", null, exampleTags); + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("System", system); + argumentsOfScenario.Add("Value", value); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Practitioner search with failure due to invalid identifier", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 24 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 25 testRunner.Given("I configure the default \"PractitionerSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 26 testRunner.And(string.Format("I add a Practitioner Identifier parameter with System \"{0}\" and Value \"{1}\"", system, value), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 27 testRunner.When("I make the \"PractitionerSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 28 testRunner.Then("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 29 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_PARAM" + - "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Practitioner search without the identifier parameter")] - public virtual void PractitionerSearchWithoutTheIdentifierParameter() + public void PractitionerSearchWithoutTheIdentifierParameter() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Practitioner search without the identifier parameter", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Practitioner search without the identifier parameter", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 35 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 36 testRunner.Given("I configure the default \"PractitionerSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 37 testRunner.When("I make the \"PractitionerSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 38 testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 39 testRunner.And("the response body should be FHIR JSON", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 40 testRunner.And("the response should be a OperationOutcome resource", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Practitioner search where identifier contains the incorrect case or spelling")] [NUnit.Framework.TestCaseAttribute("Identifier", null)] - public virtual void PractitionerSearchWhereIdentifierContainsTheIncorrectCaseOrSpelling(string parameterName, string[] exampleTags) + public void PractitionerSearchWhereIdentifierContainsTheIncorrectCaseOrSpelling(string parameterName, string[] exampleTags) { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Practitioner search where identifier contains the incorrect case or spelling", null, exampleTags); + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("ParameterName", parameterName); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Practitioner search where identifier contains the incorrect case or spelling", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 42 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 43 testRunner.Given("I configure the default \"PractitionerSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 44 testRunner.And(string.Format("I add a Practitioner \"{0}\" parameter with System \"https://fhir.nhs.uk/Id/sds-user" + - "-id\" and Value \"practitioner2\"", parameterName), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "-id\" and Value \"practitioner2\"", parameterName), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 45 testRunner.When("I make the \"PractitionerSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 46 testRunner.Then("the response status code should be \"400\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 47 testRunner.And("the response should be a OperationOutcome resource with error code \"BAD_REQUEST\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -185,36 +256,59 @@ public virtual void PractitionerSearchWhereIdentifierContainsTheIncorrectCaseOrS [NUnit.Framework.DescriptionAttribute("Practitioner search testing paramater validity before adding identifier")] [NUnit.Framework.TestCaseAttribute("_format", "application/fhir+json", "JSON", null)] [NUnit.Framework.TestCaseAttribute("_format", "application/fhir+xml", "XML", null)] - public virtual void PractitionerSearchTestingParamaterValidityBeforeAddingIdentifier(string param1Name, string param1Value, string bodyFormat, string[] exampleTags) + public void PractitionerSearchTestingParamaterValidityBeforeAddingIdentifier(string param1Name, string param1Value, string bodyFormat, string[] exampleTags) { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Practitioner search testing paramater validity before adding identifier", null, exampleTags); + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("Param1Name", param1Name); + argumentsOfScenario.Add("Param1Value", param1Value); + argumentsOfScenario.Add("BodyFormat", bodyFormat); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Practitioner search testing paramater validity before adding identifier", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 52 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 53 testRunner.Given("I configure the default \"PractitionerSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 54 testRunner.And(string.Format("I add the parameter \"{0}\" with the value \"{1}\"", param1Name, param1Value), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 55 testRunner.And("I add a Practitioner Identifier parameter with SDS User Id System and Value \"prac" + - "titioner2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "titioner2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 56 testRunner.When("I make the \"PractitionerSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 57 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 58 testRunner.And(string.Format("the response body should be FHIR {0}", bodyFormat), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 59 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 60 testRunner.And("the Practitioner Identifiers should be valid fixed values", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 61 testRunner.And("the Practitioner Name should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 62 testRunner.And("the Practitioner should exclude disallowed elements", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 63 testRunner.And("the Practitioner nhsCommunication should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -222,36 +316,59 @@ public virtual void PractitionerSearchTestingParamaterValidityBeforeAddingIdenti [NUnit.Framework.DescriptionAttribute("Practitioner search testing paramater validity after adding identifier")] [NUnit.Framework.TestCaseAttribute("_format", "application/fhir+json", "JSON", null)] [NUnit.Framework.TestCaseAttribute("_format", "application/fhir+xml", "XML", null)] - public virtual void PractitionerSearchTestingParamaterValidityAfterAddingIdentifier(string param1Name, string param1Value, string bodyFormat, string[] exampleTags) + public void PractitionerSearchTestingParamaterValidityAfterAddingIdentifier(string param1Name, string param1Value, string bodyFormat, string[] exampleTags) { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Practitioner search testing paramater validity after adding identifier", null, exampleTags); + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("Param1Name", param1Name); + argumentsOfScenario.Add("Param1Value", param1Value); + argumentsOfScenario.Add("BodyFormat", bodyFormat); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Practitioner search testing paramater validity after adding identifier", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 69 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 70 testRunner.Given("I configure the default \"PractitionerSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 71 testRunner.And("I add a Practitioner Identifier parameter with SDS User Id System and Value \"prac" + - "titioner2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "titioner2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 72 testRunner.And(string.Format("I add the parameter \"{0}\" with the value \"{1}\"", param1Name, param1Value), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 73 testRunner.When("I make the \"PractitionerSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 74 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 75 testRunner.And(string.Format("the response body should be FHIR {0}", bodyFormat), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 76 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 77 testRunner.And("the Practitioner Identifiers should be valid fixed values", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 78 testRunner.And("the Practitioner Name should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 79 testRunner.And("the Practitioner should exclude disallowed elements", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 80 testRunner.And("the Practitioner nhsCommunication should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -260,37 +377,59 @@ public virtual void PractitionerSearchTestingParamaterValidityAfterAddingIdentif "ormat")] [NUnit.Framework.TestCaseAttribute("application/fhir+json", "JSON", null)] [NUnit.Framework.TestCaseAttribute("application/fhir+xml", "XML", null)] - public virtual void PractitionerSearchAddAcceptHeaderToRequestAndCheckForCorrectResponseFormat(string header, string bodyFormat, string[] exampleTags) + public void PractitionerSearchAddAcceptHeaderToRequestAndCheckForCorrectResponseFormat(string header, string bodyFormat, string[] exampleTags) { + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("Header", header); + argumentsOfScenario.Add("BodyFormat", bodyFormat); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Practitioner search add accept header to request and check for correct response f" + - "ormat", null, exampleTags); + "ormat", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 87 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 88 testRunner.Given("I configure the default \"PractitionerSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 89 testRunner.And("I add a Practitioner Identifier parameter with SDS User Id System and Value \"prac" + - "titioner2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "titioner2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 90 testRunner.And(string.Format("I set the Accept header to \"{0}\"", header), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 91 testRunner.When("I make the \"PractitionerSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 92 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 93 testRunner.And(string.Format("the response body should be FHIR {0}", bodyFormat), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 94 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 95 testRunner.And("the Practitioner Identifiers should be valid fixed values", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 96 testRunner.And("the Practitioner Name should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 97 testRunner.And("the Practitioner should exclude disallowed elements", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 98 testRunner.And("the Practitioner nhsCommunication should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -301,249 +440,396 @@ public virtual void PractitionerSearchAddAcceptHeaderToRequestAndCheckForCorrect [NUnit.Framework.TestCaseAttribute("application/fhir+json", "application/fhir+xml", "XML", null)] [NUnit.Framework.TestCaseAttribute("application/fhir+xml", "application/fhir+json", "JSON", null)] [NUnit.Framework.TestCaseAttribute("application/fhir+xml", "application/fhir+xml", "XML", null)] - public virtual void PractitionerSearchAddAcceptHeaderAnd_FormatParameterToTheRequestAndCheckForCorrectResponseFormat(string header, string parameter, string bodyFormat, string[] exampleTags) + public void PractitionerSearchAddAcceptHeaderAnd_FormatParameterToTheRequestAndCheckForCorrectResponseFormat(string header, string parameter, string bodyFormat, string[] exampleTags) { + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("Header", header); + argumentsOfScenario.Add("Parameter", parameter); + argumentsOfScenario.Add("BodyFormat", bodyFormat); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Practitioner search add accept header and _format parameter to the request and ch" + - "eck for correct response format", null, exampleTags); + "eck for correct response format", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 104 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 105 testRunner.Given("I configure the default \"PractitionerSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 106 testRunner.And("I add a Practitioner Identifier parameter with SDS User Id System and Value \"prac" + - "titioner2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "titioner2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 107 testRunner.And(string.Format("I set the Accept header to \"{0}\"", header), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 108 testRunner.And(string.Format("I add a Format parameter with the Value \"{0}\"", parameter), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 109 testRunner.When("I make the \"PractitionerSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 110 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 111 testRunner.And(string.Format("the response body should be FHIR {0}", bodyFormat), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 112 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 113 testRunner.And("the Practitioner Metadata should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 114 testRunner.And("the Practitioner Identifiers should be valid fixed values", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 115 testRunner.And("the Practitioner Name should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 116 testRunner.And("the Practitioner should exclude disallowed elements", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 117 testRunner.And("the Practitioner nhsCommunication should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Practitioner search multiple identifier parameter failure")] - public virtual void PractitionerSearchMultipleIdentifierParameterFailure() + public void PractitionerSearchMultipleIdentifierParameterFailure() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Practitioner search multiple identifier parameter failure", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Practitioner search multiple identifier parameter failure", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 125 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 126 testRunner.Given("I configure the default \"PractitionerSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 127 testRunner.And("I add a Practitioner Identifier parameter with SDS User Id System and Value \"prac" + - "titioner2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "titioner2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 128 testRunner.And("I add a Practitioner Identifier parameter with SDS User Id System and Value \"prac" + - "titioner2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "titioner2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 129 testRunner.When("I make the \"PractitionerSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 130 testRunner.Then("the response status code should be \"400\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 131 testRunner.And("the response should be a OperationOutcome resource with error code \"BAD_REQUEST\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Practitioner search multiple multiple identifiers for different practitioner para" + "meter failure")] - public virtual void PractitionerSearchMultipleMultipleIdentifiersForDifferentPractitionerParameterFailure() + public void PractitionerSearchMultipleMultipleIdentifiersForDifferentPractitionerParameterFailure() { + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Practitioner search multiple multiple identifiers for different practitioner para" + - "meter failure", null, ((string[])(null))); + "meter failure", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 133 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 134 testRunner.Given("I configure the default \"PractitionerSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 135 testRunner.And("I add a Practitioner Identifier parameter with SDS User Id System and Value \"prac" + - "titioner1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "titioner1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 136 testRunner.And("I add a Practitioner Identifier parameter with SDS User Id System and Value \"prac" + - "titioner2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "titioner2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 137 testRunner.When("I make the \"PractitionerSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 138 testRunner.Then("the response status code should be \"400\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 139 testRunner.And("the response should be a OperationOutcome resource with error code \"BAD_REQUEST\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Practitioner search include count and sort parameters")] - public virtual void PractitionerSearchIncludeCountAndSortParameters() + public void PractitionerSearchIncludeCountAndSortParameters() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Practitioner search include count and sort parameters", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Practitioner search include count and sort parameters", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 141 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 142 testRunner.Given("I configure the default \"PractitionerSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 143 testRunner.And("I add a Practitioner Identifier parameter with SDS User Id System and Value \"prac" + - "titioner1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "titioner1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 144 testRunner.And("I add the parameter \"_sort\" with the value \"practitioner.coding\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 145 testRunner.And("I add the parameter \"_count\" with the value \"1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 146 testRunner.When("I make the \"PractitionerSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 147 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 148 testRunner.And("the response bundle should contain \"1\" entries", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 149 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("CapabilityStatement profile supports the Practitioner search operation")] - public virtual void CapabilityStatementProfileSupportsThePractitionerSearchOperation() + public void CapabilityStatementProfileSupportsThePractitionerSearchOperation() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("CapabilityStatement profile supports the Practitioner search operation", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("CapabilityStatement profile supports the Practitioner search operation", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 151 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 152 testRunner.Given("I configure the default \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 153 testRunner.When("I make the \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 154 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 155 testRunner.And("the CapabilityStatement REST Resources should contain the \"Practitioner\" Resource" + - " with the \"SearchType\" Interaction", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + " with the \"SearchType\" Interaction", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Practitioner search valid response check caching headers exist")] - public virtual void PractitionerSearchValidResponseCheckCachingHeadersExist() + public void PractitionerSearchValidResponseCheckCachingHeadersExist() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Practitioner search valid response check caching headers exist", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Practitioner search valid response check caching headers exist", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 157 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 158 testRunner.Given("I configure the default \"PractitionerSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 159 testRunner.And("I add a Practitioner Identifier parameter with SDS User Id System and Value \"prac" + - "titioner1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "titioner1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 160 testRunner.When("I make the \"PractitionerSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 161 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 162 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 163 testRunner.And("the required cacheing headers should be present in the response", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Practitioner search invalid response check caching headers exist")] - public virtual void PractitionerSearchInvalidResponseCheckCachingHeadersExist() + public void PractitionerSearchInvalidResponseCheckCachingHeadersExist() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Practitioner search invalid response check caching headers exist", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Practitioner search invalid response check caching headers exist", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 165 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 166 testRunner.Given("I configure the default \"PractitionerSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 167 testRunner.And("I set the Interaction Id header to \"urn:nhs:names:services:gpconnect:fhir:rest:re" + - "ad:practitioner-1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ad:practitioner-1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 168 testRunner.And("I add a Practitioner Identifier parameter with SDS User Id System and Value \"prac" + - "titioner2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "titioner2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 169 testRunner.When("I make the \"PractitionerSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 170 testRunner.Then("the response status code should be \"400\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 171 testRunner.And("the response should be a OperationOutcome resource with error code \"BAD_REQUEST\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 172 testRunner.And("the required cacheing headers should be present in the response", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Practitioner search returned should conform to the GPconnect specification")] - public virtual void PractitionerSearchReturnedShouldConformToTheGPconnectSpecification() + public void PractitionerSearchReturnedShouldConformToTheGPconnectSpecification() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Practitioner search returned should conform to the GPconnect specification", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Practitioner search returned should conform to the GPconnect specification", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 176 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 177 testRunner.Given("I configure the default \"PractitionerSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 178 testRunner.And("I add a Practitioner Identifier parameter with SDS User Id System and Value \"prac" + - "titioner1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "titioner1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 179 testRunner.When("I make the \"PractitionerSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 180 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 181 testRunner.And("the response bundle should contain \"1\" entries", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 182 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 183 testRunner.And("the Practitioner Not In Use should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Practitioner search with unknown identifier")] - public virtual void PractitionerSearchWithUnknownIdentifier() + public void PractitionerSearchWithUnknownIdentifier() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Practitioner search with unknown identifier", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Practitioner search with unknown identifier", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 186 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 187 testRunner.Given("I configure the default \"PractitionerSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 188 testRunner.And("I add a Practitioner Identifier parameter with unknown value", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 189 testRunner.When("I make the \"PractitionerSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 190 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 191 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 192 testRunner.And("the response bundle should contain \"0\" entries", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } } diff --git a/GPConnect.Provider.AcceptanceTests/Properties/AssemblyInfo.cs b/GPConnect.Provider.AcceptanceTests/Properties/AssemblyInfo.cs deleted file mode 100644 index 9b6d2eb6..00000000 --- a/GPConnect.Provider.AcceptanceTests/Properties/AssemblyInfo.cs +++ /dev/null @@ -1,35 +0,0 @@ -using System.Reflection; -using System.Runtime.InteropServices; - -// General Information about an assembly is controlled through the following -// set of attributes. Change these attribute values to modify the information -// associated with an assembly. -[assembly: AssemblyTitle("GPConnect.Provider.AcceptanceTests")] -[assembly: AssemblyDescription("")] -[assembly: AssemblyConfiguration("")] -[assembly: AssemblyCompany("")] -[assembly: AssemblyProduct("GPConnect.Provider.AcceptanceTests")] -[assembly: AssemblyCopyright("Copyright © 2016")] -[assembly: AssemblyTrademark("")] -[assembly: AssemblyCulture("")] - -// Setting ComVisible to false makes the types in this assembly not visible -// to COM components. If you need to access a type in this assembly from -// COM, set the ComVisible attribute to true on that type. -[assembly: ComVisible(false)] - -// The following GUID is for the ID of the typelib if this project is exposed to COM -[assembly: Guid("5b1decd9-6c26-4e86-b649-96c327a32ad3")] - -// Version information for an assembly consists of the following four values: -// -// Major Version -// Minor Version -// Build Number -// Revision -// -// You can specify all the values or you can default the Build and Revision Numbers -// by using the '*' as shown below: -// [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("1.0.0.0")] -[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/GPConnect.Provider.AcceptanceTests/SSP.feature.cs b/GPConnect.Provider.AcceptanceTests/SSP.feature.cs index 14cea75f..24f6dda6 100644 --- a/GPConnect.Provider.AcceptanceTests/SSP.feature.cs +++ b/GPConnect.Provider.AcceptanceTests/SSP.feature.cs @@ -1,8 +1,8 @@ -// ------------------------------------------------------------------------------ +// ------------------------------------------------------------------------------ // -// This code was generated by SpecFlow (http://www.specflow.org/). -// SpecFlow Version:3.0.0.0 -// SpecFlow Generator Version:3.0.0.0 +// This code was generated by SpecFlow (https://www.specflow.org/). +// SpecFlow Version:3.9.0.0 +// SpecFlow Generator Version:3.9.0.0 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. @@ -13,9 +13,11 @@ namespace GPConnect.Provider.AcceptanceTests { using TechTalk.SpecFlow; + using System; + using System.Linq; - [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "3.0.0.0")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "3.9.0.0")] [System.Runtime.CompilerServices.CompilerGeneratedAttribute()] [NUnit.Framework.TestFixtureAttribute()] [NUnit.Framework.DescriptionAttribute("SSP")] @@ -25,6 +27,9 @@ public partial class SSPFeature private TechTalk.SpecFlow.ITestRunner testRunner; + private static string[] featureTags = new string[] { + "ssp"}; + #line 1 "SSP.feature" #line hidden @@ -32,8 +37,7 @@ public partial class SSPFeature public virtual void FeatureSetup() { testRunner = TechTalk.SpecFlow.TestRunnerManager.GetTestRunner(); - TechTalk.SpecFlow.FeatureInfo featureInfo = new TechTalk.SpecFlow.FeatureInfo(new System.Globalization.CultureInfo("en-US"), "SSP", null, ProgrammingLanguage.CSharp, new string[] { - "ssp"}); + TechTalk.SpecFlow.FeatureInfo featureInfo = new TechTalk.SpecFlow.FeatureInfo(new System.Globalization.CultureInfo("en-US"), "", "SSP", null, ProgrammingLanguage.CSharp, featureTags); testRunner.OnFeatureStart(featureInfo); } @@ -45,211 +49,322 @@ public virtual void FeatureTearDown() } [NUnit.Framework.SetUpAttribute()] - public virtual void TestInitialize() + public void TestInitialize() { } [NUnit.Framework.TearDownAttribute()] - public virtual void ScenarioTearDown() + public void TestTearDown() { testRunner.OnScenarioEnd(); } - public virtual void ScenarioInitialize(TechTalk.SpecFlow.ScenarioInfo scenarioInfo) + public void ScenarioInitialize(TechTalk.SpecFlow.ScenarioInfo scenarioInfo) { testRunner.OnScenarioInitialize(scenarioInfo); testRunner.ScenarioContext.ScenarioContainer.RegisterInstanceAs(NUnit.Framework.TestContext.CurrentContext); } - public virtual void ScenarioStart() + public void ScenarioStart() { testRunner.OnScenarioStart(); } - public virtual void ScenarioCleanup() + public void ScenarioCleanup() { testRunner.CollectScenarioErrors(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("SSP - Non-SSL to SSL")] - public virtual void SSP_Non_SSLToSSL() + public void SSP_Non_SSLToSSL() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("SSP - Non-SSL to SSL", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("SSP - Non-SSL to SSL", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 6 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 7 testRunner.Given("I configure the default \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 8 testRunner.And("I am using the SSP", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 9 testRunner.And("I am not using TLS Connection", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 10 testRunner.When("I make the \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 11 testRunner.Then("the Response should indicate the connection was closed by the server or the Reque" + - "st was redirected", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); + "st was redirected", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 12 testRunner.And("if redirected the Response Headers should contain a Strict-Transport-Security hea" + - "der", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "der", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("SSP - Consumer Client Certificate - Valid")] - public virtual void SSP_ConsumerClientCertificate_Valid() + public void SSP_ConsumerClientCertificate_Valid() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("SSP - Consumer Client Certificate - Valid", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("SSP - Consumer Client Certificate - Valid", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 14 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 15 testRunner.Given("I configure the default \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 16 testRunner.And("I am using the SSP", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 17 testRunner.And("I am using a TLS Connection", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 18 testRunner.And("I am using the valid Consumer client certificate", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 19 testRunner.When("I make the \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 20 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 21 testRunner.And("the Response Resource should be a CapabilityStatement", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("SSP - Consumer Client Certificate - Invalid - FQDN")] - public virtual void SSP_ConsumerClientCertificate_Invalid_FQDN() + public void SSP_ConsumerClientCertificate_Invalid_FQDN() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("SSP - Consumer Client Certificate - Invalid - FQDN", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("SSP - Consumer Client Certificate - Invalid - FQDN", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 23 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 24 testRunner.Given("I configure the default \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 25 testRunner.And("I am using the SSP", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 26 testRunner.And("I am using a TLS Connection", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 27 testRunner.And("I am using the Consumer client certificate with invalid FQDN", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 28 testRunner.When("I make the \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 29 testRunner.Then("the Response Status Code should be one of \"495, 496\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 30 testRunner.And("the Response should indicate the connection was closed by the server", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("SSP - Consumer Client Certificate - Invalid - Authority")] - public virtual void SSP_ConsumerClientCertificate_Invalid_Authority() + public void SSP_ConsumerClientCertificate_Invalid_Authority() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("SSP - Consumer Client Certificate - Invalid - Authority", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("SSP - Consumer Client Certificate - Invalid - Authority", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 32 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 33 testRunner.Given("I configure the default \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 34 testRunner.And("I am using the SSP", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 35 testRunner.And("I am using a TLS Connection", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 36 testRunner.And("I am using the Consumer client certificate not signed by Spine CA", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 37 testRunner.When("I make the \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 38 testRunner.Then("the Response Status Code should be one of \"495, 496\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 39 testRunner.And("the Response should indicate the connection was closed by the server", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("SSP - Consumer Client Certificate - Invalid - Revoked")] - public virtual void SSP_ConsumerClientCertificate_Invalid_Revoked() + public void SSP_ConsumerClientCertificate_Invalid_Revoked() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("SSP - Consumer Client Certificate - Invalid - Revoked", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("SSP - Consumer Client Certificate - Invalid - Revoked", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 41 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 42 testRunner.Given("I configure the default \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 43 testRunner.And("I am using the SSP", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 44 testRunner.And("I am using a TLS Connection", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 45 testRunner.And("I am using the Consumer client certificate which has been revoked", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 46 testRunner.When("I make the \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 47 testRunner.Then("the Response Status Code should be one of \"495, 496\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 48 testRunner.And("the Response should indicate the connection was closed by the server", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("SSP - Consumer Client Certificate - Invalid - Expired")] - public virtual void SSP_ConsumerClientCertificate_Invalid_Expired() + public void SSP_ConsumerClientCertificate_Invalid_Expired() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("SSP - Consumer Client Certificate - Invalid - Expired", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("SSP - Consumer Client Certificate - Invalid - Expired", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 50 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 51 testRunner.Given("I configure the default \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 52 testRunner.And("I am using the SSP", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 53 testRunner.And("I am using a TLS Connection", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 54 testRunner.And("I am using the Consumer client certificate which is out of date", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 55 testRunner.When("I make the \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 56 testRunner.Then("the Response Status Code should be one of \"495, 496\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 57 testRunner.And("the Response should indicate the connection was closed by the server", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("SSP - Consumer Client Certificate - Invalid - Missing")] - public virtual void SSP_ConsumerClientCertificate_Invalid_Missing() + public void SSP_ConsumerClientCertificate_Invalid_Missing() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("SSP - Consumer Client Certificate - Invalid - Missing", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("SSP - Consumer Client Certificate - Invalid - Missing", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 59 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 60 testRunner.Given("I configure the default \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 61 testRunner.And("I am using the SSP", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 62 testRunner.And("I am using a TLS Connection", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 63 testRunner.And("I am not using a client certificate", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 64 testRunner.When("I make the \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 65 testRunner.Then("the Response Status Code should be one of \"495, 496\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 66 testRunner.And("the Response should indicate the connection was closed by the server", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -263,99 +378,161 @@ public virtual void SSP_ConsumerClientCertificate_Invalid_Missing() [NUnit.Framework.TestCaseAttribute("DHE-RSA-AES256-GCM-SHA384", null)] [NUnit.Framework.TestCaseAttribute("DHE-RSA-AES256-SHA256", null)] [NUnit.Framework.TestCaseAttribute("DHE-RSA-AES256-SHA", null)] - public virtual void SSP_ConnectWithValidCipher(string cipher, string[] exampleTags) + public void SSP_ConnectWithValidCipher(string cipher, string[] exampleTags) { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("SSP - Connect with valid Cipher", null, exampleTags); + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("Cipher", cipher); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("SSP - Connect with valid Cipher", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 68 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 69 testRunner.Given("I configure the default \"MetadataRead\" cURL request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 70 testRunner.And("I am using the SSP", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 71 testRunner.And("I am using the valid Consumer client certificate", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 72 testRunner.And(string.Format("I set the Cipher to \"{0}\"", cipher), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 73 testRunner.When("I make the \"MetadataRead\" cURL request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 74 testRunner.Then("the cURL Code should be \"Ok\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 75 testRunner.And("the Response Resource should be a CapabilityStatement", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("SSP - Connect with invalid nonexistent Cipher")] - public virtual void SSP_ConnectWithInvalidNonexistentCipher() + public void SSP_ConnectWithInvalidNonexistentCipher() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("SSP - Connect with invalid nonexistent Cipher", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("SSP - Connect with invalid nonexistent Cipher", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 87 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 88 testRunner.Given("I configure the default \"MetadataRead\" cURL request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 89 testRunner.And("I am using the SSP", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 90 testRunner.And("I am using the valid Consumer client certificate", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 91 testRunner.And("I set the Cipher to \"ABC-DEF\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 92 testRunner.When("I make the \"MetadataRead\" cURL request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 93 testRunner.Then("the cURL Code should be \"SslCipher\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("SSP - Connect with invalid insecure Cipher")] - public virtual void SSP_ConnectWithInvalidInsecureCipher() + public void SSP_ConnectWithInvalidInsecureCipher() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("SSP - Connect with invalid insecure Cipher", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("SSP - Connect with invalid insecure Cipher", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 95 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 96 testRunner.Given("I configure the default \"MetadataRead\" cURL request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 97 testRunner.And("I am using the SSP", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 98 testRunner.And("I am using the valid Consumer client certificate", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 99 testRunner.And("I set the Cipher to \"NULL-MD5\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 100 testRunner.When("I make the \"MetadataRead\" cURL request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 101 testRunner.Then("the cURL Code should be \"SslConnectError\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("SSP - Connect with invalid secure Cipher")] - public virtual void SSP_ConnectWithInvalidSecureCipher() + public void SSP_ConnectWithInvalidSecureCipher() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("SSP - Connect with invalid secure Cipher", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("SSP - Connect with invalid secure Cipher", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 103 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 104 testRunner.Given("I configure the default \"MetadataRead\" cURL request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 105 testRunner.And("I am using the SSP", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 106 testRunner.And("I am using the valid Consumer client certificate", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 107 testRunner.And("I set the Cipher to \"AES128-SHA256\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 108 testRunner.When("I make the \"MetadataRead\" cURL request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 109 testRunner.Then("the cURL Code should be \"SslConnectError\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden + } this.ScenarioCleanup(); } @@ -378,56 +555,92 @@ public virtual void SSP_ConnectWithInvalidSecureCipher() [NUnit.Framework.TestCaseAttribute("AppointmentCancel", "GET, PUT", "Appointment/{id}", null)] [NUnit.Framework.TestCaseAttribute("AppointmentRead", "GET, PUT", "Appointment/{id}", null)] [NUnit.Framework.TestCaseAttribute("MetadataRead", "GET", "metadata", null)] - public virtual void SSP_CORS(string interaction, string method, string urlForReferenceOnly, string[] exampleTags) + public void SSP_CORS(string interaction, string method, string urlForReferenceOnly, string[] exampleTags) { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("SSP - CORS", null, exampleTags); + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("Interaction", interaction); + argumentsOfScenario.Add("Method", method); + argumentsOfScenario.Add("Url (for reference only)", urlForReferenceOnly); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("SSP - CORS", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 111 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 112 testRunner.Given(string.Format("I configure the default \"{0}\" request", interaction), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 113 testRunner.And("I am using the SSP", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 114 testRunner.And("I am using the valid Consumer client certificate", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 115 testRunner.And("I set the request Http Method to \"OPTIONS\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 116 testRunner.When(string.Format("I make the \"{0}\" request", interaction), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 117 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 118 testRunner.And("the Response Headers should contain an Access-Control-Request-Method header", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 119 testRunner.Then(string.Format("the Access-Control-Request-Method header should contain the \"{0}\" request methods" + - "", method), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); + "", method), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("SSP - To ASID - Invalid")] - public virtual void SSP_ToASID_Invalid() + public void SSP_ToASID_Invalid() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("SSP - To ASID - Invalid", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("SSP - To ASID - Invalid", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 140 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 141 testRunner.Given("I configure the default \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 142 testRunner.And("I am using the SSP", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 143 testRunner.And("I am using the valid Consumer client certificate", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 144 testRunner.And("I am connecting to accredited system \"123456789123\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 145 testRunner.When("I make the \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 146 testRunner.Then("the response status code should be \"400\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 147 testRunner.And("the response should be a OperationOutcome resource with error code \"BAD_REQUEST\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } } diff --git a/GPConnect.Provider.AcceptanceTests/SearchForFreeSlots.feature.cs b/GPConnect.Provider.AcceptanceTests/SearchForFreeSlots.feature.cs index ff95c068..e9889024 100644 --- a/GPConnect.Provider.AcceptanceTests/SearchForFreeSlots.feature.cs +++ b/GPConnect.Provider.AcceptanceTests/SearchForFreeSlots.feature.cs @@ -1,8 +1,8 @@ -// ------------------------------------------------------------------------------ +// ------------------------------------------------------------------------------ // -// This code was generated by SpecFlow (http://www.specflow.org/). -// SpecFlow Version:3.0.0.0 -// SpecFlow Generator Version:3.0.0.0 +// This code was generated by SpecFlow (https://www.specflow.org/). +// SpecFlow Version:3.9.0.0 +// SpecFlow Generator Version:3.9.0.0 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. @@ -13,9 +13,11 @@ namespace GPConnect.Provider.AcceptanceTests { using TechTalk.SpecFlow; + using System; + using System.Linq; - [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "3.0.0.0")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "3.9.0.0")] [System.Runtime.CompilerServices.CompilerGeneratedAttribute()] [NUnit.Framework.TestFixtureAttribute()] [NUnit.Framework.DescriptionAttribute("SearchForFreeSlots")] @@ -26,6 +28,10 @@ public partial class SearchForFreeSlotsFeature private TechTalk.SpecFlow.ITestRunner testRunner; + private static string[] featureTags = new string[] { + "getschedule", + "1.5.0-Full-Pack"}; + #line 1 "SearchForFreeSlots.feature" #line hidden @@ -33,9 +39,7 @@ public partial class SearchForFreeSlotsFeature public virtual void FeatureSetup() { testRunner = TechTalk.SpecFlow.TestRunnerManager.GetTestRunner(); - TechTalk.SpecFlow.FeatureInfo featureInfo = new TechTalk.SpecFlow.FeatureInfo(new System.Globalization.CultureInfo("en-US"), "SearchForFreeSlots", null, ProgrammingLanguage.CSharp, new string[] { - "getschedule", - "1.5.0-Full-Pack"}); + TechTalk.SpecFlow.FeatureInfo featureInfo = new TechTalk.SpecFlow.FeatureInfo(new System.Globalization.CultureInfo("en-US"), "", "SearchForFreeSlots", null, ProgrammingLanguage.CSharp, featureTags); testRunner.OnFeatureStart(featureInfo); } @@ -47,28 +51,28 @@ public virtual void FeatureTearDown() } [NUnit.Framework.SetUpAttribute()] - public virtual void TestInitialize() + public void TestInitialize() { } [NUnit.Framework.TearDownAttribute()] - public virtual void ScenarioTearDown() + public void TestTearDown() { testRunner.OnScenarioEnd(); } - public virtual void ScenarioInitialize(TechTalk.SpecFlow.ScenarioInfo scenarioInfo) + public void ScenarioInitialize(TechTalk.SpecFlow.ScenarioInfo scenarioInfo) { testRunner.OnScenarioInitialize(scenarioInfo); testRunner.ScenarioContext.ScenarioContainer.RegisterInstanceAs(NUnit.Framework.TestContext.CurrentContext); } - public virtual void ScenarioStart() + public void ScenarioStart() { testRunner.OnScenarioStart(); } - public virtual void ScenarioCleanup() + public void ScenarioCleanup() { testRunner.CollectScenarioErrors(); } @@ -78,25 +82,41 @@ public virtual void ScenarioCleanup() [NUnit.Framework.TestCaseAttribute("8", null)] [NUnit.Framework.TestCaseAttribute("0", null)] [NUnit.Framework.TestCaseAttribute("14", null)] - public virtual void SearchingForFreeSlotsWithValidParametersShouldReturnSuccess(string days, string[] exampleTags) + public void SearchingForFreeSlotsWithValidParametersShouldReturnSuccess(string days, string[] exampleTags) { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Searching for free slots with valid parameters should return success", null, exampleTags); + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("Days", days); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Searching for free slots with valid parameters should return success", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 4 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 5 testRunner.Given("I configure the default \"SearchForFreeSlots\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 6 testRunner.And("I set the JWT Requested Scope to Organization Read", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 7 testRunner.And(string.Format("I set the required parameters with a time period of \"{0}\" days", days), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 8 testRunner.When("I make the \"SearchForFreeSlots\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 9 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 10 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -105,26 +125,42 @@ public virtual void SearchingForFreeSlotsWithValidParametersShouldReturnSuccess( [NUnit.Framework.TestCaseAttribute("15", null)] [NUnit.Framework.TestCaseAttribute("31", null)] [NUnit.Framework.TestCaseAttribute("-1", null)] - public virtual void SearchingForFreeSlotsWithInvalidDateRangeShouldReturnError(string days, string[] exampleTags) + public void SearchingForFreeSlotsWithInvalidDateRangeShouldReturnError(string days, string[] exampleTags) { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Searching for free slots with invalid date range should return error", null, exampleTags); + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("Days", days); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Searching for free slots with invalid date range should return error", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 18 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 19 testRunner.Given("I configure the default \"SearchForFreeSlots\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 20 testRunner.And("I set the JWT Requested Scope to Organization Read", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 21 testRunner.And(string.Format("I set the required parameters with a time period of \"{0}\" days", days), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 22 testRunner.When("I make the \"SearchForFreeSlots\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 23 testRunner.Then("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 24 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_PARAM" + - "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -133,62 +169,99 @@ public virtual void SearchingForFreeSlotsWithInvalidDateRangeShouldReturnError(s [NUnit.Framework.TestCaseAttribute("start,end", null)] [NUnit.Framework.TestCaseAttribute("start", null)] [NUnit.Framework.TestCaseAttribute("status", null)] - public virtual void SearchingForFreeSlotsShouldFailDueToMissingParameters(string keys, string[] exampleTags) + public void SearchingForFreeSlotsShouldFailDueToMissingParameters(string keys, string[] exampleTags) { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Searching for free slots should fail due to missing parameters", null, exampleTags); + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("Keys", keys); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Searching for free slots should fail due to missing parameters", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 31 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 32 testRunner.Given("I configure the default \"SearchForFreeSlots\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 33 testRunner.And("I set the JWT Requested Scope to Organization Read", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 34 testRunner.And("I set the required parameters with a time period of \"3\" days", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 35 testRunner.And(string.Format("I remove the parameters \"{0}\"", keys), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 36 testRunner.When("I make the \"SearchForFreeSlots\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 37 testRunner.Then("the response status code should be \"400\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 38 testRunner.And("the response should be a OperationOutcome resource with error code \"BAD_REQUEST\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Searching for free slots with valid prefixes")] - public virtual void SearchingForFreeSlotsWithValidPrefixes() + public void SearchingForFreeSlotsWithValidPrefixes() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Searching for free slots with valid prefixes", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Searching for free slots with valid prefixes", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 46 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 47 testRunner.Given("I configure the default \"SearchForFreeSlots\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 48 testRunner.And("I set the JWT Requested Scope to Organization Read", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 49 testRunner.And("I add the time period parameters for \"3\" days starting today using the start date" + - " prefix \"ge\" and the end date prefix \"le\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + " prefix \"ge\" and the end date prefix \"le\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 50 testRunner.And("I add the parameter \"status\" with the value \"free\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 51 testRunner.And("I add the parameter \"_include\" with the value \"Slot:schedule\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 52 testRunner.And("I add two additional non GP Connect specific searchFilter paramaters", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 53 testRunner.And("I add two valid searchFilter paramaters", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 54 testRunner.And("I add one additional non GP Connect specific searchFilter paramaters", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 55 testRunner.When("I make the \"SearchForFreeSlots\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 56 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 57 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -200,32 +273,52 @@ public virtual void SearchingForFreeSlotsWithValidPrefixes() [NUnit.Framework.TestCaseAttribute("le", "ge", null)] [NUnit.Framework.TestCaseAttribute("eq", "eq", null)] [NUnit.Framework.TestCaseAttribute("gt", "lt", null)] - public virtual void SearchingForFreeSlotsWithInvalidPrefixes(string startDatePrefix, string endDatePrefix, string[] exampleTags) + public void SearchingForFreeSlotsWithInvalidPrefixes(string startDatePrefix, string endDatePrefix, string[] exampleTags) { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Searching for free slots with invalid prefixes", null, exampleTags); + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("startDatePrefix", startDatePrefix); + argumentsOfScenario.Add("endDatePrefix", endDatePrefix); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Searching for free slots with invalid prefixes", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 59 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 60 testRunner.Given("I configure the default \"SearchForFreeSlots\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 61 testRunner.And("I set the JWT Requested Scope to Organization Read", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 62 testRunner.And(string.Format("I add the time period parameters for \"3\" days starting today using the start date" + - " prefix \"{0}\" and the end date prefix \"{1}\"", startDatePrefix, endDatePrefix), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + " prefix \"{0}\" and the end date prefix \"{1}\"", startDatePrefix, endDatePrefix), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 63 testRunner.And("I add the parameter \"status\" with the value \"free\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 64 testRunner.And("I add the parameter \"_include\" with the value \"Slot:schedule\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 65 testRunner.And("I add two valid searchFilter paramaters", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 66 testRunner.When("I make the \"SearchForFreeSlots\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 67 testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 68 testRunner.And("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -236,32 +329,52 @@ public virtual void SearchingForFreeSlotsWithInvalidPrefixes(string startDatePre [NUnit.Framework.TestCaseAttribute("ne", "lt", null)] [NUnit.Framework.TestCaseAttribute("ge", "ne", null)] [NUnit.Framework.TestCaseAttribute("ne", "le", null)] - public virtual void SearchingForFreeSlotsWithUnknownPrefixes(string startDatePrefix, string endDatePrefix, string[] exampleTags) + public void SearchingForFreeSlotsWithUnknownPrefixes(string startDatePrefix, string endDatePrefix, string[] exampleTags) { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Searching for free slots with unknown prefixes", null, exampleTags); + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("startDatePrefix", startDatePrefix); + argumentsOfScenario.Add("endDatePrefix", endDatePrefix); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Searching for free slots with unknown prefixes", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 78 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 79 testRunner.Given("I configure the default \"SearchForFreeSlots\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 80 testRunner.And("I set the JWT Requested Scope to Organization Read", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 81 testRunner.And(string.Format("I add the time period parameters for \"3\" days starting today using the start date" + - " prefix \"{0}\" and the end date prefix \"{1}\"", startDatePrefix, endDatePrefix), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + " prefix \"{0}\" and the end date prefix \"{1}\"", startDatePrefix, endDatePrefix), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 82 testRunner.And("I add the parameter \"status\" with the value \"free\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 83 testRunner.And("I add the parameter \"_include\" with the value \"Slot:schedule\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 84 testRunner.And("I add two valid searchFilter paramaters", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 85 testRunner.When("I make the \"SearchForFreeSlots\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 86 testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 87 testRunner.And("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -272,54 +385,88 @@ public virtual void SearchingForFreeSlotsWithUnknownPrefixes(string startDatePre [NUnit.Framework.TestCaseAttribute("end", "invalidEnddate", null)] [NUnit.Framework.TestCaseAttribute("end", "", null)] [NUnit.Framework.TestCaseAttribute("status", "busy", null)] - public virtual void SearchingForFreeSlotsShouldFailDueToInvalidParameterValues(string key, string value, string[] exampleTags) + public void SearchingForFreeSlotsShouldFailDueToInvalidParameterValues(string key, string value, string[] exampleTags) { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Searching for free slots should fail due to invalid parameter values", null, exampleTags); + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("Key", key); + argumentsOfScenario.Add("Value", value); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Searching for free slots should fail due to invalid parameter values", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 96 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 97 testRunner.Given("I configure the default \"SearchForFreeSlots\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 98 testRunner.And("I set the JWT Requested Scope to Organization Read", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 99 testRunner.And("I set the required parameters with a time period of \"3\" days", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 100 testRunner.And(string.Format("I update the parameter \"{0}\" with value \"{1}\"", key, value), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 101 testRunner.When("I make the \"SearchForFreeSlots\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 102 testRunner.Then("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 103 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_PARAM" + - "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Searching for free slots with other searchFilter system")] - public virtual void SearchingForFreeSlotsWithOtherSearchFilterSystem() + public void SearchingForFreeSlotsWithOtherSearchFilterSystem() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Searching for free slots with other searchFilter system", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Searching for free slots with other searchFilter system", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 112 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 113 testRunner.Given("I configure the default \"SearchForFreeSlots\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 114 testRunner.And("I set the JWT Requested Scope to Organization Read", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 115 testRunner.And("I set the required parameters with a time period of \"3\" days", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 116 testRunner.And("I add one additional non GP Connect specific searchFilter paramaters", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 117 testRunner.When("I make the \"SearchForFreeSlots\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 118 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 119 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -329,34 +476,55 @@ public virtual void SearchingForFreeSlotsWithOtherSearchFilterSystem() [NUnit.Framework.TestCaseAttribute("yyyy-MM-ddTHH:mm:sszzz", "yyyy-MM-ddTHH:mm:sszzz", null)] [NUnit.Framework.TestCaseAttribute("yyyy-MM-ddTHH:mm:sszzz", "yyyy-MM-dd", null)] [NUnit.Framework.TestCaseAttribute("yyyy-MM-dd", "yyyy-MM-ddTHH:mm:sszzz", null)] - public virtual void SearchingForFreeSlotsWithValidPartialDateTimeStrings(string startDate, string endDate, string[] exampleTags) + public void SearchingForFreeSlotsWithValidPartialDateTimeStrings(string startDate, string endDate, string[] exampleTags) { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Searching for free slots with valid partial dateTime strings", null, exampleTags); + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("StartDate", startDate); + argumentsOfScenario.Add("EndDate", endDate); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Searching for free slots with valid partial dateTime strings", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 122 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 123 testRunner.Given("I configure the default \"SearchForFreeSlots\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 124 testRunner.And("I set the JWT Requested Scope to Organization Read", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 125 testRunner.And(string.Format("I add the time period parameters for \"3\" days starting today using the start form" + - "at \"{0}\" and the end format \"{1}\"", startDate, endDate), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "at \"{0}\" and the end format \"{1}\"", startDate, endDate), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 126 testRunner.And("I add the parameter \"status\" with the value \"free\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 127 testRunner.And("I add the parameter \"_include\" with the value \"Slot:schedule\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 128 testRunner.And("I add two valid searchFilter paramaters", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 129 testRunner.And("I add one additional non GP Connect specific searchFilter paramaters", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 130 testRunner.When("I make the \"SearchForFreeSlots\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 131 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 132 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -367,73 +535,115 @@ public virtual void SearchingForFreeSlotsWithValidPartialDateTimeStrings(string [NUnit.Framework.TestCaseAttribute("yyyy-MM-ddTHH:mm:ss", "yyyy-MM-ddTHH:mm:ssZ", null)] [NUnit.Framework.TestCaseAttribute("yyyy", "yyyy-MM", null)] [NUnit.Framework.TestCaseAttribute("yyyy-MM", "yyyy", null)] - public virtual void SearchingForFreeSlotsWithInvalidPartialDateTimeStrings(string startDate, string endDate, string[] exampleTags) + public void SearchingForFreeSlotsWithInvalidPartialDateTimeStrings(string startDate, string endDate, string[] exampleTags) { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Searching for free slots with invalid partial dateTime strings", null, exampleTags); + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("StartDate", startDate); + argumentsOfScenario.Add("EndDate", endDate); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Searching for free slots with invalid partial dateTime strings", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 140 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 141 testRunner.Given("I configure the default \"SearchForFreeSlots\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 142 testRunner.And("I set the JWT Requested Scope to Organization Read", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 143 testRunner.And(string.Format("I add the time period parameters for \"3\" days starting today using the start form" + - "at \"{0}\" and the end format \"{1}\"", startDate, endDate), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "at \"{0}\" and the end format \"{1}\"", startDate, endDate), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 144 testRunner.And("I add the parameter \"status\" with the value \"free\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 145 testRunner.And("I add the parameter \"_include\" with the value \"Slot:schedule\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 146 testRunner.And("I add two valid searchFilter paramaters", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 147 testRunner.When("I make the \"SearchForFreeSlots\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 148 testRunner.Then("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 149 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_PARAM" + - "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Successfully search for free slots and check the slot resources returned are vali" + "d")] - public virtual void SuccessfullySearchForFreeSlotsAndCheckTheSlotResourcesReturnedAreValid() + public void SuccessfullySearchForFreeSlotsAndCheckTheSlotResourcesReturnedAreValid() { + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Successfully search for free slots and check the slot resources returned are vali" + - "d", null, ((string[])(null))); + "d", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 158 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 159 testRunner.Given("I configure the default \"SearchForFreeSlots\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 160 testRunner.And("I set the JWT Requested Scope to Organization Read", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 161 testRunner.And("I set the required parameters with a time period of \"3\" days", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 162 testRunner.And("I add two additional non GP Connect specific searchFilter paramaters", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 163 testRunner.When("I make the \"SearchForFreeSlots\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 164 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 165 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 166 testRunner.And("the Slot Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 167 testRunner.And("the Slot Status should be Free", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 168 testRunner.And("the Slot Metadata should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 169 testRunner.And("the Slot Identifiers should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 170 testRunner.And("the Slot Extensions should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 173 testRunner.And("the Slot Not In Use should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -444,34 +654,56 @@ public virtual void SuccessfullySearchForFreeSlotsAndCheckTheSlotResourcesReturn [NUnit.Framework.TestCaseAttribute("application/fhir+json", "application/fhir+json", "JSON", null)] [NUnit.Framework.TestCaseAttribute("application/fhir+xml", "application/fhir+json", "JSON", null)] [NUnit.Framework.TestCaseAttribute("application/fhir+json", "application/fhir+xml", "XML", null)] - public virtual void SuccessfullySearchForFreeSlotsUsingVariousContentTypesXMLAndJSONInAcceptHeader(string requestContentType, string acceptHeaderValue, string responseShouldBe, string[] exampleTags) + public void SuccessfullySearchForFreeSlotsUsingVariousContentTypesXMLAndJSONInAcceptHeader(string requestContentType, string acceptHeaderValue, string responseShouldBe, string[] exampleTags) { + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("RequestContentType", requestContentType); + argumentsOfScenario.Add("AcceptHeaderValue", acceptHeaderValue); + argumentsOfScenario.Add("ResponseShouldBe", responseShouldBe); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Successfully search for free slots using various content types XML and JSON in Ac" + - "cept header", null, exampleTags); + "cept header", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 175 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 176 testRunner.Given("I configure the default \"SearchForFreeSlots\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 177 testRunner.And(string.Format("I set the request content type to \"{0}\"", requestContentType), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 178 testRunner.And(string.Format("I set the Accept header to \"{0}\"", acceptHeaderValue), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 179 testRunner.And("I set the JWT Requested Scope to Organization Read", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 180 testRunner.And("I set the required parameters with a time period of \"3\" days", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 181 testRunner.When("I make the \"SearchForFreeSlots\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 182 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 183 testRunner.And(string.Format("the response body should be FHIR {0}", responseShouldBe), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 184 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 185 testRunner.And("the Slot Schedule should be referenced in the Bundle", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -482,34 +714,56 @@ public virtual void SuccessfullySearchForFreeSlotsUsingVariousContentTypesXMLAnd [NUnit.Framework.TestCaseAttribute("application/fhir+json", "application/fhir+json", "JSON", null)] [NUnit.Framework.TestCaseAttribute("application/fhir+xml", "application/fhir+json", "JSON", null)] [NUnit.Framework.TestCaseAttribute("application/fhir+json", "application/fhir+xml", "XML", null)] - public virtual void SuccessfullySearchForFreeSlotsUsingVariousContentTypesXMLAndJSONInFormatParameter(string requestContentType, string formatParameterValue, string responseShouldBe, string[] exampleTags) + public void SuccessfullySearchForFreeSlotsUsingVariousContentTypesXMLAndJSONInFormatParameter(string requestContentType, string formatParameterValue, string responseShouldBe, string[] exampleTags) { + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("RequestContentType", requestContentType); + argumentsOfScenario.Add("FormatParameterValue", formatParameterValue); + argumentsOfScenario.Add("ResponseShouldBe", responseShouldBe); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Successfully search for free slots using various content types XML and JSON in fo" + - "rmat parameter", null, exampleTags); + "rmat parameter", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 193 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 194 testRunner.Given("I configure the default \"SearchForFreeSlots\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 195 testRunner.And(string.Format("I set the request content type to \"{0}\"", requestContentType), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 196 testRunner.And(string.Format("I add a Format parameter with the Value \"{0}\"", formatParameterValue), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 197 testRunner.And("I set the JWT Requested Scope to Organization Read", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 198 testRunner.And("I set the required parameters with a time period of \"3\" days", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 199 testRunner.When("I make the \"SearchForFreeSlots\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 200 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 201 testRunner.And(string.Format("the response body should be FHIR {0}", responseShouldBe), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 202 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 203 testRunner.And("the Slot Schedule should be referenced in the Bundle", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -524,100 +778,157 @@ public virtual void SuccessfullySearchForFreeSlotsUsingVariousContentTypesXMLAnd [NUnit.Framework.TestCaseAttribute("application/fhir+json", "application/fhir+xml", "application/fhir+json", "JSON", null)] [NUnit.Framework.TestCaseAttribute("application/fhir+xml", "application/fhir+xml", "application/fhir+json", "JSON", null)] [NUnit.Framework.TestCaseAttribute("application/fhir+json", "application/fhir+json", "application/fhir+xml", "XML", null)] - public virtual void SuccessfullySearchForFreeSlotsUsingVariousContentTypesXMLAndJSONInTheAcceptHeaderAndFormatParameter(string requestContentType, string acceptHeaderValue, string formatParameterValue, string responseShouldBe, string[] exampleTags) + public void SuccessfullySearchForFreeSlotsUsingVariousContentTypesXMLAndJSONInTheAcceptHeaderAndFormatParameter(string requestContentType, string acceptHeaderValue, string formatParameterValue, string responseShouldBe, string[] exampleTags) { + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("RequestContentType", requestContentType); + argumentsOfScenario.Add("AcceptHeaderValue", acceptHeaderValue); + argumentsOfScenario.Add("FormatParameterValue", formatParameterValue); + argumentsOfScenario.Add("ResponseShouldBe", responseShouldBe); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Successfully search for free slots using various content types XML and JSON in th" + - "e Accept Header and format parameter", null, exampleTags); + "e Accept Header and format parameter", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 211 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 212 testRunner.Given("I configure the default \"SearchForFreeSlots\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 213 testRunner.And(string.Format("I set the request content type to \"{0}\"", requestContentType), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 214 testRunner.And(string.Format("I set the Accept header to \"{0}\"", acceptHeaderValue), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 215 testRunner.And(string.Format("I add a Format parameter with the Value \"{0}\"", formatParameterValue), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 216 testRunner.And("I set the JWT Requested Scope to Organization Read", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 217 testRunner.And("I set the required parameters with a time period of \"3\" days", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 218 testRunner.When("I make the \"SearchForFreeSlots\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 219 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 220 testRunner.And(string.Format("the response body should be FHIR {0}", responseShouldBe), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 221 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 222 testRunner.And("the Slot Schedule should be referenced in the Bundle", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Successfully search for free slots and check the included schedule resources retu" + "rned are valid")] - public virtual void SuccessfullySearchForFreeSlotsAndCheckTheIncludedScheduleResourcesReturnedAreValid() + public void SuccessfullySearchForFreeSlotsAndCheckTheIncludedScheduleResourcesReturnedAreValid() { + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Successfully search for free slots and check the included schedule resources retu" + - "rned are valid", null, ((string[])(null))); + "rned are valid", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 234 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 235 testRunner.Given("I configure the default \"SearchForFreeSlots\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 236 testRunner.And("I set the JWT Requested Scope to Organization Read", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 237 testRunner.And("I set the required parameters with a time period of \"3\" days", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 238 testRunner.And("I add the parameter \"_include:recurse\" with the value \"Schedule:actor:Practitione" + - "r\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "r\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 239 testRunner.And("I add the parameter \"_include:recurse\" with the value \"Schedule:actor:Location\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 242 testRunner.And("I add the parameter \"_include:recurse\" with the value \"Location:managingOrganizat" + - "ion\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ion\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 243 testRunner.When("I make the \"SearchForFreeSlots\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 244 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 245 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 246 testRunner.And("the Slot Schedule should be referenced in the Bundle", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 247 testRunner.And("the Schedule Metadata should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 248 testRunner.And("the Schedule Location should be referenced in the Bundle", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 249 testRunner.And("the Location should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 250 testRunner.And("the Location Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 251 testRunner.And("the Schedule Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 252 testRunner.And("the Schedule Identifiers should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 253 testRunner.And("the Schedule PlanningHorizon should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 254 testRunner.And("the Schedule ServiceType should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 255 testRunner.And("the Schedule Extensions should be populated and valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 256 testRunner.And("the Practitioner Entry should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 257 testRunner.And("the Practitioner Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 258 testRunner.And("the Organization should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 259 testRunner.And("the Organization Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 262 testRunner.And("the Schedule Not In Use should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -626,195 +937,308 @@ public virtual void SuccessfullySearchForFreeSlotsAndCheckTheIncludedScheduleRes "tor resource")] [NUnit.Framework.TestCaseAttribute("Location", "Schedule:actor:Practitioner", null)] [NUnit.Framework.TestCaseAttribute("Practitioner", "Schedule:actor:Location", null)] - public virtual void SearchingForFreeSlotsWithoutActorParameterShouldReturnResultsWithoutActorResource(string excludedActor, string includedActorValue, string[] exampleTags) + public void SearchingForFreeSlotsWithoutActorParameterShouldReturnResultsWithoutActorResource(string excludedActor, string includedActorValue, string[] exampleTags) { + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("ExcludedActor", excludedActor); + argumentsOfScenario.Add("IncludedActorValue", includedActorValue); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Searching for free slots without actor parameter should return results without ac" + - "tor resource", null, exampleTags); + "tor resource", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 264 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 265 testRunner.Given("I configure the default \"SearchForFreeSlots\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 266 testRunner.And("I set the JWT Requested Scope to Organization Read", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 267 testRunner.And("I set the required parameters with a time period of \"3\" days", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 268 testRunner.And(string.Format("I add the parameter \"_include:recurse\" with the value \"{0}\"", includedActorValue), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 269 testRunner.When("I make the \"SearchForFreeSlots\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 270 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 271 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 272 testRunner.And("the Bundle should contain Slots", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 273 testRunner.And("the Slot Schedule should be referenced in the Bundle", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 274 testRunner.And(string.Format("the excluded actor \"{0}\" should not be present in the Bundle", excludedActor), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Successfully search for free slots and check the included practitioner resources " + "returned are valid")] - public virtual void SuccessfullySearchForFreeSlotsAndCheckTheIncludedPractitionerResourcesReturnedAreValid() + public void SuccessfullySearchForFreeSlotsAndCheckTheIncludedPractitionerResourcesReturnedAreValid() { + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Successfully search for free slots and check the included practitioner resources " + - "returned are valid", null, ((string[])(null))); + "returned are valid", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 280 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 281 testRunner.Given("I configure the default \"SearchForFreeSlots\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 282 testRunner.And("I set the JWT Requested Scope to Organization Read", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 283 testRunner.And("I set the required parameters with a time period of \"3\" days", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 284 testRunner.And("I add the parameter \"_include:recurse\" with the value \"Schedule:actor:Practitione" + - "r\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "r\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 285 testRunner.When("I make the \"SearchForFreeSlots\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 286 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 287 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 288 testRunner.And("the Practitioner Metadata should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 289 testRunner.And("the Practitioner SDS User Identifier should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 290 testRunner.And("the Practitioner Identifiers should be valid fixed values", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 291 testRunner.And("the Practitioner Name should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 292 testRunner.And("the Practitioner should exclude disallowed elements", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 293 testRunner.And("the Practitioner nhsCommunication should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Successfully search for free slots and check the included location resources retu" + "rned are valid")] - public virtual void SuccessfullySearchForFreeSlotsAndCheckTheIncludedLocationResourcesReturnedAreValid() + public void SuccessfullySearchForFreeSlotsAndCheckTheIncludedLocationResourcesReturnedAreValid() { + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Successfully search for free slots and check the included location resources retu" + - "rned are valid", null, ((string[])(null))); + "rned are valid", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 295 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 296 testRunner.Given("I configure the default \"SearchForFreeSlots\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 297 testRunner.And("I set the JWT Requested Scope to Organization Read", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 298 testRunner.And("I set the required parameters with a time period of \"3\" days", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 299 testRunner.And("I add the parameter \"_include:recurse\" with the value \"Schedule:actor:Location\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 300 testRunner.When("I make the \"SearchForFreeSlots\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 301 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 302 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 303 testRunner.And("the Location Metadata should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 304 testRunner.And("the Location Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 305 testRunner.And("the Location Identifier should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 306 testRunner.And("the Location Type should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 307 testRunner.And("the Location Physical Type should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 308 testRunner.And("the Location PartOf Location should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 309 testRunner.And("the Location Managing Organization should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 310 testRunner.And("the Location Name should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 311 testRunner.And("the Location Address should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("CapabilityStatement profile supports the Slot Search Resource")] - public virtual void CapabilityStatementProfileSupportsTheSlotSearchResource() + public void CapabilityStatementProfileSupportsTheSlotSearchResource() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("CapabilityStatement profile supports the Slot Search Resource", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("CapabilityStatement profile supports the Slot Search Resource", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 313 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 314 testRunner.Given("I configure the default \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 315 testRunner.When("I make the \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 316 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 317 testRunner.And("the CapabilityStatement REST Resources should contain the \"Slot\" Resource with th" + - "e \"SearchType\" Interaction", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "e \"SearchType\" Interaction", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("SearchForFreeSlots valid response check caching headers exist")] - public virtual void SearchForFreeSlotsValidResponseCheckCachingHeadersExist() + public void SearchForFreeSlotsValidResponseCheckCachingHeadersExist() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("SearchForFreeSlots valid response check caching headers exist", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("SearchForFreeSlots valid response check caching headers exist", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 319 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 320 testRunner.Given("I configure the default \"SearchForFreeSlots\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 321 testRunner.And("I set the JWT Requested Scope to Organization Read", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 322 testRunner.And("I set the required parameters with a time period of \"3\" days", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 323 testRunner.When("I make the \"SearchForFreeSlots\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 324 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 325 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 326 testRunner.And("the required cacheing headers should be present in the response", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("SearchForFreeSlots invalid response check caching headers exist")] - public virtual void SearchForFreeSlotsInvalidResponseCheckCachingHeadersExist() + public void SearchForFreeSlotsInvalidResponseCheckCachingHeadersExist() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("SearchForFreeSlots invalid response check caching headers exist", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("SearchForFreeSlots invalid response check caching headers exist", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 328 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 329 testRunner.Given("I configure the default \"SearchForFreeSlots\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 330 testRunner.And("I set the JWT Requested Scope to Organization Read", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 333 testRunner.And("I set the required parameters with a time period of \"30\" days", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 335 testRunner.When("I make the \"SearchForFreeSlots\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 336 testRunner.Then("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 337 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_PARAM" + - "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 338 testRunner.And("the required cacheing headers should be present in the response", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -823,48 +1247,75 @@ public virtual void SearchForFreeSlotsInvalidResponseCheckCachingHeadersExist() [NUnit.Framework.TestCaseAttribute("urgent-care", null)] [NUnit.Framework.TestCaseAttribute("gp-practice", null)] [NUnit.Framework.TestCaseAttribute("oncology", null)] - public virtual void SearchingForFreeSlotsWithOrgTypeSearchFilterSystem(string orgType, string[] exampleTags) + public void SearchingForFreeSlotsWithOrgTypeSearchFilterSystem(string orgType, string[] exampleTags) { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Searching for free slots with org type searchFilter system", null, exampleTags); + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("orgType", orgType); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Searching for free slots with org type searchFilter system", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 344 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 345 testRunner.Given("I configure the default \"SearchForFreeSlots\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 346 testRunner.And("I set the JWT Requested Scope to Organization Read", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 347 testRunner.And("I add the time period parameters for \"14\" days starting today using the start dat" + - "e prefix \"ge\" and the end date prefix \"le\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "e prefix \"ge\" and the end date prefix \"le\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 348 testRunner.And("I add the parameter \"status\" with the value \"free\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 349 testRunner.And("I add the parameter \"_include\" with the value \"Slot:schedule\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 350 testRunner.And(string.Format("I add org type searchFilter paramaters \"{0}\"", orgType), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 351 testRunner.When("I make the \"SearchForFreeSlots\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 352 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 353 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 354 testRunner.And("the Organization should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 355 testRunner.And("the Organization Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 356 testRunner.And("the Slot Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 357 testRunner.And("the Slot Count should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 358 testRunner.And("the Slot Status should be Free", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 359 testRunner.And("the Slot Metadata should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 360 testRunner.And("the Slot Identifiers should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 361 testRunner.And("the Slot Extensions should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -874,93 +1325,145 @@ public virtual void SearchingForFreeSlotsWithOrgTypeSearchFilterSystem(string or [NUnit.Framework.TestCaseAttribute("B81016", null)] [NUnit.Framework.TestCaseAttribute("M85015", null)] [NUnit.Framework.TestCaseAttribute("RNR01", null)] - public virtual void SearchingForFreeSlotsWithOrgCodeSearchFilterSystem(string orgCode, string[] exampleTags) + public void SearchingForFreeSlotsWithOrgCodeSearchFilterSystem(string orgCode, string[] exampleTags) { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Searching for free slots with org code searchFilter system", null, exampleTags); + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("orgCode", orgCode); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Searching for free slots with org code searchFilter system", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 372 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 373 testRunner.Given("I configure the default \"SearchForFreeSlots\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 374 testRunner.And("I set the JWT Requested Scope to Organization Read", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 375 testRunner.And("I add the time period parameters for \"14\" days starting today using the start dat" + - "e prefix \"ge\" and the end date prefix \"le\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "e prefix \"ge\" and the end date prefix \"le\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 376 testRunner.And("I add the parameter \"status\" with the value \"free\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 377 testRunner.And("I add the parameter \"_include\" with the value \"Slot:schedule\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 378 testRunner.And(string.Format("I add org code searchFilter paramaters \"{0}\"", orgCode), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 379 testRunner.When("I make the \"SearchForFreeSlots\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 380 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 381 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 382 testRunner.And("the Organization should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 383 testRunner.And("the Organization Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 384 testRunner.And("the Slot Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 385 testRunner.And("the Slot Count should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 386 testRunner.And("the Slot Status should be Free", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 387 testRunner.And("the Slot Metadata should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 388 testRunner.And("the Slot Identifiers should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 389 testRunner.And("the Slot Extensions should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Searching for free slots with NO org code and NO org type searchFilter system")] - public virtual void SearchingForFreeSlotsWithNOOrgCodeAndNOOrgTypeSearchFilterSystem() + public void SearchingForFreeSlotsWithNOOrgCodeAndNOOrgTypeSearchFilterSystem() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Searching for free slots with NO org code and NO org type searchFilter system", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Searching for free slots with NO org code and NO org type searchFilter system", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 401 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 402 testRunner.Given("I configure the default \"SearchForFreeSlots\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 403 testRunner.And("I set the JWT Requested Scope to Organization Read", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 404 testRunner.And("I add the time period parameters for \"14\" days starting today using the start dat" + - "e prefix \"ge\" and the end date prefix \"le\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "e prefix \"ge\" and the end date prefix \"le\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 405 testRunner.And("I add the parameter \"status\" with the value \"free\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 406 testRunner.And("I add the parameter \"_include\" with the value \"Slot:schedule\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 407 testRunner.When("I make the \"SearchForFreeSlots\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 408 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 409 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 410 testRunner.And("the Organization should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 411 testRunner.And("the Organization Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 412 testRunner.And("the Slot Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 413 testRunner.And("the Slot Count should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 414 testRunner.And("the Slot Status should be Free", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 415 testRunner.And("the Slot Metadata should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 416 testRunner.And("the Slot Identifiers should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 417 testRunner.And("the Slot Extensions should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -978,209 +1481,329 @@ public virtual void SearchingForFreeSlotsWithNOOrgCodeAndNOOrgTypeSearchFilterSy [NUnit.Framework.TestCaseAttribute("oncology", "B81016", null)] [NUnit.Framework.TestCaseAttribute("oncology", "M85015", null)] [NUnit.Framework.TestCaseAttribute("oncology", "RNR01", null)] - public virtual void SearchingForFreeSlotsWithOrgTypeAndCodeSearchFilterSystem(string orgType, string orgCode, string[] exampleTags) + public void SearchingForFreeSlotsWithOrgTypeAndCodeSearchFilterSystem(string orgType, string orgCode, string[] exampleTags) { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Searching for free slots with org type and code searchFilter system", null, exampleTags); + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("orgType", orgType); + argumentsOfScenario.Add("orgCode", orgCode); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Searching for free slots with org type and code searchFilter system", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 421 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 422 testRunner.Given("I configure the default \"SearchForFreeSlots\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 423 testRunner.And("I set the JWT Requested Scope to Organization Read", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 424 testRunner.And("I add the time period parameters for \"14\" days starting today using the start dat" + - "e prefix \"ge\" and the end date prefix \"le\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "e prefix \"ge\" and the end date prefix \"le\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 425 testRunner.And("I add the parameter \"status\" with the value \"free\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 426 testRunner.And("I add the parameter \"_include\" with the value \"Slot:schedule\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 427 testRunner.And(string.Format("I add org type searchFilter paramaters \"{0}\"", orgType), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 428 testRunner.And(string.Format("I add org code searchFilter paramaters \"{0}\"", orgCode), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 429 testRunner.When("I make the \"SearchForFreeSlots\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 430 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 431 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 432 testRunner.And("the Organization should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 433 testRunner.And("the Organization Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 434 testRunner.And("the Slot Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 435 testRunner.And("the Slot Count should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 436 testRunner.And("the Slot Status should be Free", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 437 testRunner.And("the Slot Metadata should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 438 testRunner.And("the Slot Identifiers should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 439 testRunner.And("the Slot Extensions should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Check CapabilityStatement includes specific searchInclude")] - public virtual void CheckCapabilityStatementIncludesSpecificSearchInclude() + public void CheckCapabilityStatementIncludesSpecificSearchInclude() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Check CapabilityStatement includes specific searchInclude", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Check CapabilityStatement includes specific searchInclude", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 456 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 457 testRunner.Given("I configure the default \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 458 testRunner.When("I make the \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 459 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 460 testRunner.And("the Foundations CapabilityStatement has a searchInclude called \"Location:managing" + - "Organization\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "Organization\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Search for a slots expecting a Schedule with serviceCategory populated")] - public virtual void SearchForASlotsExpectingAScheduleWithServiceCategoryPopulated() + public void SearchForASlotsExpectingAScheduleWithServiceCategoryPopulated() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Search for a slots expecting a Schedule with serviceCategory populated", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Search for a slots expecting a Schedule with serviceCategory populated", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 463 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 464 testRunner.Given("I configure the default \"SearchForFreeSlots\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 465 testRunner.And("I set the JWT Requested Scope to Organization Read", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 466 testRunner.And("I set the required parameters with a time period of \"2\" days", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 467 testRunner.And("I add the parameter \"_include:recurse\" with the value \"Schedule:actor:Location\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 468 testRunner.When("I make the \"SearchForFreeSlots\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 469 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 470 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 471 testRunner.And("the Location Metadata should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 472 testRunner.And("the Location Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 473 testRunner.And("the Location Identifier should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 474 testRunner.And("the Location Type should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 475 testRunner.And("the Location Physical Type should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 476 testRunner.And("the Location PartOf Location should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 477 testRunner.And("the Location Managing Organization should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 478 testRunner.And("the Location Name should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 479 testRunner.And("the Location Address should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 480 testRunner.And("One of the Schedules returned Contains the ServiceCategory element set", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Search for a slots expecting a slot with serviceType populated")] - public virtual void SearchForASlotsExpectingASlotWithServiceTypePopulated() + public void SearchForASlotsExpectingASlotWithServiceTypePopulated() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Search for a slots expecting a slot with serviceType populated", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Search for a slots expecting a slot with serviceType populated", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 482 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 483 testRunner.Given("I configure the default \"SearchForFreeSlots\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 484 testRunner.And("I set the JWT Requested Scope to Organization Read", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 485 testRunner.And("I set the required parameters with a time period of \"2\" days", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 486 testRunner.And("I add the parameter \"_include:recurse\" with the value \"Schedule:actor:Location\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 487 testRunner.When("I make the \"SearchForFreeSlots\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 488 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 489 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 490 testRunner.And("the Location Metadata should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 491 testRunner.And("the Location Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 492 testRunner.And("the Location Identifier should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 493 testRunner.And("the Location Type should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 494 testRunner.And("the Location Physical Type should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 495 testRunner.And("the Location PartOf Location should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 496 testRunner.And("the Location Managing Organization should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 497 testRunner.And("the Location Name should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 498 testRunner.And("the Location Address should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 499 testRunner.And("One of the Slots returned Contains the ServiceType element set", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Search for a slots expecting No Comment elements for the Schedules and Slots")] - public virtual void SearchForASlotsExpectingNoCommentElementsForTheSchedulesAndSlots() + public void SearchForASlotsExpectingNoCommentElementsForTheSchedulesAndSlots() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Search for a slots expecting No Comment elements for the Schedules and Slots", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Search for a slots expecting No Comment elements for the Schedules and Slots", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 502 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 503 testRunner.Given("I configure the default \"SearchForFreeSlots\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 504 testRunner.And("I set the JWT Requested Scope to Organization Read", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 505 testRunner.And("I set the required parameters with a time period of \"2\" days", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 506 testRunner.And("I add the parameter \"_include:recurse\" with the value \"Schedule:actor:Location\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 507 testRunner.When("I make the \"SearchForFreeSlots\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 508 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 509 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 510 testRunner.And("the Location Metadata should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 511 testRunner.And("the Location Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 512 testRunner.And("the Location Identifier should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 513 testRunner.And("the Location Type should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 514 testRunner.And("the Location Physical Type should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 515 testRunner.And("the Location PartOf Location should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 516 testRunner.And("the Location Managing Organization should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 517 testRunner.And("the Location Name should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 518 testRunner.And("the Location Address should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 519 testRunner.And("No Schedules or Slots contain comment element", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } } diff --git a/GPConnect.Provider.AcceptanceTests/Security.feature.cs b/GPConnect.Provider.AcceptanceTests/Security.feature.cs index e4119c32..4cc00fc8 100644 --- a/GPConnect.Provider.AcceptanceTests/Security.feature.cs +++ b/GPConnect.Provider.AcceptanceTests/Security.feature.cs @@ -1,8 +1,8 @@ -// ------------------------------------------------------------------------------ +// ------------------------------------------------------------------------------ // -// This code was generated by SpecFlow (http://www.specflow.org/). -// SpecFlow Version:3.0.0.0 -// SpecFlow Generator Version:3.0.0.0 +// This code was generated by SpecFlow (https://www.specflow.org/). +// SpecFlow Version:3.9.0.0 +// SpecFlow Generator Version:3.9.0.0 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. @@ -13,9 +13,11 @@ namespace GPConnect.Provider.AcceptanceTests { using TechTalk.SpecFlow; + using System; + using System.Linq; - [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "3.0.0.0")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "3.9.0.0")] [System.Runtime.CompilerServices.CompilerGeneratedAttribute()] [NUnit.Framework.TestFixtureAttribute()] [NUnit.Framework.DescriptionAttribute("Security")] @@ -25,6 +27,9 @@ public partial class SecurityFeature private TechTalk.SpecFlow.ITestRunner testRunner; + private static string[] featureTags = new string[] { + "security"}; + #line 1 "Security.feature" #line hidden @@ -32,8 +37,7 @@ public partial class SecurityFeature public virtual void FeatureSetup() { testRunner = TechTalk.SpecFlow.TestRunnerManager.GetTestRunner(); - TechTalk.SpecFlow.FeatureInfo featureInfo = new TechTalk.SpecFlow.FeatureInfo(new System.Globalization.CultureInfo("en-US"), "Security", null, ProgrammingLanguage.CSharp, new string[] { - "security"}); + TechTalk.SpecFlow.FeatureInfo featureInfo = new TechTalk.SpecFlow.FeatureInfo(new System.Globalization.CultureInfo("en-US"), "", "Security", null, ProgrammingLanguage.CSharp, featureTags); testRunner.OnFeatureStart(featureInfo); } @@ -45,211 +49,322 @@ public virtual void FeatureTearDown() } [NUnit.Framework.SetUpAttribute()] - public virtual void TestInitialize() + public void TestInitialize() { } [NUnit.Framework.TearDownAttribute()] - public virtual void ScenarioTearDown() + public void TestTearDown() { testRunner.OnScenarioEnd(); } - public virtual void ScenarioInitialize(TechTalk.SpecFlow.ScenarioInfo scenarioInfo) + public void ScenarioInitialize(TechTalk.SpecFlow.ScenarioInfo scenarioInfo) { testRunner.OnScenarioInitialize(scenarioInfo); testRunner.ScenarioContext.ScenarioContainer.RegisterInstanceAs(NUnit.Framework.TestContext.CurrentContext); } - public virtual void ScenarioStart() + public void ScenarioStart() { testRunner.OnScenarioStart(); } - public virtual void ScenarioCleanup() + public void ScenarioCleanup() { testRunner.CollectScenarioErrors(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Security - Non-SSL to SSL")] - public virtual void Security_Non_SSLToSSL() + public void Security_Non_SSLToSSL() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Security - Non-SSL to SSL", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Security - Non-SSL to SSL", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 6 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 7 testRunner.Given("I configure the default \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 8 testRunner.And("I am not using the SSP", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 9 testRunner.And("I am using the valid SSP client certificate", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 10 testRunner.And("I am not using TLS Connection", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 11 testRunner.When("I make the \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 12 testRunner.Then("the Response should indicate the connection was closed by the server or the Reque" + - "st was redirected", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); + "st was redirected", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 13 testRunner.And("if redirected the Response Headers should contain a Strict-Transport-Security hea" + - "der", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "der", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Security - SSP Client Certificate - Valid")] - public virtual void Security_SSPClientCertificate_Valid() + public void Security_SSPClientCertificate_Valid() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Security - SSP Client Certificate - Valid", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Security - SSP Client Certificate - Valid", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 15 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 16 testRunner.Given("I configure the default \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 17 testRunner.And("I am not using the SSP", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 18 testRunner.And("I am using the valid SSP client certificate", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 19 testRunner.And("I am using a TLS Connection", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 20 testRunner.When("I make the \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 21 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 22 testRunner.And("the Response Resource should be a CapabilityStatement", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Security - SSP Client Certificate - Invalid - Expired")] - public virtual void Security_SSPClientCertificate_Invalid_Expired() + public void Security_SSPClientCertificate_Invalid_Expired() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Security - SSP Client Certificate - Invalid - Expired", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Security - SSP Client Certificate - Invalid - Expired", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 24 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 25 testRunner.Given("I configure the default \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 26 testRunner.And("I am not using the SSP", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 27 testRunner.And("I am using the SSP client certificate which has expired", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 28 testRunner.And("I am using a TLS Connection", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 29 testRunner.When("I make the \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 30 testRunner.Then("the Response Status Code should be one of \"495, 496\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 31 testRunner.And("the Response should indicate the connection was closed by the server", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Security - SSP Client Certificate - Invalid - FQDN")] - public virtual void Security_SSPClientCertificate_Invalid_FQDN() + public void Security_SSPClientCertificate_Invalid_FQDN() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Security - SSP Client Certificate - Invalid - FQDN", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Security - SSP Client Certificate - Invalid - FQDN", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 33 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 34 testRunner.Given("I configure the default \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 35 testRunner.And("I am not using the SSP", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 36 testRunner.And("I am using the SSP client certificate with invalid FQDN", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 37 testRunner.And("I am using a TLS Connection", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 38 testRunner.When("I make the \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 39 testRunner.Then("the Response Status Code should be one of \"495, 496\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 40 testRunner.And("the Response should indicate the connection was closed by the server", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Security - SSP Client Certificate - Invalid - Authority")] - public virtual void Security_SSPClientCertificate_Invalid_Authority() + public void Security_SSPClientCertificate_Invalid_Authority() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Security - SSP Client Certificate - Invalid - Authority", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Security - SSP Client Certificate - Invalid - Authority", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 42 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 43 testRunner.Given("I configure the default \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 44 testRunner.And("I am not using the SSP", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 45 testRunner.And("I am using the SSP client certificate not signed by Spine CA", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 46 testRunner.And("I am using a TLS Connection", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 47 testRunner.When("I make the \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 48 testRunner.Then("the Response Status Code should be one of \"495, 496\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 49 testRunner.And("the Response should indicate the connection was closed by the server", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Security - SSP Client Certificate - Invalid - Revoked")] - public virtual void Security_SSPClientCertificate_Invalid_Revoked() + public void Security_SSPClientCertificate_Invalid_Revoked() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Security - SSP Client Certificate - Invalid - Revoked", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Security - SSP Client Certificate - Invalid - Revoked", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 51 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 52 testRunner.Given("I configure the default \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 53 testRunner.And("I am not using the SSP", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 54 testRunner.And("I am using the SSP client certificate which has been revoked", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 55 testRunner.And("I am using a TLS Connection", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 56 testRunner.When("I make the \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 57 testRunner.Then("the Response Status Code should be one of \"495, 496\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 58 testRunner.And("the Response should indicate the connection was closed by the server", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Security - SSP Client Certificate - Invalid - Missing")] - public virtual void Security_SSPClientCertificate_Invalid_Missing() + public void Security_SSPClientCertificate_Invalid_Missing() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Security - SSP Client Certificate - Invalid - Missing", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Security - SSP Client Certificate - Invalid - Missing", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 60 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 61 testRunner.Given("I configure the default \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 62 testRunner.And("I am not using the SSP", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 63 testRunner.And("I am not using a client certificate", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 64 testRunner.And("I am using a TLS Connection", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 65 testRunner.When("I make the \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 66 testRunner.Then("the response status code should be \"496\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden + } this.ScenarioCleanup(); } @@ -263,105 +378,170 @@ public virtual void Security_SSPClientCertificate_Invalid_Missing() [NUnit.Framework.TestCaseAttribute("DHE-RSA-AES256-GCM-SHA384", null)] [NUnit.Framework.TestCaseAttribute("DHE-RSA-AES256-SHA256", null)] [NUnit.Framework.TestCaseAttribute("DHE-RSA-AES256-SHA", null)] - public virtual void Security_ConnectWithValidCipher(string cipher, string[] exampleTags) + public void Security_ConnectWithValidCipher(string cipher, string[] exampleTags) { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Security - Connect with valid Cipher", null, exampleTags); + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("Cipher", cipher); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Security - Connect with valid Cipher", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 68 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 69 testRunner.Given("I configure the default \"MetadataRead\" cURL request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 70 testRunner.And("I am not using the SSP", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 71 testRunner.And("I am using the valid SSP client certificate", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 72 testRunner.And(string.Format("I set the Cipher to \"{0}\"", cipher), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 73 testRunner.And("I am using a TLS Connection", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 74 testRunner.When("I make the \"MetadataRead\" cURL request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 75 testRunner.Then("the cURL Code should be \"Ok\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Security - Connect with invalid nonexistent Cipher")] - public virtual void Security_ConnectWithInvalidNonexistentCipher() + public void Security_ConnectWithInvalidNonexistentCipher() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Security - Connect with invalid nonexistent Cipher", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Security - Connect with invalid nonexistent Cipher", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 87 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 88 testRunner.Given("I configure the default \"MetadataRead\" cURL request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 89 testRunner.And("I am not using the SSP", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 90 testRunner.And("I am using the valid SSP client certificate", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 91 testRunner.And("I set the Cipher to \"ABC-DEF\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 92 testRunner.And("I am using a TLS Connection", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 93 testRunner.When("I make the \"MetadataRead\" cURL request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 94 testRunner.Then("the cURL Code should be \"SslCipher\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Security - Connect with invalid insecure Cipher")] - public virtual void Security_ConnectWithInvalidInsecureCipher() + public void Security_ConnectWithInvalidInsecureCipher() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Security - Connect with invalid insecure Cipher", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Security - Connect with invalid insecure Cipher", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 96 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 97 testRunner.Given("I configure the default \"MetadataRead\" cURL request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 98 testRunner.And("I am not using the SSP", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 99 testRunner.And("I am using the valid SSP client certificate", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 100 testRunner.And("I set the Cipher to \"NULL-MD5\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 101 testRunner.And("I am using a TLS Connection", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 102 testRunner.When("I make the \"MetadataRead\" cURL request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 103 testRunner.Then("the cURL Code should be \"SslConnectError\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Security - Connect with invalid secure Cipher")] - public virtual void Security_ConnectWithInvalidSecureCipher() + public void Security_ConnectWithInvalidSecureCipher() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Security - Connect with invalid secure Cipher", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Security - Connect with invalid secure Cipher", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 105 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 106 testRunner.Given("I configure the default \"MetadataRead\" cURL request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 107 testRunner.And("I am not using the SSP", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 108 testRunner.And("I am using the valid SSP client certificate", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 109 testRunner.And("I set the Cipher to \"AES128-SHA256\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 110 testRunner.And("I am using a TLS Connection", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 111 testRunner.When("I make the \"MetadataRead\" cURL request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 112 testRunner.Then("the cURL Code should be \"SslConnectError\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden + } this.ScenarioCleanup(); } } diff --git a/GPConnect.Provider.AcceptanceTests/Steps/AccessRecordSteps.cs b/GPConnect.Provider.AcceptanceTests/Steps/AccessRecordSteps.cs index 4998a268..8aee87c6 100644 --- a/GPConnect.Provider.AcceptanceTests/Steps/AccessRecordSteps.cs +++ b/GPConnect.Provider.AcceptanceTests/Steps/AccessRecordSteps.cs @@ -109,7 +109,7 @@ public void TheBundleidshouldmatchtheSSPTraceID() private void CheckBundleResources(string patient) { List patientResources = Bundle.GetResources().ToList() - .Where(resource => resource.ResourceType.Equals(ResourceType.Patient)) + .Where(resource => resource.TypeName.Equals(ResourceType.Patient)) .ToList(); patientResources.Count.ShouldBeGreaterThan(0, "Bundle must contain a Patient resource"); @@ -137,11 +137,11 @@ private void CheckBundleResources(string patient) private void checkPractitionerOrganisationResourcesAgainstPatientGp(Patient patient) { List practitionerResources = Bundle.GetResources().ToList() - .Where(resource => resource.ResourceType.Equals(ResourceType.Practitioner)) + .Where(resource => resource.TypeName.Equals(ResourceType.Practitioner)) .ToList(); List organisationResources = Bundle.GetResources().ToList() - .Where(resource => resource.ResourceType.Equals(ResourceType.Organization)) + .Where(resource => resource.TypeName.Equals(ResourceType.Organization)) .ToList(); patient.GeneralPractitioner.ForEach(gp => @@ -191,7 +191,7 @@ private void checkPractitionerRoleResourcesAgainstPatientGpRole(Resource practit .ToList(); List roleResources = Bundle.GetResources().ToList() - .Where(resource => resource.ResourceType.Equals(ResourceType.PractitionerRole)) + .Where(resource => resource.TypeName.Equals(ResourceType.PractitionerRole)) .ToList(); pracRoleIdentifiers.ForEach(roleIdentifier => diff --git a/GPConnect.Provider.AcceptanceTests/Steps/AppointmentsSteps.cs b/GPConnect.Provider.AcceptanceTests/Steps/AppointmentsSteps.cs index bd150c50..534dd502 100644 --- a/GPConnect.Provider.AcceptanceTests/Steps/AppointmentsSteps.cs +++ b/GPConnect.Provider.AcceptanceTests/Steps/AppointmentsSteps.cs @@ -49,7 +49,7 @@ public AppointmentsSteps( [Then(@"the Response Resource should be an Appointment")] public void TheResponseResourceShouldBeAnAppointment() { - _httpContext.FhirResponse.Resource.ResourceType.ShouldBe(ResourceType.Appointment, "the Response Resource should be an Appointment."); + _httpContext.FhirResponse.resource.TypeName.ShouldBe(ResourceType.Appointment, "the Response Resource should be an Appointment."); } [Then(@"the Bundle should contain no Appointments")] @@ -563,7 +563,7 @@ public void TheAppointmentOrganisationCodeShouldEqual(String org) { readAppointment.Contained.ForEach(resource => { - if (resource.ResourceType.Equals(ResourceType.Organization)) + if (resource.TypeName.Equals(ResourceType.Organization)) { Organization organisation = (Organization)resource; organisation.Identifier.First().Value.ShouldBe(GlobalContext.OdsCodeMap[org]); diff --git a/GPConnect.Provider.AcceptanceTests/Steps/BundleSteps.cs b/GPConnect.Provider.AcceptanceTests/Steps/BundleSteps.cs index 1850458a..2cba0cf8 100644 --- a/GPConnect.Provider.AcceptanceTests/Steps/BundleSteps.cs +++ b/GPConnect.Provider.AcceptanceTests/Steps/BundleSteps.cs @@ -37,7 +37,7 @@ public BundleSteps(HttpSteps httpSteps, HttpContext httpContext) : base(httpStep [Then(@"the response should be a Bundle resource of type ""([^""]*)""")] public void ThenTheResponseShouldBeABundleResourceOfType(string resourceType) { - _httpContext.FhirResponse.Resource.ResourceType.ShouldBe(ResourceType.Bundle); + _httpContext.FhirResponse.Resource.TypeName.ShouldBe("Bundle"); if ("document".Equals(resourceType)) { @@ -103,7 +103,7 @@ private void TestOperationOutcomeResource(string errorCode = null, string errorD { var resource = _httpContext.FhirResponse.Resource; - resource.ResourceType.ShouldBe(ResourceType.OperationOutcome); + resource.TypeName.ShouldBe("OperationOutcome"); var operationOutcome = (OperationOutcome)resource; @@ -172,9 +172,9 @@ public void ThenTheResponseBundleShouldContainASingleCompositionResourceAsTheFir _httpContext.FhirResponse.Compositions.Count.ShouldBe(1); _httpContext.FhirResponse.Entries - .Select(entry => entry.Resource.ResourceType) + .Select(entry => entry.Resource.TypeName) .First() - .ShouldBe(ResourceType.Composition); + .ShouldBe("Composition"); } [Then(@"the response bundle should contain the composition resource as the first entry")] @@ -182,9 +182,9 @@ public void ThenTheResponseBundleShouldContainTheCompositionResourceAsTheFirstEn { _httpContext.FhirResponse.Bundle .Entry - .Select(entry => entry.Resource.ResourceType) + .Select(entry => entry.Resource.TypeName) .First() - .ShouldBe(ResourceType.Composition); + .ShouldBe("Composition"); } [Then(@"the response meta profile should be for ""([^""]*)""")] @@ -255,7 +255,7 @@ public void ResponseBundleContainsReferenceOfType(string reference, ResourceType var lowerReference = reference.ToLowerInvariant(); - _httpContext.FhirResponse.Bundle.Entry.ShouldContain(entry => lowerReference.Equals(ComposeReferenceFromEntry(entry)) && entry.Resource.ResourceType.Equals(resourceType), customMessage); + _httpContext.FhirResponse.Bundle.Entry.ShouldContain(entry => lowerReference.Equals(ComposeReferenceFromEntry(entry)) && entry.Resource.TypeName.Equals(resourceType), customMessage); } private static string ComposeReferenceFromEntry(EntryComponent entry) @@ -267,7 +267,7 @@ public void ResponseBundleDoesNotContainReferenceOfType(ResourceType resourceTyp { const string customMessage = "The reference from the resource was found in the bundle by fullUrl resource element but has not been requested."; - _httpContext.FhirResponse.Bundle.Entry.Count(ent => ent.Resource.ResourceType.Equals(resourceType)).ShouldBe(0, customMessage); + _httpContext.FhirResponse.Bundle.Entry.Count(ent => ent.Resource.TypeName.Equals(resourceType)).ShouldBe(0, customMessage); } diff --git a/GPConnect.Provider.AcceptanceTests/Steps/ConformanceSteps.cs b/GPConnect.Provider.AcceptanceTests/Steps/ConformanceSteps.cs index 720a5dad..7bb90cfb 100644 --- a/GPConnect.Provider.AcceptanceTests/Steps/ConformanceSteps.cs +++ b/GPConnect.Provider.AcceptanceTests/Steps/ConformanceSteps.cs @@ -23,7 +23,7 @@ public CapabilityStatementSteps(HttpContext httpContext) [Then("the Response Resource should be a CapabilityStatement")] public void TheResponseResourceShouldBeACapabilityStatement() { - _httpContext.FhirResponse.Resource.ResourceType.ShouldBe(ResourceType.CapabilityStatement); + _httpContext.FhirResponse.Resource.TypeName.ShouldBe("CapabilityStatement"); } [Then(@"the FoundationsAndAppmts CapabilityStatement version should match the GP Connect specification release")] diff --git a/GPConnect.Provider.AcceptanceTests/Steps/LocationSteps.cs b/GPConnect.Provider.AcceptanceTests/Steps/LocationSteps.cs index ec21e973..aaca5f37 100644 --- a/GPConnect.Provider.AcceptanceTests/Steps/LocationSteps.cs +++ b/GPConnect.Provider.AcceptanceTests/Steps/LocationSteps.cs @@ -26,7 +26,7 @@ public LocationSteps(HttpContext httpContext, HttpSteps httpSteps) [Then(@"the Response Resource should be a Location")] public void TheResponseResourceShouldBeALocation() { - _httpContext.FhirResponse.Resource.ResourceType.ShouldBe(ResourceType.Location); + _httpContext.FhirResponse.resource.TypeName.ShouldBe(ResourceType.Location); var location = (Location)_httpContext.FhirResponse.Resource; diff --git a/GPConnect.Provider.AcceptanceTests/Steps/OrganizationSteps.cs b/GPConnect.Provider.AcceptanceTests/Steps/OrganizationSteps.cs index dc0d6eb1..246ecfae 100644 --- a/GPConnect.Provider.AcceptanceTests/Steps/OrganizationSteps.cs +++ b/GPConnect.Provider.AcceptanceTests/Steps/OrganizationSteps.cs @@ -37,7 +37,7 @@ public OrganizationSteps(HttpSteps httpSteps, HttpContext httpContext, BundleSte [Then(@"the Response Resource should be an Organization")] public void TheResponseResourceShouldBeAnOrganization() { - _httpContext.FhirResponse.Resource.ResourceType.ShouldBe(ResourceType.Organization); + _httpContext.FhirResponse.Resource.TypeName.ShouldBe("Organization"); } [Then("the Organization Id should equal the Request Id")] @@ -124,7 +124,7 @@ public void TheOrganizationFullUrlShouldBeValid() var organizationEntries = _httpContext .FhirResponse .Entries - .Where(entry => entry.Resource.ResourceType == ResourceType.Organization) + .Where(entry => entry.Resource.TypeName == "Organization") .ToList(); organizationEntries.ForEach(organizationEntry => @@ -428,7 +428,7 @@ public void ThenResponseBundleOrganizationEntriesShouldContainAMaximumOf1OrgCode { foreach (var entry in _httpContext.FhirResponse.Entries) { - if (entry.Resource.ResourceType.Equals(ResourceType.Organization)) + if (entry.Resource.TypeName.Equals(ResourceType.Organization)) { Organization organization = (Organization)entry.Resource; diff --git a/GPConnect.Provider.AcceptanceTests/Steps/PatientSteps.cs b/GPConnect.Provider.AcceptanceTests/Steps/PatientSteps.cs index be0deb70..89b7028f 100644 --- a/GPConnect.Provider.AcceptanceTests/Steps/PatientSteps.cs +++ b/GPConnect.Provider.AcceptanceTests/Steps/PatientSteps.cs @@ -38,7 +38,7 @@ public PatientSteps(HttpSteps httpSteps, HttpContext httpContext, BundleSteps bu [Then(@"the Response Resource should be a Patient")] public void TheResponseResourceShouldBeAPatient() { - _httpContext.FhirResponse.Resource.ResourceType.ShouldBe(ResourceType.Patient); + _httpContext.FhirResponse.Resource.TypeName.ShouldBe("Patient"); } [Then(@"the Patient Id should be valid")] @@ -412,7 +412,7 @@ public void ThePatientContactShouldBeValid() if (contact.Organization?.Reference != null) { _httpContext.FhirResponse.Entries.ShouldContain( - entry => entry.Resource.ResourceType.Equals(ResourceType.Organization) && + entry => entry.Resource.TypeName.Equals(ResourceType.Organization) && entry.FullUrl.Equals(contact.Organization.Reference) ); } diff --git a/GPConnect.Provider.AcceptanceTests/Steps/PractitionerSteps.cs b/GPConnect.Provider.AcceptanceTests/Steps/PractitionerSteps.cs index 11af8eb5..3b303d89 100644 --- a/GPConnect.Provider.AcceptanceTests/Steps/PractitionerSteps.cs +++ b/GPConnect.Provider.AcceptanceTests/Steps/PractitionerSteps.cs @@ -89,7 +89,7 @@ public void StoreThePractitionerVersionId() [Then(@"the Response Resource should be a Practitioner")] public void ResponseResourceShouldBeAPractitioner() { - _httpContext.FhirResponse.Resource.ResourceType.ShouldBe(ResourceType.Practitioner); + _httpContext.FhirResponse.resource.TypeName.ShouldBe(ResourceType.Practitioner); } [Then("the Practitioner Id should be valid")] diff --git a/GPConnect.Provider.AcceptanceTests/Steps/StructuredAllergySteps.cs b/GPConnect.Provider.AcceptanceTests/Steps/StructuredAllergySteps.cs index ffcc8276..89850bda 100644 --- a/GPConnect.Provider.AcceptanceTests/Steps/StructuredAllergySteps.cs +++ b/GPConnect.Provider.AcceptanceTests/Steps/StructuredAllergySteps.cs @@ -373,7 +373,7 @@ public void TheAllergyIntoleranceShouldBeValid() List resolved = Lists.Where(list => list.Title.Equals(FhirConst.ListTitles.kResolvedAllergies)).ToList(); if (resolved.Count > 0) { - List resolvedAllergies = resolved.First().Contained.Where(resource => resource.ResourceType.Equals(ResourceType.AllergyIntolerance)).ToList(); + List resolvedAllergies = resolved.First().Contained.Where(resource => resource.TypeName.Equals(ResourceType.AllergyIntolerance)).ToList(); resolvedAllergies.ForEach(resource => { AllergyIntolerance allergy = (AllergyIntolerance)resource; @@ -607,7 +607,7 @@ private void checktheListsarevalidforapatientwithlegacyendReason() List resolved = Lists.Where(list => list.Title.Equals(FhirConst.ListTitles.kResolvedAllergies)).ToList(); if (resolved.Count > 0) { - List resolvedAllergies = resolved.First().Contained.Where(resource => resource.ResourceType.Equals(ResourceType.AllergyIntolerance)).ToList(); + List resolvedAllergies = resolved.First().Contained.Where(resource => resource.TypeName.Equals(ResourceType.AllergyIntolerance)).ToList(); resolvedAllergies.ForEach(resource => { AllergyIntolerance endedAllergy = (AllergyIntolerance)resource; diff --git a/GPConnect.Provider.AcceptanceTests/Steps/StructuredConsultationsSteps.cs b/GPConnect.Provider.AcceptanceTests/Steps/StructuredConsultationsSteps.cs index 2dc6c5b1..8c696ba0 100644 --- a/GPConnect.Provider.AcceptanceTests/Steps/StructuredConsultationsSteps.cs +++ b/GPConnect.Provider.AcceptanceTests/Steps/StructuredConsultationsSteps.cs @@ -83,7 +83,7 @@ public void ThenIChecktheConsultationsListisValid() { string refToFind = Regex.Replace(entry.Item.Reference, pattern, "$2"); Bundle.GetResources() - .Where(resource => resource.ResourceType.Equals(ResourceType.Encounter)) + .Where(resource => resource.TypeName.Equals(ResourceType.Encounter)) .Where(resource => resource.Id == refToFind) .ToList().Count().ShouldBe(1, "Encounter resource type Not Found"); }); @@ -206,7 +206,7 @@ public void ThenIChecktheConsultationListsareValid() { string refToFind = Regex.Replace(entry.Item.Reference, pattern, "$2"); Bundle.GetResources() - .Where(resource => resource.ResourceType.Equals(ResourceType.List)) + .Where(resource => resource.TypeName.Equals(ResourceType.List)) .Where(resource => resource.Id == refToFind) .ToList().Count().ShouldBe(1, "Topic List resource Not Found"); Logger.Log.WriteLine("Consultation List - Verified the Linked Topic has been included In the Bundle: " + refToFind); @@ -273,7 +273,7 @@ public void ThenIChecktheTopicLists() if (topicEntry.Item.Reference.StartsWith("List/")) { Bundle.GetResources() - .Where(resource => resource.ResourceType.Equals(ResourceType.List)) + .Where(resource => resource.TypeName.Equals(ResourceType.List)) .Where(resource => resource.Id == refToFind) .ToList().Count().ShouldBe(1, "Heading List resource Not Found"); Logger.Log.WriteLine("Found Heading List : " + topicEntry.Item.Reference); @@ -312,7 +312,7 @@ public void ThenICheckoneTopicislinkedtoaproblem() string refToFind = Regex.Replace(((Hl7.Fhir.Model.ResourceReference)phe.Value).ReferenceElement.Value, pattern, "$2"); int count = Bundle.GetResources() - .Where(resource => resource.ResourceType.Equals(ResourceType.Condition)) + .Where(resource => resource.TypeName.Equals(ResourceType.Condition)) .Where(resource => resource.Id == refToFind) .ToList().Count(); if (count >= 1) @@ -391,7 +391,7 @@ public void GivenIAddAMadeUpConsultationPartParameter() public void CheckResourceExists(T resourceType, string resourceID) { Bundle.GetResources() - .Where(resource => resource.ResourceType.Equals(resourceType)) + .Where(resource => resource.TypeName.Equals(resourceType)) .Where(resource => resource.Id == resourceID) .ToList().Count().ShouldBe(1, "Fail : Linked Resource Not Contained in Response - type : " + resourceType + " - ID : " + resourceID); diff --git a/GPConnect.Provider.AcceptanceTests/Steps/StructuredDiarySteps.cs b/GPConnect.Provider.AcceptanceTests/Steps/StructuredDiarySteps.cs index dcae4fac..a237e701 100644 --- a/GPConnect.Provider.AcceptanceTests/Steps/StructuredDiarySteps.cs +++ b/GPConnect.Provider.AcceptanceTests/Steps/StructuredDiarySteps.cs @@ -100,7 +100,7 @@ public void ThenIChecktheDiaryListareValid() { string refToFind = Regex.Replace(entry.Item.Reference, pattern, "$2"); Bundle.GetResources() - .Where(resource => resource.ResourceType.Equals(ResourceType.ProcedureRequest)) + .Where(resource => resource.TypeName.Equals(ResourceType.ProcedureRequest)) .Where(resource => resource.Id == refToFind) .ToList().Count().ShouldBe(1, "ProcedureRequest resource Not Found with id : " + refToFind); Logger.Log.WriteLine("Diary List - Verified the Linked ProcedureRequest's has been included In the Bundle: " + refToFind); @@ -258,7 +258,7 @@ public void VerifyResourceReferenceExists(string refTypeToFind, string refToFind public void CheckResourceExists(T resourceType, string resourceID) { Bundle.GetResources() - .Where(resource => resource.ResourceType.Equals(resourceType)) + .Where(resource => resource.TypeName.Equals(resourceType)) .Where(resource => resource.Id == resourceID) .ToList().Count().ShouldBe(1, "Fail : Linked Resource Not Contained in Response - type : " + resourceType + " - ID : " + resourceID); diff --git a/GPConnect.Provider.AcceptanceTests/Steps/StructuredInvestigationsSteps.cs b/GPConnect.Provider.AcceptanceTests/Steps/StructuredInvestigationsSteps.cs index 53c29840..da7d6e4b 100644 --- a/GPConnect.Provider.AcceptanceTests/Steps/StructuredInvestigationsSteps.cs +++ b/GPConnect.Provider.AcceptanceTests/Steps/StructuredInvestigationsSteps.cs @@ -84,7 +84,7 @@ public void ThenIChecktheInvestigationsListsareValid() { string refToFind = Regex.Replace(entry.Item.Reference, pattern, "$2"); Bundle.GetResources() - .Where(resource => resource.ResourceType.Equals(ResourceType.DiagnosticReport)) + .Where(resource => resource.TypeName.Equals(ResourceType.DiagnosticReport)) .Where(resource => resource.Id == refToFind) .ToList().Count().ShouldBe(1, "DiagnosticReport resource Not Found with id : " + refToFind); Logger.Log.WriteLine("Investigations List - Verified the Linked DiagnosticReport has been included In the Bundle: " + refToFind); @@ -397,7 +397,7 @@ public void VerifyResourceReferenceExists(string refTypeToFind, string refToFind public void CheckResourceExists(T resourceType, string resourceID) { Bundle.GetResources() - .Where(resource => resource.ResourceType.Equals(resourceType)) + .Where(resource => resource.TypeName.Equals(resourceType)) .Where(resource => resource.Id == resourceID) .ToList().Count().ShouldBe(1, "Fail : Linked Resource Not Contained in Response - type : " + resourceType + " - ID : " + resourceID); diff --git a/GPConnect.Provider.AcceptanceTests/Steps/StructuredMultipleSteps.cs b/GPConnect.Provider.AcceptanceTests/Steps/StructuredMultipleSteps.cs index 78a7d866..a62a63be 100644 --- a/GPConnect.Provider.AcceptanceTests/Steps/StructuredMultipleSteps.cs +++ b/GPConnect.Provider.AcceptanceTests/Steps/StructuredMultipleSteps.cs @@ -33,7 +33,7 @@ public void checkTheOperationOutcomeReturnsTheCorrectTextAndDiagnostics(string p entries.ForEach(entry => { - if (entry.Resource.ResourceType.ToString() == "OperationOutcome") + if (entry.Resource.TypeName.ToString() == "OperationOutcome") { foreach (var issue in ((Hl7.Fhir.Model.OperationOutcome)entry.Resource).Issue) @@ -64,7 +64,7 @@ public void checkTheOperationOutcomeForEachUnsupportedStructuredRequest() entries.ForEach(entry => { - if (entry.Resource.ResourceType.ToString() == "OperationOutcome") + if (entry.ToString() == "OperationOutcome") { //check number of issues in operation outcome matches expected number if (((Hl7.Fhir.Model.OperationOutcome)entry.Resource).Issue.Count() == parameterList.Count()) @@ -127,7 +127,7 @@ public void checkTheOperationOutcomeReturnsTheCorrectTextAndDiagnostics(string p entries.ForEach(entry => { - if (entry.Resource.ResourceType.ToString() == "OperationOutcome") + if (entry.Resource.TypeName.ToString() == "OperationOutcome") { foreach (var issue in ((Hl7.Fhir.Model.OperationOutcome)entry.Resource).Issue) @@ -159,7 +159,7 @@ public void checkTheOperationOutcomeParameterNotFoundFor(string parameter, strin entries.ForEach(entry => { - if (entry.Resource.ResourceType.ToString() == "OperationOutcome") + if (entry.Resource.TypeName.ToString() == "OperationOutcome") { foreach (var issue in ((Hl7.Fhir.Model.OperationOutcome)entry.Resource).Issue) @@ -190,7 +190,7 @@ public void checkTheOperationOutcomeReturnsInvalidParameterFor(string parameter, entries.ForEach(entry => { - if (entry.Resource.ResourceType.ToString() == "OperationOutcome") + if (entry.Resource.TypeName.ToString() == "OperationOutcome") { foreach (var issue in ((Hl7.Fhir.Model.OperationOutcome)entry.Resource).Issue) @@ -296,7 +296,7 @@ public void checkTheNumberOfIssuesInTheOperationalOutcome(int issueCount) var foundFlag = false; entries.ForEach(entry => { - if (entry.Resource.ResourceType.ToString() == "OperationOutcome") + if (entry.Resource.TypeName.ToString() == "OperationOutcome") { ((OperationOutcome)entry.Resource).Issue.Count().ShouldBe(issueCount); foundFlag = true; @@ -320,7 +320,7 @@ public void checkTheResponseDoesNotContainAnOperationalOutcome() var foundFlag = false; entries.ForEach(entry => { - if (entry.Resource.ResourceType.ToString() == "OperationOutcome") + if (entry.Resource.TypeName.ToString() == "OperationOutcome") { foundFlag = true; } diff --git a/GPConnect.Provider.AcceptanceTests/Steps/StructuredProblemsSteps.cs b/GPConnect.Provider.AcceptanceTests/Steps/StructuredProblemsSteps.cs index 54d80ef2..df368ddc 100644 --- a/GPConnect.Provider.AcceptanceTests/Steps/StructuredProblemsSteps.cs +++ b/GPConnect.Provider.AcceptanceTests/Steps/StructuredProblemsSteps.cs @@ -91,7 +91,6 @@ public void ThenICheckThePrimaryProblemsList() { string guidToFind = entry.Item.Reference.Replace("Condition/", ""); Problems - .Where(resource => resource.ResourceType.Equals(ResourceType.Condition)) .Where(c => c.Id == guidToFind) .Count().ShouldBe(1, "Not Found Reference to Condition"); }); @@ -143,7 +142,6 @@ public void ThenICheckTheSecondaryProblemsList() { string guidToFind = entry.Item.Reference.Replace("Condition/", ""); Problems - .Where(resource => resource.ResourceType.Equals(ResourceType.Condition)) .Where(c => c.Id == guidToFind) .Count().ShouldBe(1, "Not Found Reference to Condition"); }); @@ -537,8 +535,8 @@ public void ThenCheckthataProblemislinkedtoaconsultationbutonlyareferenceissenti public void CheckResourceExists(T resourceType, string resourceID) { var count = Bundle.GetResources() - .Where(resource => resource.ResourceType.Equals(resourceType)) - .Where(resource => resource.Id == resourceID) + .Where(resource => ((Hl7.Fhir.Model.Resource)resource).TypeName.Equals(resourceType)) + .Where(resource => ((Hl7.Fhir.Model.Resource)resource).Id == resourceID) .ToList().Count(); if (count == 1) //only one found diff --git a/GPConnect.Provider.AcceptanceTests/Steps/StructuredReferralsSteps.cs b/GPConnect.Provider.AcceptanceTests/Steps/StructuredReferralsSteps.cs index 541d628c..fa6225e6 100644 --- a/GPConnect.Provider.AcceptanceTests/Steps/StructuredReferralsSteps.cs +++ b/GPConnect.Provider.AcceptanceTests/Steps/StructuredReferralsSteps.cs @@ -83,7 +83,7 @@ public void ThenIChecktheReferralsListsareValid() { string refToFind = Regex.Replace(entry.Item.Reference, pattern, "$2"); Bundle.GetResources() - .Where(resource => resource.ResourceType.Equals(ResourceType.ReferralRequest)) + .Where(resource => resource.TypeName.Equals(ResourceType.ReferralRequest)) .Where(resource => resource.Id == refToFind) .ToList().Count().ShouldBe(1, "ReferralRequest resource Not Found with id : " + refToFind); Logger.Log.WriteLine("Referrals List - Verified the Linked ReferralRequest has been included In the Bundle: " + refToFind); @@ -258,7 +258,7 @@ public void VerifyResourceReferenceExists(string refTypeToFind, string refToFind public void CheckResourceExists(T resourceType, string resourceID) { Bundle.GetResources() - .Where(resource => resource.ResourceType.Equals(resourceType)) + .Where(resource => resource.TypeName.Equals(resourceType)) .Where(resource => resource.Id == resourceID) .ToList().Count().ShouldBe(1, "Fail : Linked Resource Not Contained in Response - type : " + resourceType + " - ID : " + resourceID); diff --git a/GPConnect.Provider.AcceptanceTests/StructuredAllergies.feature.cs b/GPConnect.Provider.AcceptanceTests/StructuredAllergies.feature.cs index ca7d3cf4..0a9c78d7 100644 --- a/GPConnect.Provider.AcceptanceTests/StructuredAllergies.feature.cs +++ b/GPConnect.Provider.AcceptanceTests/StructuredAllergies.feature.cs @@ -1,8 +1,8 @@ -// ------------------------------------------------------------------------------ +// ------------------------------------------------------------------------------ // -// This code was generated by SpecFlow (http://www.specflow.org/). -// SpecFlow Version:3.0.0.0 -// SpecFlow Generator Version:3.0.0.0 +// This code was generated by SpecFlow (https://www.specflow.org/). +// SpecFlow Version:3.9.0.0 +// SpecFlow Generator Version:3.9.0.0 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. @@ -13,9 +13,11 @@ namespace GPConnect.Provider.AcceptanceTests { using TechTalk.SpecFlow; + using System; + using System.Linq; - [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "3.0.0.0")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "3.9.0.0")] [System.Runtime.CompilerServices.CompilerGeneratedAttribute()] [NUnit.Framework.TestFixtureAttribute()] [NUnit.Framework.DescriptionAttribute("StructuredAllergies")] @@ -27,6 +29,11 @@ public partial class StructuredAllergiesFeature private TechTalk.SpecFlow.ITestRunner testRunner; + private static string[] featureTags = new string[] { + "Structured", + "StructuredAllergies", + "1.5.0-Full-Pack"}; + #line 1 "StructuredAllergies.feature" #line hidden @@ -34,10 +41,7 @@ public partial class StructuredAllergiesFeature public virtual void FeatureSetup() { testRunner = TechTalk.SpecFlow.TestRunnerManager.GetTestRunner(); - TechTalk.SpecFlow.FeatureInfo featureInfo = new TechTalk.SpecFlow.FeatureInfo(new System.Globalization.CultureInfo("en-US"), "StructuredAllergies", null, ProgrammingLanguage.CSharp, new string[] { - "Structured", - "StructuredAllergies", - "1.5.0-Full-Pack"}); + TechTalk.SpecFlow.FeatureInfo featureInfo = new TechTalk.SpecFlow.FeatureInfo(new System.Globalization.CultureInfo("en-US"), "", "StructuredAllergies", null, ProgrammingLanguage.CSharp, featureTags); testRunner.OnFeatureStart(featureInfo); } @@ -49,28 +53,28 @@ public virtual void FeatureTearDown() } [NUnit.Framework.SetUpAttribute()] - public virtual void TestInitialize() + public void TestInitialize() { } [NUnit.Framework.TearDownAttribute()] - public virtual void ScenarioTearDown() + public void TestTearDown() { testRunner.OnScenarioEnd(); } - public virtual void ScenarioInitialize(TechTalk.SpecFlow.ScenarioInfo scenarioInfo) + public void ScenarioInitialize(TechTalk.SpecFlow.ScenarioInfo scenarioInfo) { testRunner.OnScenarioInitialize(scenarioInfo); testRunner.ScenarioContext.ScenarioContainer.RegisterInstanceAs(NUnit.Framework.TestContext.CurrentContext); } - public virtual void ScenarioStart() + public void ScenarioStart() { testRunner.OnScenarioStart(); } - public virtual void ScenarioCleanup() + public void ScenarioCleanup() { testRunner.CollectScenarioErrors(); } @@ -85,66 +89,100 @@ public virtual void ScenarioCleanup() [NUnit.Framework.TestCaseAttribute("patient8", null)] [NUnit.Framework.TestCaseAttribute("patient12", null)] [NUnit.Framework.TestCaseAttribute("patient13", null)] - public virtual void RetrieveTheAllergyStructuredRecordSectionForAPatientIncludingResolvedAllergiesNoProblemsAssociated(string patient, string[] exampleTags) + public void RetrieveTheAllergyStructuredRecordSectionForAPatientIncludingResolvedAllergiesNoProblemsAssociated(string patient, string[] exampleTags) { + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("Patient", patient); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the allergy structured record section for a patient including resolved a" + - "llergies no problems associated", null, exampleTags); + "llergies no problems associated", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 8 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 9 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 10 testRunner.And(string.Format("I add an NHS Number parameter for \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 11 testRunner.And("I add the allergies parameter with resolvedAllergies set to \"true\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 12 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 13 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 14 testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 15 testRunner.And("the response meta profile should be for \"structured\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 16 testRunner.And("the patient resource in the bundle should contain meta data profile and version i" + - "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 17 testRunner.And("if the response bundle contains a practitioner resource it should contain meta da" + - "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 18 testRunner.And("if the response bundle contains an organization resource it should contain meta d" + - "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 19 testRunner.And("the AllergyIntolerance should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 20 testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 21 testRunner.And("the Practitioner Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 22 testRunner.And("the Organization Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 23 testRunner.And(string.Format("the Bundle should be valid for patient \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 24 testRunner.And("check that the bundle does not contain any duplicate resources", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 25 testRunner.And("the Bundle should contain \"2\" lists", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 26 testRunner.And("the Bundle should contain a list with the title \"Allergies and adverse reactions\"" + - "", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 27 testRunner.And("the Bundle should contain a list with the title \"Ended allergies\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 28 testRunner.And("the Bundle should contain the correct number of allergies", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 29 testRunner.And("the Lists are valid for a patient with allergies", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 30 testRunner.And("check the response does not contain an operation outcome", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 31 testRunner.And("I Check There is No Problems Secondary Problems List", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 32 testRunner.And("I Check No Problem Resources are Included", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -152,73 +190,110 @@ public virtual void RetrieveTheAllergyStructuredRecordSectionForAPatientIncludin [NUnit.Framework.DescriptionAttribute("Retrieve the allergy structured record section for a patient including resolved a" + "llergies with linked Problems")] [NUnit.Framework.TestCaseAttribute("patient2", null)] - public virtual void RetrieveTheAllergyStructuredRecordSectionForAPatientIncludingResolvedAllergiesWithLinkedProblems(string patient, string[] exampleTags) + public void RetrieveTheAllergyStructuredRecordSectionForAPatientIncludingResolvedAllergiesWithLinkedProblems(string patient, string[] exampleTags) { + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("Patient", patient); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the allergy structured record section for a patient including resolved a" + - "llergies with linked Problems", null, exampleTags); + "llergies with linked Problems", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 44 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 45 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 46 testRunner.And(string.Format("I add an NHS Number parameter for \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 47 testRunner.And("I add the allergies parameter with resolvedAllergies set to \"true\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 48 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 49 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 50 testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 51 testRunner.And("the response meta profile should be for \"structured\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 52 testRunner.And("the patient resource in the bundle should contain meta data profile and version i" + - "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 53 testRunner.And("if the response bundle contains a practitioner resource it should contain meta da" + - "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 54 testRunner.And("if the response bundle contains an organization resource it should contain meta d" + - "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 55 testRunner.And("the AllergyIntolerance should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 56 testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 57 testRunner.And("the Practitioner Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 58 testRunner.And("the Organization Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 59 testRunner.And(string.Format("the Bundle should be valid for patient \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 60 testRunner.And("check that the bundle does not contain any duplicate resources", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 61 testRunner.And("the Bundle should contain \"3\" lists", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 62 testRunner.And("the Bundle should contain a list with the title \"Allergies and adverse reactions\"" + - "", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 63 testRunner.And("the Bundle should contain a list with the title \"Ended allergies\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 64 testRunner.And("the Bundle should contain the correct number of allergies", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 65 testRunner.And("the Lists are valid for a patient with allergies", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 66 testRunner.And("check the response does not contain an operation outcome", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 67 testRunner.And("I Check The Problems Secondary Problems List", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 68 testRunner.And("I Check The Problems Secondary Problems List Does Not Include Not In Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 69 testRunner.And("I Check The Problems Resources are Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 70 testRunner.And("I check The Problem Resources Do Not Include Not In Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 71 testRunner.And("Check a Problem is linked to an \"AllergyIntolerance\" that is also included in the" + - " response with its list", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + " response with its list", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -232,64 +307,97 @@ public virtual void RetrieveTheAllergyStructuredRecordSectionForAPatientIncludin [NUnit.Framework.TestCaseAttribute("patient8", null)] [NUnit.Framework.TestCaseAttribute("patient12", null)] [NUnit.Framework.TestCaseAttribute("patient13", null)] - public virtual void RetrieveTheAllergyStructuredRecordForAPatientWithNoProblemsAndExcludingResolvedAllergies(string patient, string[] exampleTags) + public void RetrieveTheAllergyStructuredRecordForAPatientWithNoProblemsAndExcludingResolvedAllergies(string patient, string[] exampleTags) { + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("Patient", patient); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the allergy structured record for a patient with no problems and excludi" + - "ng resolved allergies", null, exampleTags); + "ng resolved allergies", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 77 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 78 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 79 testRunner.And(string.Format("I add an NHS Number parameter for \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 80 testRunner.And("I add the allergies parameter with resolvedAllergies set to \"false\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 81 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 82 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 83 testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 84 testRunner.And("the response meta profile should be for \"structured\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 85 testRunner.And("the patient resource in the bundle should contain meta data profile and version i" + - "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 86 testRunner.And("if the response bundle contains a practitioner resource it should contain meta da" + - "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 87 testRunner.And("if the response bundle contains an organization resource it should contain meta d" + - "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 88 testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 89 testRunner.And("the Practitioner Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 90 testRunner.And("the Organization Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 91 testRunner.And(string.Format("the Bundle should be valid for patient \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 92 testRunner.And("the Bundle should contain \"1\" lists", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 93 testRunner.And("the Bundle should contain a list with the title \"Allergies and adverse reactions\"" + - "", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 94 testRunner.And("the Bundle should not contain a list with the title \"Ended allergies\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 95 testRunner.And("the AllergyIntolerance should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 96 testRunner.And("the Bundle should contain the correct number of allergies", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 97 testRunner.And("the Lists are valid for a patient with allergies", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 98 testRunner.And("check the response does not contain an operation outcome", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 99 testRunner.And("I Check There is No Problems Secondary Problems List", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 100 testRunner.And("I Check No Problem Resources are Included", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -297,673 +405,1043 @@ public virtual void RetrieveTheAllergyStructuredRecordForAPatientWithNoProblemsA [NUnit.Framework.DescriptionAttribute("Retrieve the allergy structured record for a patient with problems linked but exc" + "luding resolved allergies")] [NUnit.Framework.TestCaseAttribute("patient2", null)] - public virtual void RetrieveTheAllergyStructuredRecordForAPatientWithProblemsLinkedButExcludingResolvedAllergies(string patient, string[] exampleTags) + public void RetrieveTheAllergyStructuredRecordForAPatientWithProblemsLinkedButExcludingResolvedAllergies(string patient, string[] exampleTags) { + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("Patient", patient); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the allergy structured record for a patient with problems linked but exc" + - "luding resolved allergies", null, exampleTags); + "luding resolved allergies", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 114 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 115 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 116 testRunner.And(string.Format("I add an NHS Number parameter for \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 117 testRunner.And("I add the allergies parameter with resolvedAllergies set to \"false\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 118 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 119 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 120 testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 121 testRunner.And("the response meta profile should be for \"structured\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 122 testRunner.And("the patient resource in the bundle should contain meta data profile and version i" + - "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 123 testRunner.And("if the response bundle contains a practitioner resource it should contain meta da" + - "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 124 testRunner.And("if the response bundle contains an organization resource it should contain meta d" + - "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 125 testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 126 testRunner.And("the Practitioner Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 127 testRunner.And("the Organization Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 128 testRunner.And(string.Format("the Bundle should be valid for patient \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 129 testRunner.And("check that the bundle does not contain any duplicate resources", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 130 testRunner.And("the Bundle should contain \"2\" lists", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 131 testRunner.And("the Bundle should contain a list with the title \"Allergies and adverse reactions\"" + - "", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 132 testRunner.And("the Bundle should not contain a list with the title \"Ended allergies\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 133 testRunner.And("the AllergyIntolerance should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 134 testRunner.And("the Bundle should contain the correct number of allergies", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 135 testRunner.And("the Lists are valid for a patient with allergies", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 136 testRunner.And("check the response does not contain an operation outcome", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 137 testRunner.And("I Check The Problems Secondary Problems List", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 138 testRunner.And("I Check The Problems Secondary Problems List Does Not Include Not In Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 139 testRunner.And("I Check The Problems Resources are Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 140 testRunner.And("I check The Problem Resources Do Not Include Not In Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 141 testRunner.And("Check a Problem is linked to an \"AllergyIntolerance\" that is also included in the" + - " response with its list", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + " response with its list", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Retrieve the allergy structured record section including resolved allergies for a" + " patient without any allergies")] - public virtual void RetrieveTheAllergyStructuredRecordSectionIncludingResolvedAllergiesForAPatientWithoutAnyAllergies() + public void RetrieveTheAllergyStructuredRecordSectionIncludingResolvedAllergiesForAPatientWithoutAnyAllergies() { + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the allergy structured record section including resolved allergies for a" + - " patient without any allergies", null, ((string[])(null))); + " patient without any allergies", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 147 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 148 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 149 testRunner.And("I add an NHS Number parameter for \"patient1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 150 testRunner.And("I add the allergies parameter with resolvedAllergies set to \"true\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 151 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 152 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 153 testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 154 testRunner.And("the response meta profile should be for \"structured\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 155 testRunner.And("the patient resource in the bundle should contain meta data profile and version i" + - "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 156 testRunner.And("if the response bundle contains a practitioner resource it should contain meta da" + - "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 157 testRunner.And("if the response bundle contains an organization resource it should contain meta d" + - "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 158 testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 159 testRunner.And("the Practitioner Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 160 testRunner.And("the Organization Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 161 testRunner.And("the Bundle should be valid for patient \"patient1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 162 testRunner.And("the Bundle should contain \"2\" lists", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 163 testRunner.And("the Bundle should contain a list with the title \"Allergies and adverse reactions\"" + - "", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 164 testRunner.And("the Bundle should contain a list with the title \"Ended allergies\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 165 testRunner.And("the Lists are valid for a patient with no allergies", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 166 testRunner.And("the List of AllergyIntolerances should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Retrieve the allergy structured record section excluding resolved allergies for a" + " patient without any allergies")] - public virtual void RetrieveTheAllergyStructuredRecordSectionExcludingResolvedAllergiesForAPatientWithoutAnyAllergies() + public void RetrieveTheAllergyStructuredRecordSectionExcludingResolvedAllergiesForAPatientWithoutAnyAllergies() { + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the allergy structured record section excluding resolved allergies for a" + - " patient without any allergies", null, ((string[])(null))); + " patient without any allergies", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 168 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 169 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 170 testRunner.And("I add an NHS Number parameter for \"patient1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 171 testRunner.And("I add the allergies parameter with resolvedAllergies set to \"false\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 172 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 173 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 174 testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 175 testRunner.And("the response meta profile should be for \"structured\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 176 testRunner.And("the patient resource in the bundle should contain meta data profile and version i" + - "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 177 testRunner.And("if the response bundle contains a practitioner resource it should contain meta da" + - "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 178 testRunner.And("if the response bundle contains an organization resource it should contain meta d" + - "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 179 testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 180 testRunner.And("the Practitioner Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 181 testRunner.And("the Organization Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 182 testRunner.And("the Bundle should be valid for patient \"patient1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 183 testRunner.And("the Bundle should contain \"1\" lists", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 184 testRunner.And("the Bundle should contain a list with the title \"Allergies and adverse reactions\"" + - "", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 185 testRunner.And("the Lists are valid for a patient with no allergies", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 186 testRunner.And("the List of AllergyIntolerances should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Retrieve the allergy structured record section including resolved allergies for a" + " patient with no allergies coding")] - public virtual void RetrieveTheAllergyStructuredRecordSectionIncludingResolvedAllergiesForAPatientWithNoAllergiesCoding() + public void RetrieveTheAllergyStructuredRecordSectionIncludingResolvedAllergiesForAPatientWithNoAllergiesCoding() { + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the allergy structured record section including resolved allergies for a" + - " patient with no allergies coding", null, ((string[])(null))); + " patient with no allergies coding", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 188 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 189 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 190 testRunner.And("I add an NHS Number parameter for \"patient5\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 191 testRunner.And("I add the allergies parameter with resolvedAllergies set to \"true\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 192 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 193 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 194 testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 195 testRunner.And("the response meta profile should be for \"structured\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 196 testRunner.And("the patient resource in the bundle should contain meta data profile and version i" + - "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 197 testRunner.And("if the response bundle contains a practitioner resource it should contain meta da" + - "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 198 testRunner.And("if the response bundle contains an organization resource it should contain meta d" + - "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 199 testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 200 testRunner.And("the Practitioner Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 201 testRunner.And("the Organization Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 202 testRunner.And("the Bundle should be valid for patient \"patient5\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 203 testRunner.And("the Bundle should contain \"2\" lists", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 204 testRunner.And("the Bundle should contain a list with the title \"Allergies and adverse reactions\"" + - "", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 205 testRunner.And("the Bundle should contain a list with the title \"Ended allergies\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 206 testRunner.And("the Lists are valid for a patient with explicit no allergies coding", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 207 testRunner.And("the List of AllergyIntolerances should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Retrieve the allergy structured record section excluding resolved allergies for a" + " patient with no allergies coding")] - public virtual void RetrieveTheAllergyStructuredRecordSectionExcludingResolvedAllergiesForAPatientWithNoAllergiesCoding() + public void RetrieveTheAllergyStructuredRecordSectionExcludingResolvedAllergiesForAPatientWithNoAllergiesCoding() { + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the allergy structured record section excluding resolved allergies for a" + - " patient with no allergies coding", null, ((string[])(null))); + " patient with no allergies coding", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 209 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 210 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 211 testRunner.And("I add an NHS Number parameter for \"patient5\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 212 testRunner.And("I add the allergies parameter with resolvedAllergies set to \"false\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 213 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 214 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 215 testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 216 testRunner.And("the response meta profile should be for \"structured\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 217 testRunner.And("the patient resource in the bundle should contain meta data profile and version i" + - "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 218 testRunner.And("if the response bundle contains a practitioner resource it should contain meta da" + - "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 219 testRunner.And("if the response bundle contains an organization resource it should contain meta d" + - "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 220 testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 221 testRunner.And("the Practitioner Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 222 testRunner.And("the Organization Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 223 testRunner.And("the Bundle should be valid for patient \"patient5\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 224 testRunner.And("the Bundle should contain \"1\" lists", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 225 testRunner.And("the Bundle should contain a list with the title \"Allergies and adverse reactions\"" + - "", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 226 testRunner.And("the Lists are valid for a patient with explicit no allergies coding", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 227 testRunner.And("the List of AllergyIntolerances should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Retrieve the allergy structured record section for a patient without the resolved" + " allergies parameter expected failure")] - public virtual void RetrieveTheAllergyStructuredRecordSectionForAPatientWithoutTheResolvedAllergiesParameterExpectedFailure() + public void RetrieveTheAllergyStructuredRecordSectionForAPatientWithoutTheResolvedAllergiesParameterExpectedFailure() { + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the allergy structured record section for a patient without the resolved" + - " allergies parameter expected failure", null, ((string[])(null))); + " allergies parameter expected failure", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 230 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 231 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 232 testRunner.And("I add an NHS Number parameter for \"patient1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 233 testRunner.And("I add the allergies parameter without mandatory part parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 234 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 235 testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 236 testRunner.And("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 237 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_PARAM" + - "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Retrieve the allergy structured record with additional include unknown prescripti" + "on issues parameter expected success with operational outcome")] - public virtual void RetrieveTheAllergyStructuredRecordWithAdditionalIncludeUnknownPrescriptionIssuesParameterExpectedSuccessWithOperationalOutcome() + public void RetrieveTheAllergyStructuredRecordWithAdditionalIncludeUnknownPrescriptionIssuesParameterExpectedSuccessWithOperationalOutcome() { + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the allergy structured record with additional include unknown prescripti" + - "on issues parameter expected success with operational outcome", null, ((string[])(null))); + "on issues parameter expected success with operational outcome", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 241 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 242 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 243 testRunner.And("I add an NHS Number parameter for \"patient1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 244 testRunner.And("I add the allergies parameter with mandatory part parameter and includePrescripti" + - "onIssues", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "onIssues", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 245 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 246 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 247 testRunner.And("Check the operation outcome returns the correct text and diagnotics \"includePresc" + - "riptionIssues\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "riptionIssues\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 248 testRunner.And("Check the number of issues in the operation outcome \"1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Retrieve the allergy structured record section for a patient with an uknown param" + "eter expected success")] - public virtual void RetrieveTheAllergyStructuredRecordSectionForAPatientWithAnUknownParameterExpectedSuccess() + public void RetrieveTheAllergyStructuredRecordSectionForAPatientWithAnUknownParameterExpectedSuccess() { + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the allergy structured record section for a patient with an uknown param" + - "eter expected success", null, ((string[])(null))); + "eter expected success", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 251 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 252 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 253 testRunner.And("I add an NHS Number parameter for \"patient1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 254 testRunner.And("I add an unknown allergies parameter name", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 255 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 256 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 257 testRunner.And("Check the operation outcome returns the correct text and diagnotics \"inlcudeUnkno" + - "wnAllergies\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "wnAllergies\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 258 testRunner.And("Check the number of issues in the operation outcome \"1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Retrieve the allergy structured record section for an invalid NHS number")] - public virtual void RetrieveTheAllergyStructuredRecordSectionForAnInvalidNHSNumber() + public void RetrieveTheAllergyStructuredRecordSectionForAnInvalidNHSNumber() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the allergy structured record section for an invalid NHS number", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the allergy structured record section for an invalid NHS number", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 260 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 261 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 262 testRunner.And("I add an NHS Number parameter for an invalid NHS Number", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 263 testRunner.And("I add the allergies parameter with resolvedAllergies set to \"false\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 264 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 265 testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 266 testRunner.And("the response should be a OperationOutcome resource", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Retrieve the allergy structured record section for an empty NHS number")] - public virtual void RetrieveTheAllergyStructuredRecordSectionForAnEmptyNHSNumber() + public void RetrieveTheAllergyStructuredRecordSectionForAnEmptyNHSNumber() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the allergy structured record section for an empty NHS number", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the allergy structured record section for an empty NHS number", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 268 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 269 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 270 testRunner.And("I add an NHS Number parameter with an empty NHS Number", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 271 testRunner.And("I add the allergies parameter with resolvedAllergies set to \"false\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 272 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 273 testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 274 testRunner.And("the response should be a OperationOutcome resource", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Retrieve the allergy structured record section for an invalid Identifier System")] - public virtual void RetrieveTheAllergyStructuredRecordSectionForAnInvalidIdentifierSystem() + public void RetrieveTheAllergyStructuredRecordSectionForAnInvalidIdentifierSystem() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the allergy structured record section for an invalid Identifier System", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the allergy structured record section for an invalid Identifier System", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 276 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 277 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 278 testRunner.And("I add an NHS Number parameter for \"patient1\" with an invalid Identifier System", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 279 testRunner.And("I add the allergies parameter with resolvedAllergies set to \"false\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 280 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 281 testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 282 testRunner.And("the response should be a OperationOutcome resource", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Retrieve the allergy structured record section for an empty Identifier System")] - public virtual void RetrieveTheAllergyStructuredRecordSectionForAnEmptyIdentifierSystem() + public void RetrieveTheAllergyStructuredRecordSectionForAnEmptyIdentifierSystem() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the allergy structured record section for an empty Identifier System", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the allergy structured record section for an empty Identifier System", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 284 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 285 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 286 testRunner.And("I add an NHS Number parameter for \"patient1\" with an empty Identifier System", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 287 testRunner.And("I add the allergies parameter with resolvedAllergies set to \"false\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 288 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 289 testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 290 testRunner.And("the response should be a OperationOutcome resource", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Retrieve the allergy structured record section for an invalid parameter type")] - public virtual void RetrieveTheAllergyStructuredRecordSectionForAnInvalidParameterType() + public void RetrieveTheAllergyStructuredRecordSectionForAnInvalidParameterType() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the allergy structured record section for an invalid parameter type", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the allergy structured record section for an invalid parameter type", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 294 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 295 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 296 testRunner.And("I add an NHS Number parameter for \"patient1\" using an invalid parameter type", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 297 testRunner.And("I add the allergies parameter with resolvedAllergies set to \"false\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 298 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 299 testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 300 testRunner.And("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 301 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_PARAM" + - "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Retrieve the allergy structured record section for a patient with additional time" + "Period parameter expected success")] - public virtual void RetrieveTheAllergyStructuredRecordSectionForAPatientWithAdditionalTimePeriodParameterExpectedSuccess() + public void RetrieveTheAllergyStructuredRecordSectionForAPatientWithAdditionalTimePeriodParameterExpectedSuccess() { + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the allergy structured record section for a patient with additional time" + - "Period parameter expected success", null, ((string[])(null))); + "Period parameter expected success", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 305 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 306 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 307 testRunner.And("I add an NHS Number parameter for \"patient1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 308 testRunner.And("I add the allergies parameter with mandatory parameter and additional parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 309 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 310 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 311 testRunner.And("Check the operation outcome returns the correct text and diagnotics \"TimePeriod\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 312 testRunner.And("Check the number of issues in the operation outcome \"1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Retrieve the allergy structured record section for a patient with additional star" + "t date parameter expected success")] - public virtual void RetrieveTheAllergyStructuredRecordSectionForAPatientWithAdditionalStartDateParameterExpectedSuccess() + public void RetrieveTheAllergyStructuredRecordSectionForAPatientWithAdditionalStartDateParameterExpectedSuccess() { + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the allergy structured record section for a patient with additional star" + - "t date parameter expected success", null, ((string[])(null))); + "t date parameter expected success", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 316 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 317 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 318 testRunner.And("I add an NHS Number parameter for \"patient1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 319 testRunner.And("I add the allergies parameter with mandatory part parameter start date", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 320 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 321 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 322 testRunner.And("Check the operation outcome returns the correct text and diagnotics \"TimePeriod\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 323 testRunner.And("Check the number of issues in the operation outcome \"1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Retrieve the allergy structured record section for a patient with recorder")] - public virtual void RetrieveTheAllergyStructuredRecordSectionForAPatientWithRecorder() + public void RetrieveTheAllergyStructuredRecordSectionForAPatientWithRecorder() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the allergy structured record section for a patient with recorder", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the allergy structured record section for a patient with recorder", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 325 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 326 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 327 testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 328 testRunner.And("I add the allergies parameter with resolvedAllergies set to \"true\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 329 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 330 testRunner.Then("the response should contain the recorder reference", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Check allergy warning code is populated for a patient")] - public virtual void CheckAllergyWarningCodeIsPopulatedForAPatient() + public void CheckAllergyWarningCodeIsPopulatedForAPatient() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Check allergy warning code is populated for a patient", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Check allergy warning code is populated for a patient", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 332 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 333 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 334 testRunner.And("I add an NHS Number parameter for \"patient17\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 335 testRunner.And("I add the allergies parameter with resolvedAllergies set to \"true\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 336 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 337 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 338 testRunner.And("the Bundle should contain \"2\" lists", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 339 testRunner.And("the Bundle should contain a list with the title \"Allergies and adverse reactions\"" + - "", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 340 testRunner.And("the Bundle should contain a list with the title \"Ended allergies\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 341 testRunner.And("the Lists are valid for a patient without allergies", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Check allergy legacy endReason")] - public virtual void CheckAllergyLegacyEndReason() + public void CheckAllergyLegacyEndReason() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Check allergy legacy endReason", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Check allergy legacy endReason", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 345 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 346 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 347 testRunner.And("I add an NHS Number parameter for \"patient16\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 348 testRunner.And("I add the allergies parameter with resolvedAllergies set to \"true\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 349 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 350 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 351 testRunner.And("the Bundle should contain \"2\" lists", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 352 testRunner.And("the Bundle should contain a list with the title \"Allergies and adverse reactions\"" + - "", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 353 testRunner.And("the Bundle should contain a list with the title \"Ended allergies\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 354 testRunner.And("the List of AllergyIntolerances should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 355 testRunner.And("the Lists are valid for a patient with legacy endReason", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("structured record for a patient that is not in the database")] - public virtual void StructuredRecordForAPatientThatIsNotInTheDatabase() + public void StructuredRecordForAPatientThatIsNotInTheDatabase() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("structured record for a patient that is not in the database", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("structured record for a patient that is not in the database", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 360 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 361 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 362 testRunner.And("I add an NHS Number parameter for \"patientNotInSystem\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 363 testRunner.And("I add the allergies parameter with resolvedAllergies set to \"true\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 364 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 365 testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 366 testRunner.And("the response status code should be \"404\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 367 testRunner.And("the response should be a OperationOutcome resource with error code \"PATIENT_NOT_F" + - "OUND\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "OUND\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -972,29 +1450,49 @@ public virtual void StructuredRecordForAPatientThatIsNotInTheDatabase() [NUnit.Framework.TestCaseAttribute("patient16", "confidential-items", "Items excluded due to confidentiality and/or patient preferences.", null)] [NUnit.Framework.TestCaseAttribute("patient13", "data-in-transit", "Patient record transfer from previous GP practice not yet complete; information r" + "ecorded before dd-Mmm-yyyy may be missing.", null)] - public virtual void StructuredAllergiesPatientHasMultipleWarningsAndAssociatedNotes(string patient, string warning, string note, string[] exampleTags) + public void StructuredAllergiesPatientHasMultipleWarningsAndAssociatedNotes(string patient, string warning, string note, string[] exampleTags) { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Structured Allergies Patient Has multiple Warnings and Associated Notes", null, exampleTags); + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("Patient", patient); + argumentsOfScenario.Add("Warning", warning); + argumentsOfScenario.Add("Note", note); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Structured Allergies Patient Has multiple Warnings and Associated Notes", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 371 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 372 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 373 testRunner.And(string.Format("I add an NHS Number parameter for \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 374 testRunner.And("I add the allergies parameter with resolvedAllergies set to \"false\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 375 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 376 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 377 testRunner.And("the Bundle should contain \"1\" lists", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 378 testRunner.And(string.Format("Check the list contains the following warning \"{0}\"", warning), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 379 testRunner.And(string.Format("Check the warning \"{0}\" has associated note \"{1}\"", warning, note), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } } diff --git a/GPConnect.Provider.AcceptanceTests/StructuredConsultations.feature.cs b/GPConnect.Provider.AcceptanceTests/StructuredConsultations.feature.cs index 2de44dcf..a8173040 100644 --- a/GPConnect.Provider.AcceptanceTests/StructuredConsultations.feature.cs +++ b/GPConnect.Provider.AcceptanceTests/StructuredConsultations.feature.cs @@ -1,8 +1,8 @@ -// ------------------------------------------------------------------------------ +// ------------------------------------------------------------------------------ // -// This code was generated by SpecFlow (http://www.specflow.org/). -// SpecFlow Version:3.0.0.0 -// SpecFlow Generator Version:3.0.0.0 +// This code was generated by SpecFlow (https://www.specflow.org/). +// SpecFlow Version:3.9.0.0 +// SpecFlow Generator Version:3.9.0.0 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. @@ -13,9 +13,11 @@ namespace GPConnect.Provider.AcceptanceTests { using TechTalk.SpecFlow; + using System; + using System.Linq; - [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "3.0.0.0")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "3.9.0.0")] [System.Runtime.CompilerServices.CompilerGeneratedAttribute()] [NUnit.Framework.TestFixtureAttribute()] [NUnit.Framework.DescriptionAttribute("StructuredConsultations")] @@ -27,6 +29,11 @@ public partial class StructuredConsultationsFeature private TechTalk.SpecFlow.ITestRunner testRunner; + private static string[] featureTags = new string[] { + "Structured", + "StructuredConsultations", + "1.5.0-Full-Pack"}; + #line 1 "StructuredConsultations.feature" #line hidden @@ -34,10 +41,7 @@ public partial class StructuredConsultationsFeature public virtual void FeatureSetup() { testRunner = TechTalk.SpecFlow.TestRunnerManager.GetTestRunner(); - TechTalk.SpecFlow.FeatureInfo featureInfo = new TechTalk.SpecFlow.FeatureInfo(new System.Globalization.CultureInfo("en-US"), "StructuredConsultations", null, ProgrammingLanguage.CSharp, new string[] { - "Structured", - "StructuredConsultations", - "1.5.0-Full-Pack"}); + TechTalk.SpecFlow.FeatureInfo featureInfo = new TechTalk.SpecFlow.FeatureInfo(new System.Globalization.CultureInfo("en-US"), "", "StructuredConsultations", null, ProgrammingLanguage.CSharp, featureTags); testRunner.OnFeatureStart(featureInfo); } @@ -49,28 +53,28 @@ public virtual void FeatureTearDown() } [NUnit.Framework.SetUpAttribute()] - public virtual void TestInitialize() + public void TestInitialize() { } [NUnit.Framework.TearDownAttribute()] - public virtual void ScenarioTearDown() + public void TestTearDown() { testRunner.OnScenarioEnd(); } - public virtual void ScenarioInitialize(TechTalk.SpecFlow.ScenarioInfo scenarioInfo) + public void ScenarioInitialize(TechTalk.SpecFlow.ScenarioInfo scenarioInfo) { testRunner.OnScenarioInitialize(scenarioInfo); testRunner.ScenarioContext.ScenarioContainer.RegisterInstanceAs(NUnit.Framework.TestContext.CurrentContext); } - public virtual void ScenarioStart() + public void ScenarioStart() { testRunner.OnScenarioStart(); } - public virtual void ScenarioCleanup() + public void ScenarioCleanup() { testRunner.CollectScenarioErrors(); } @@ -79,637 +83,975 @@ public virtual void ScenarioCleanup() [NUnit.Framework.DescriptionAttribute("Verify Consultations Response for a Patient with Topic or Headings linked to clin" + "ical items and a problem")] [NUnit.Framework.CategoryAttribute("1.5.0-IncrementalAndRegression")] - public virtual void VerifyConsultationsResponseForAPatientWithTopicOrHeadingsLinkedToClinicalItemsAndAProblem() + public void VerifyConsultationsResponseForAPatientWithTopicOrHeadingsLinkedToClinicalItemsAndAProblem() { + string[] tagsOfScenario = new string[] { + "1.5.0-IncrementalAndRegression"}; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Verify Consultations Response for a Patient with Topic or Headings linked to clin" + - "ical items and a problem", null, new string[] { - "1.5.0-IncrementalAndRegression"}); + "ical items and a problem", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 8 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 9 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 10 testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 11 testRunner.And("I add the includeConsultations parameter only", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 12 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 13 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 14 testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 15 testRunner.And("the response meta profile should be for \"structured\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 16 testRunner.And("the patient resource in the bundle should contain meta data profile and version i" + - "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 17 testRunner.And("if the response bundle contains a practitioner resource it should contain meta da" + - "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 18 testRunner.And("if the response bundle contains an organization resource it should contain meta d" + - "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 20 testRunner.And("if the response bundle contains a location resource it should contain meta data p" + - "rofile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "rofile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 21 testRunner.And("check that the bundle does not contain any duplicate resources", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 22 testRunner.And("the Bundle should be valid for patient \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 23 testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 24 testRunner.And("the Practitioner Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 25 testRunner.And("the Organization Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 26 testRunner.And("I Check the Consultations List is Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 27 testRunner.And("The Consultations List Does Not Include Not In Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 28 testRunner.And("I Check the Encounters are Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 29 testRunner.And("I Check the Encounters Do Not Include Not in Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 30 testRunner.And("I Check the Consultation Lists are Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 31 testRunner.And("I Check All The Consultation Lists Do Not Include Not In Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 32 testRunner.And("I Check the Topic Lists are Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 33 testRunner.And("I Check one Topic is linked to a problem", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 34 testRunner.And("I Check the Heading Lists are Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 35 testRunner.And("check the response does not contain an operation outcome", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 36 testRunner.And("I Check The Problems Resources are Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 37 testRunner.And("I check The Problem Resources Do Not Include Not In Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 38 testRunner.And("I Check that a Topic or Heading is linked to an \"Observation\" and that is include" + - "d in response with a list", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "d in response with a list", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 39 testRunner.And("I Check that a Topic or Heading is linked to an \"MedicationRequest\" and that is i" + - "ncluded in response with a list", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ncluded in response with a list", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 40 testRunner.And("Check the MedicationRequests have a link to a medication that has been included i" + - "n response", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "n response", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 41 testRunner.And("Check there is a MedicationStatement resource that is linked to the MedicationReq" + - "uest and Medication", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "uest and Medication", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 42 testRunner.And("I Check the Consultation Medications Secondary List is Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 43 testRunner.And("I Check the Consultation Uncategorised Secondary List is Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 44 testRunner.And("I Check The Problems Secondary Problems List", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 45 testRunner.And("I Check The Problems Secondary Problems List Does Not Include Not In Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Verify Consultations structured record for a Patient includeConsultation and cons" + "ultationSearchPeriod partParameter")] - public virtual void VerifyConsultationsStructuredRecordForAPatientIncludeConsultationAndConsultationSearchPeriodPartParameter() + public void VerifyConsultationsStructuredRecordForAPatientIncludeConsultationAndConsultationSearchPeriodPartParameter() { + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Verify Consultations structured record for a Patient includeConsultation and cons" + - "ultationSearchPeriod partParameter", null, ((string[])(null))); + "ultationSearchPeriod partParameter", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 47 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 48 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 49 testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 50 testRunner.And("I add the consultation parameter with consultationSearchPeriod partParameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 51 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 52 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 53 testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 54 testRunner.And("the response meta profile should be for \"structured\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 55 testRunner.And("the patient resource in the bundle should contain meta data profile and version i" + - "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 56 testRunner.And("if the response bundle contains a practitioner resource it should contain meta da" + - "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 57 testRunner.And("if the response bundle contains an organization resource it should contain meta d" + - "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 58 testRunner.And("the Bundle should be valid for patient \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 59 testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 60 testRunner.And("the Practitioner Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 61 testRunner.And("the Organization Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 62 testRunner.And("I Check the Consultations List is Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 63 testRunner.And("The Consultations List Does Not Include Not In Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 64 testRunner.And("I Check the Encounters are Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 65 testRunner.And("I Check the Encounters Do Not Include Not in Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 66 testRunner.And("I Check the Consultation Lists are Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 67 testRunner.And("I Check All The Consultation Lists Do Not Include Not In Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 68 testRunner.And("I Check the Topic Lists are Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 69 testRunner.And("I Check the Heading Lists are Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 70 testRunner.And("check the response does not contain an operation outcome", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Verify Consultations structured record for a Patient includeConsultation and cons" + "ultationsMostRecent partParameter")] - public virtual void VerifyConsultationsStructuredRecordForAPatientIncludeConsultationAndConsultationsMostRecentPartParameter() + public void VerifyConsultationsStructuredRecordForAPatientIncludeConsultationAndConsultationsMostRecentPartParameter() { + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Verify Consultations structured record for a Patient includeConsultation and cons" + - "ultationsMostRecent partParameter", null, ((string[])(null))); + "ultationsMostRecent partParameter", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 72 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 73 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 74 testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 75 testRunner.And("I add the consultation parameter with consultationsMostRecent partParameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 76 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 77 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 78 testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 79 testRunner.And("the response meta profile should be for \"structured\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 80 testRunner.And("the patient resource in the bundle should contain meta data profile and version i" + - "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 81 testRunner.And("if the response bundle contains a practitioner resource it should contain meta da" + - "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 82 testRunner.And("if the response bundle contains an organization resource it should contain meta d" + - "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 83 testRunner.And("the Bundle should be valid for patient \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 84 testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 85 testRunner.And("the Practitioner Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 86 testRunner.And("the Organization Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 87 testRunner.And("I Check the Consultations List is Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 88 testRunner.And("The Consultations List Does Not Include Not In Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 89 testRunner.And("I Check the Encounters are Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 90 testRunner.And("I Check the Encounters Do Not Include Not in Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 91 testRunner.And("I Check the Consultation Lists are Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 92 testRunner.And("I Check All The Consultation Lists Do Not Include Not In Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 93 testRunner.And("I Check the Topic Lists are Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 94 testRunner.And("I Check the Heading Lists are Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 95 testRunner.And("check the response does not contain an operation outcome", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Retrieve consultations structured record for a patient that has no consultation d" + "ata")] - public virtual void RetrieveConsultationsStructuredRecordForAPatientThatHasNoConsultationData() + public void RetrieveConsultationsStructuredRecordForAPatientThatHasNoConsultationData() { + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve consultations structured record for a patient that has no consultation d" + - "ata", null, ((string[])(null))); + "ata", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 97 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 98 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 99 testRunner.And("I add an NHS Number parameter for \"patient4\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 100 testRunner.And("I add the consultation parameter with consultationSearchPeriod partParameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 101 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 102 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 103 testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 104 testRunner.And("the response meta profile should be for \"structured\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 105 testRunner.And("the patient resource in the bundle should contain meta data profile and version i" + - "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 106 testRunner.And("if the response bundle contains a practitioner resource it should contain meta da" + - "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 107 testRunner.And("if the response bundle contains an organization resource it should contain meta d" + - "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 108 testRunner.And("the Bundle should be valid for patient \"patient4\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 109 testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 110 testRunner.And("the Practitioner Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 111 testRunner.And("the Organization Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 112 testRunner.And("check structured list contains a note and emptyReason when no data in section", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 113 testRunner.And("check the response does not contain an operation outcome", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Retrieve consultations structured record with startDate only expected success")] - public virtual void RetrieveConsultationsStructuredRecordWithStartDateOnlyExpectedSuccess() + public void RetrieveConsultationsStructuredRecordWithStartDateOnlyExpectedSuccess() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve consultations structured record with startDate only expected success", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve consultations structured record with startDate only expected success", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 115 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 116 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 117 testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 118 testRunner.And("I add the consultation parameter with startDate only", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 119 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 120 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 121 testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 122 testRunner.And("the response meta profile should be for \"structured\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 123 testRunner.And("the patient resource in the bundle should contain meta data profile and version i" + - "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 124 testRunner.And("if the response bundle contains a practitioner resource it should contain meta da" + - "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 125 testRunner.And("if the response bundle contains an organization resource it should contain meta d" + - "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 126 testRunner.And("the Bundle should be valid for patient \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 127 testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 128 testRunner.And("the Practitioner Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 129 testRunner.And("the Organization Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 130 testRunner.And("I Check the Consultations List is Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 131 testRunner.And("The Consultations List Does Not Include Not In Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 132 testRunner.And("I Check the Encounters are Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 133 testRunner.And("I Check the Encounters Do Not Include Not in Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 134 testRunner.And("I Check the Consultation Lists are Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 135 testRunner.And("I Check All The Consultation Lists Do Not Include Not In Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 136 testRunner.And("I Check the Topic Lists are Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 137 testRunner.And("I Check the Heading Lists are Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 138 testRunner.And("check the response does not contain an operation outcome", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Retrieve consultations structured record with endDate value only expected success" + "")] - public virtual void RetrieveConsultationsStructuredRecordWithEndDateValueOnlyExpectedSuccess() + public void RetrieveConsultationsStructuredRecordWithEndDateValueOnlyExpectedSuccess() { + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve consultations structured record with endDate value only expected success" + - "", null, ((string[])(null))); + "", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 141 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 142 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 143 testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 144 testRunner.And("I add the consultation parameter with endDate only", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 145 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 146 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 147 testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 148 testRunner.And("the response meta profile should be for \"structured\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 149 testRunner.And("the patient resource in the bundle should contain meta data profile and version i" + - "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 150 testRunner.And("if the response bundle contains a practitioner resource it should contain meta da" + - "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 151 testRunner.And("if the response bundle contains an organization resource it should contain meta d" + - "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 152 testRunner.And("the Bundle should be valid for patient \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 153 testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 154 testRunner.And("the Practitioner Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 155 testRunner.And("the Organization Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 156 testRunner.And("I Check the Consultations List is Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 157 testRunner.And("The Consultations List Does Not Include Not In Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 158 testRunner.And("I Check the Encounters are Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 159 testRunner.And("I Check the Encounters Do Not Include Not in Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 160 testRunner.And("I Check the Consultation Lists are Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 161 testRunner.And("I Check All The Consultation Lists Do Not Include Not In Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 162 testRunner.And("I Check the Topic Lists are Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 163 testRunner.And("I Check the Heading Lists are Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 164 testRunner.And("check the response does not contain an operation outcome", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Retrieve consultations structured record section for an invalid NHS number")] - public virtual void RetrieveConsultationsStructuredRecordSectionForAnInvalidNHSNumber() + public void RetrieveConsultationsStructuredRecordSectionForAnInvalidNHSNumber() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve consultations structured record section for an invalid NHS number", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve consultations structured record section for an invalid NHS number", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 166 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 167 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 168 testRunner.And("I add an NHS Number parameter for an invalid NHS Number", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 169 testRunner.And("I add the includeConsultations parameter only", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 170 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 171 testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 172 testRunner.And("the response should be a OperationOutcome resource", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Retrieve consultations structured record section for an empty NHS number")] - public virtual void RetrieveConsultationsStructuredRecordSectionForAnEmptyNHSNumber() + public void RetrieveConsultationsStructuredRecordSectionForAnEmptyNHSNumber() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve consultations structured record section for an empty NHS number", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve consultations structured record section for an empty NHS number", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 174 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 175 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 176 testRunner.And("I add an NHS Number parameter with an empty NHS Number", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 177 testRunner.And("I add the includeConsultations parameter only", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 178 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 179 testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 180 testRunner.And("the response should be a OperationOutcome resource", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Retrieve consultations structured record section for an invalid Identifier System" + "")] - public virtual void RetrieveConsultationsStructuredRecordSectionForAnInvalidIdentifierSystem() + public void RetrieveConsultationsStructuredRecordSectionForAnInvalidIdentifierSystem() { + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve consultations structured record section for an invalid Identifier System" + - "", null, ((string[])(null))); + "", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 182 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 183 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 184 testRunner.And("I add an NHS Number parameter for \"patient1\" with an invalid Identifier System", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 185 testRunner.And("I add the includeConsultations parameter only", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 186 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 187 testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 188 testRunner.And("the response should be a OperationOutcome resource", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Retrieve consultations structured record section for an empty Identifier System")] - public virtual void RetrieveConsultationsStructuredRecordSectionForAnEmptyIdentifierSystem() + public void RetrieveConsultationsStructuredRecordSectionForAnEmptyIdentifierSystem() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve consultations structured record section for an empty Identifier System", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve consultations structured record section for an empty Identifier System", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 190 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 191 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 192 testRunner.And("I add an NHS Number parameter for \"patient1\" with an empty Identifier System", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 193 testRunner.And("I add the includeConsultations parameter only", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 194 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 195 testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 196 testRunner.And("the response should be a OperationOutcome resource", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Retrieve consultations structured record for a patient that has sensitive flag")] - public virtual void RetrieveConsultationsStructuredRecordForAPatientThatHasSensitiveFlag() + public void RetrieveConsultationsStructuredRecordForAPatientThatHasSensitiveFlag() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve consultations structured record for a patient that has sensitive flag", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve consultations structured record for a patient that has sensitive flag", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 198 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 199 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 200 testRunner.And("I add an NHS Number parameter for \"patient9\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 201 testRunner.And("I add the includeConsultations parameter only", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 202 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 203 testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 204 testRunner.And("the response status code should be \"404\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 205 testRunner.And("the response should be a OperationOutcome resource with error code \"PATIENT_NOT_F" + - "OUND\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "OUND\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Retrieve consultations Structured record where consultationSearchPeriod part para" + "meter is greater than the current date expected failure")] - public virtual void RetrieveConsultationsStructuredRecordWhereConsultationSearchPeriodPartParameterIsGreaterThanTheCurrentDateExpectedFailure() + public void RetrieveConsultationsStructuredRecordWhereConsultationSearchPeriodPartParameterIsGreaterThanTheCurrentDateExpectedFailure() { + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve consultations Structured record where consultationSearchPeriod part para" + - "meter is greater than the current date expected failure", null, ((string[])(null))); + "meter is greater than the current date expected failure", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 207 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 208 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 209 testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 210 testRunner.And("I add the consultation parameter with consultationSearchPeriod partParameter in t" + - "he future", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "he future", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 211 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 212 testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 213 testRunner.And("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 214 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_PARAM" + - "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Retrieve consultations structured record where start date of the consultationSear" + "chPeriod part parameter is greater than the end date expected failure")] - public virtual void RetrieveConsultationsStructuredRecordWhereStartDateOfTheConsultationSearchPeriodPartParameterIsGreaterThanTheEndDateExpectedFailure() + public void RetrieveConsultationsStructuredRecordWhereStartDateOfTheConsultationSearchPeriodPartParameterIsGreaterThanTheEndDateExpectedFailure() { + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve consultations structured record where start date of the consultationSear" + - "chPeriod part parameter is greater than the end date expected failure", null, ((string[])(null))); + "chPeriod part parameter is greater than the end date expected failure", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 216 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 217 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 218 testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 219 testRunner.And("I add the consultation parameter with consultationSearchPeriod partParameter star" + - "tDate greater than endDate", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "tDate greater than endDate", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 220 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 221 testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 222 testRunner.And("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 223 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_PARAM" + - "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Retrieve Consultations structured record with both partparameters consultationSea" + "rchPeriod and includeNumberOfMostRecent applied expected failure")] - public virtual void RetrieveConsultationsStructuredRecordWithBothPartparametersConsultationSearchPeriodAndIncludeNumberOfMostRecentAppliedExpectedFailure() + public void RetrieveConsultationsStructuredRecordWithBothPartparametersConsultationSearchPeriodAndIncludeNumberOfMostRecentAppliedExpectedFailure() { + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve Consultations structured record with both partparameters consultationSea" + - "rchPeriod and includeNumberOfMostRecent applied expected failure", null, ((string[])(null))); + "rchPeriod and includeNumberOfMostRecent applied expected failure", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 225 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 226 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 227 testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 228 testRunner.And("I add the consultation parameter with both partParameters", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 229 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 230 testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 231 testRunner.And("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 232 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_RESOU" + - "RCE\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "RCE\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Retrieve Consultations structured record malformed with partParameter only expect" + "ed success")] - public virtual void RetrieveConsultationsStructuredRecordMalformedWithPartParameterOnlyExpectedSuccess() + public void RetrieveConsultationsStructuredRecordMalformedWithPartParameterOnlyExpectedSuccess() { + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve Consultations structured record malformed with partParameter only expect" + - "ed success", null, ((string[])(null))); + "ed success", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 234 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 235 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 236 testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 237 testRunner.And("I add malformed Consultations request partParameter only", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 238 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 239 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 240 testRunner.And("Check the operation outcome returns the correct text and diagnotics \"consultation" + - "SearchPeriod\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "SearchPeriod\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 241 testRunner.And("Check the number of issues in the operation outcome \"1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -734,26 +1076,43 @@ public virtual void RetrieveConsultationsStructuredRecordMalformedWithPartParame [NUnit.Framework.TestCaseAttribute("2015-12-01", "2016-02", null)] [NUnit.Framework.TestCaseAttribute("2015-12-01", "null", null)] [NUnit.Framework.TestCaseAttribute("2018", "2019", null)] - public virtual void RetrieveTheConsultationsStructuredRecordSectionWithInvalidDateValues(string startDate, string endDate, string[] exampleTags) + public void RetrieveTheConsultationsStructuredRecordSectionWithInvalidDateValues(string startDate, string endDate, string[] exampleTags) { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the Consultations structured record section with invalid date values", null, exampleTags); + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("startDate", startDate); + argumentsOfScenario.Add("endDate", endDate); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the Consultations structured record section with invalid date values", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 243 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 244 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 245 testRunner.And("I add an NHS Number parameter for \"patient1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 246 testRunner.And(string.Format("I set a consultations period parameter \"{0}\" to \"{1}\"", startDate, endDate), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 247 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 248 testRunner.Then("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 249 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_PARAM" + - "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } } diff --git a/GPConnect.Provider.AcceptanceTests/StructuredDiary.feature.cs b/GPConnect.Provider.AcceptanceTests/StructuredDiary.feature.cs index c29580b4..019b80a5 100644 --- a/GPConnect.Provider.AcceptanceTests/StructuredDiary.feature.cs +++ b/GPConnect.Provider.AcceptanceTests/StructuredDiary.feature.cs @@ -1,8 +1,8 @@ -// ------------------------------------------------------------------------------ +// ------------------------------------------------------------------------------ // -// This code was generated by SpecFlow (http://www.specflow.org/). -// SpecFlow Version:3.0.0.0 -// SpecFlow Generator Version:3.0.0.0 +// This code was generated by SpecFlow (https://www.specflow.org/). +// SpecFlow Version:3.9.0.0 +// SpecFlow Generator Version:3.9.0.0 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. @@ -13,9 +13,11 @@ namespace GPConnect.Provider.AcceptanceTests { using TechTalk.SpecFlow; + using System; + using System.Linq; - [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "3.0.0.0")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "3.9.0.0")] [System.Runtime.CompilerServices.CompilerGeneratedAttribute()] [NUnit.Framework.TestFixtureAttribute()] [NUnit.Framework.DescriptionAttribute("StructuredDiary")] @@ -28,6 +30,12 @@ public partial class StructuredDiaryFeature private TechTalk.SpecFlow.ITestRunner testRunner; + private static string[] featureTags = new string[] { + "Structured", + "StructuredDiary", + "1.5.0-Full-Pack", + "1.5.0-IncrementalAndRegression"}; + #line 1 "StructuredDiary.feature" #line hidden @@ -35,11 +43,7 @@ public partial class StructuredDiaryFeature public virtual void FeatureSetup() { testRunner = TechTalk.SpecFlow.TestRunnerManager.GetTestRunner(); - TechTalk.SpecFlow.FeatureInfo featureInfo = new TechTalk.SpecFlow.FeatureInfo(new System.Globalization.CultureInfo("en-US"), "StructuredDiary", null, ProgrammingLanguage.CSharp, new string[] { - "Structured", - "StructuredDiary", - "1.5.0-Full-Pack", - "1.5.0-IncrementalAndRegression"}); + TechTalk.SpecFlow.FeatureInfo featureInfo = new TechTalk.SpecFlow.FeatureInfo(new System.Globalization.CultureInfo("en-US"), "", "StructuredDiary", null, ProgrammingLanguage.CSharp, featureTags); testRunner.OnFeatureStart(featureInfo); } @@ -51,28 +55,28 @@ public virtual void FeatureTearDown() } [NUnit.Framework.SetUpAttribute()] - public virtual void TestInitialize() + public void TestInitialize() { } [NUnit.Framework.TearDownAttribute()] - public virtual void ScenarioTearDown() + public void TestTearDown() { testRunner.OnScenarioEnd(); } - public virtual void ScenarioInitialize(TechTalk.SpecFlow.ScenarioInfo scenarioInfo) + public void ScenarioInitialize(TechTalk.SpecFlow.ScenarioInfo scenarioInfo) { testRunner.OnScenarioInitialize(scenarioInfo); testRunner.ScenarioContext.ScenarioContainer.RegisterInstanceAs(NUnit.Framework.TestContext.CurrentContext); } - public virtual void ScenarioStart() + public void ScenarioStart() { testRunner.OnScenarioStart(); } - public virtual void ScenarioCleanup() + public void ScenarioCleanup() { testRunner.CollectScenarioErrors(); } @@ -80,183 +84,277 @@ public virtual void ScenarioCleanup() [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Search for Diary Entries for a Patient with Diary Entries With Problems Associate" + "d")] - public virtual void SearchForDiaryEntriesForAPatientWithDiaryEntriesWithProblemsAssociated() + public void SearchForDiaryEntriesForAPatientWithDiaryEntriesWithProblemsAssociated() { + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Search for Diary Entries for a Patient with Diary Entries With Problems Associate" + - "d", null, ((string[])(null))); + "d", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 7 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 8 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 9 testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 10 testRunner.And("I add the Diary parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 11 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 12 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 13 testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 14 testRunner.And("the response meta profile should be for \"structured\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 15 testRunner.And("the patient resource in the bundle should contain meta data profile and version i" + - "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 16 testRunner.And("if the response bundle contains a practitioner resource it should contain meta da" + - "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 17 testRunner.And("if the response bundle contains an organization resource it should contain meta d" + - "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 18 testRunner.And("the Bundle should be valid for patient \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 19 testRunner.And("check that the bundle does not contain any duplicate resources", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 20 testRunner.And("check the response does not contain an operation outcome", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 21 testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 22 testRunner.And("the Practitioner Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 23 testRunner.And("the Organization Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 24 testRunner.And("the Bundle should contain \"2\" lists", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 25 testRunner.And("I Check the Diary List is Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 26 testRunner.And("The Structured List Does Not Include Not In Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 27 testRunner.And("I Check the Diary ProcedureRequests are Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 28 testRunner.And("I Check the Diary ProcedureRequests Do Not Include Not in Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 29 testRunner.And("I Check The Problems Secondary Problems List", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 30 testRunner.And("I Check The Problems Secondary Problems List Does Not Include Not In Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 31 testRunner.And("I Check The Problems Resources are Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 32 testRunner.And("I check The Problem Resources Do Not Include Not In Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 33 testRunner.And("Check a Problem is linked to ProcedureRequest and that it is also included", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Search for Diary Entries for a Patient with Diary Entries and No Problems associa" + "ted")] - public virtual void SearchForDiaryEntriesForAPatientWithDiaryEntriesAndNoProblemsAssociated() + public void SearchForDiaryEntriesForAPatientWithDiaryEntriesAndNoProblemsAssociated() { + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Search for Diary Entries for a Patient with Diary Entries and No Problems associa" + - "ted", null, ((string[])(null))); + "ted", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 35 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 36 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 37 testRunner.And("I add an NHS Number parameter for \"patient3\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 38 testRunner.And("I add the Diary parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 39 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 40 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 41 testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 42 testRunner.And("the response meta profile should be for \"structured\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 43 testRunner.And("the patient resource in the bundle should contain meta data profile and version i" + - "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 44 testRunner.And("if the response bundle contains a practitioner resource it should contain meta da" + - "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 45 testRunner.And("if the response bundle contains an organization resource it should contain meta d" + - "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 46 testRunner.And("the Bundle should be valid for patient \"patient3\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 47 testRunner.And("check that the bundle does not contain any duplicate resources", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 48 testRunner.And("check the response does not contain an operation outcome", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 49 testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 50 testRunner.And("the Practitioner Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 51 testRunner.And("the Organization Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 52 testRunner.And("the Bundle should contain \"1\" lists", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 53 testRunner.And("I Check the Diary List is Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 54 testRunner.And("The Structured List Does Not Include Not In Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 55 testRunner.And("I Check There is No Primary Problems List", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 56 testRunner.And("I Check There is No Problems Secondary Problems List", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 57 testRunner.And("I Check No Problem Resources are Included", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 58 testRunner.And("I Check the Diary ProcedureRequests are Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 59 testRunner.And("I Check the Diary ProcedureRequests Do Not Include Not in Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Search for Diary Entries for a Patient with No Diary Entries")] - public virtual void SearchForDiaryEntriesForAPatientWithNoDiaryEntries() + public void SearchForDiaryEntriesForAPatientWithNoDiaryEntries() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Search for Diary Entries for a Patient with No Diary Entries", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Search for Diary Entries for a Patient with No Diary Entries", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 61 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 62 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 63 testRunner.And("I add an NHS Number parameter for \"patient4\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 64 testRunner.And("I add the Diary parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 65 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 66 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 67 testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 68 testRunner.And("the response meta profile should be for \"structured\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 69 testRunner.And("the patient resource in the bundle should contain meta data profile and version i" + - "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 70 testRunner.And("if the response bundle contains a practitioner resource it should contain meta da" + - "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 71 testRunner.And("if the response bundle contains an organization resource it should contain meta d" + - "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 72 testRunner.And("the Bundle should be valid for patient \"patient4\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 73 testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 74 testRunner.And("the Practitioner Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 75 testRunner.And("the Organization Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 76 testRunner.And("check the response does not contain an operation outcome", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 77 testRunner.And("I Check Diary list contains a note and emptyReason when no data in section", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 78 testRunner.And("The Structured List Does Not Include Not In Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -265,82 +363,127 @@ public virtual void SearchForDiaryEntriesForAPatientWithNoDiaryEntries() "ry Entries")] [NUnit.Framework.TestCaseAttribute("0", null)] [NUnit.Framework.TestCaseAttribute("10", null)] - public virtual void SearchForDiaryEntriesWithTodaysDateAndAFutureDateOnAPatientWithDiaryEntries(string yearsInFutureToSearch, string[] exampleTags) + public void SearchForDiaryEntriesWithTodaysDateAndAFutureDateOnAPatientWithDiaryEntries(string yearsInFutureToSearch, string[] exampleTags) { + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("YearsInFutureToSearch", yearsInFutureToSearch); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Search for Diary Entries with Todays Date and a Future Date on a Patient with Dia" + - "ry Entries", null, exampleTags); + "ry Entries", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 80 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 81 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 82 testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 83 testRunner.Then(string.Format("I add the Diary Search date parameter of \"{0}\" days in future", yearsInFutureToSearch), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 84 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 85 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 86 testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 87 testRunner.And("the response meta profile should be for \"structured\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 88 testRunner.And("the patient resource in the bundle should contain meta data profile and version i" + - "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 89 testRunner.And("if the response bundle contains a practitioner resource it should contain meta da" + - "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 90 testRunner.And("if the response bundle contains an organization resource it should contain meta d" + - "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 91 testRunner.And("the Bundle should be valid for patient \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 92 testRunner.And("check that the bundle does not contain any duplicate resources", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 93 testRunner.And("check the response does not contain an operation outcome", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 94 testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 95 testRunner.And("the Practitioner Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 96 testRunner.And("the Organization Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 97 testRunner.And("I Check the Diary List is Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 98 testRunner.And("The Structured List Does Not Include Not In Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 99 testRunner.And("I Check the Diary ProcedureRequests are Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 100 testRunner.And("I Check the Diary ProcedureRequests Do Not Include Not in Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Search for Diary Entries with a Past Date Expect Fail")] - public virtual void SearchForDiaryEntriesWithAPastDateExpectFail() + public void SearchForDiaryEntriesWithAPastDateExpectFail() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Search for Diary Entries with a Past Date Expect Fail", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Search for Diary Entries with a Past Date Expect Fail", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 106 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 107 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 108 testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 109 testRunner.Then("I add the Diary Search date parameter with a past date \"20\" days ago", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 110 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 111 testRunner.Then("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 112 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_PARAM" + - "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -354,26 +497,42 @@ public virtual void SearchForDiaryEntriesWithAPastDateExpectFail() [NUnit.Framework.TestCaseAttribute("2014", null)] [NUnit.Framework.TestCaseAttribute("2014-02", null)] [NUnit.Framework.TestCaseAttribute("null", null)] - public virtual void SearchForDiaryEntriesWithInvalidDateValues(string invalidSearchDate, string[] exampleTags) + public void SearchForDiaryEntriesWithInvalidDateValues(string invalidSearchDate, string[] exampleTags) { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Search for Diary Entries with invalid date values", null, exampleTags); + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("InvalidSearchDate", invalidSearchDate); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Search for Diary Entries with invalid date values", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 114 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 115 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 116 testRunner.And("I add an NHS Number parameter for \"patient1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 117 testRunner.And(string.Format("I set a Diary Search date to \"{0}\"", invalidSearchDate), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 118 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 119 testRunner.Then("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 120 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_PARAM" + - "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } } diff --git a/GPConnect.Provider.AcceptanceTests/StructuredDocuments.feature.cs b/GPConnect.Provider.AcceptanceTests/StructuredDocuments.feature.cs index 80dce957..758c595c 100644 --- a/GPConnect.Provider.AcceptanceTests/StructuredDocuments.feature.cs +++ b/GPConnect.Provider.AcceptanceTests/StructuredDocuments.feature.cs @@ -1,8 +1,8 @@ -// ------------------------------------------------------------------------------ +// ------------------------------------------------------------------------------ // -// This code was generated by SpecFlow (http://www.specflow.org/). -// SpecFlow Version:3.0.0.0 -// SpecFlow Generator Version:3.0.0.0 +// This code was generated by SpecFlow (https://www.specflow.org/). +// SpecFlow Version:3.9.0.0 +// SpecFlow Generator Version:3.9.0.0 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. @@ -13,9 +13,11 @@ namespace GPConnect.Provider.AcceptanceTests { using TechTalk.SpecFlow; + using System; + using System.Linq; - [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "3.0.0.0")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "3.9.0.0")] [System.Runtime.CompilerServices.CompilerGeneratedAttribute()] [NUnit.Framework.TestFixtureAttribute()] [NUnit.Framework.DescriptionAttribute("Documents")] @@ -28,6 +30,12 @@ public partial class DocumentsFeature private TechTalk.SpecFlow.ITestRunner testRunner; + private static string[] featureTags = new string[] { + "Structured", + "StructuredDocuments", + "1.5.0-Full-Pack", + "1.5.0-IncrementalAndRegression"}; + #line 1 "StructuredDocuments.feature" #line hidden @@ -35,11 +43,7 @@ public partial class DocumentsFeature public virtual void FeatureSetup() { testRunner = TechTalk.SpecFlow.TestRunnerManager.GetTestRunner(); - TechTalk.SpecFlow.FeatureInfo featureInfo = new TechTalk.SpecFlow.FeatureInfo(new System.Globalization.CultureInfo("en-US"), "Documents", null, ProgrammingLanguage.CSharp, new string[] { - "Structured", - "StructuredDocuments", - "1.5.0-Full-Pack", - "1.5.0-IncrementalAndRegression"}); + TechTalk.SpecFlow.FeatureInfo featureInfo = new TechTalk.SpecFlow.FeatureInfo(new System.Globalization.CultureInfo("en-US"), "", "Documents", null, ProgrammingLanguage.CSharp, featureTags); testRunner.OnFeatureStart(featureInfo); } @@ -51,508 +55,782 @@ public virtual void FeatureTearDown() } [NUnit.Framework.SetUpAttribute()] - public virtual void TestInitialize() + public void TestInitialize() { } [NUnit.Framework.TearDownAttribute()] - public virtual void ScenarioTearDown() + public void TestTearDown() { testRunner.OnScenarioEnd(); } - public virtual void ScenarioInitialize(TechTalk.SpecFlow.ScenarioInfo scenarioInfo) + public void ScenarioInitialize(TechTalk.SpecFlow.ScenarioInfo scenarioInfo) { testRunner.OnScenarioInitialize(scenarioInfo); testRunner.ScenarioContext.ScenarioContainer.RegisterInstanceAs(NUnit.Framework.TestContext.CurrentContext); } - public virtual void ScenarioStart() + public void ScenarioStart() { testRunner.OnScenarioStart(); } - public virtual void ScenarioCleanup() + public void ScenarioCleanup() { testRunner.CollectScenarioErrors(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Search for Documents on a Patient with Documents")] - public virtual void SearchForDocumentsOnAPatientWithDocuments() + public void SearchForDocumentsOnAPatientWithDocuments() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Search for Documents on a Patient with Documents", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Search for Documents on a Patient with Documents", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 11 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 12 testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 13 testRunner.And("I add a Patient Identifier parameter with default System and Value \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 14 testRunner.When("I make the \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 15 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 16 testRunner.Given("I store the Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 17 testRunner.Given("I configure the default \"DocumentsSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 18 testRunner.And("I set the required parameters for a Documents Search call", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 19 testRunner.When("I make the \"DocumentsSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 20 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 21 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 22 testRunner.And("The Bundle id should match the SSPTraceID", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 23 testRunner.And("I Check the returned DocumentReference is Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 24 testRunner.And("I Check the returned DocumentReference Do Not Include Not In Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Search for Documents on a Patient with Documents Over 5MB")] [NUnit.Framework.CategoryAttribute("1.5.0-IncrementalAndRegression")] - public virtual void SearchForDocumentsOnAPatientWithDocumentsOver5MB() + public void SearchForDocumentsOnAPatientWithDocumentsOver5MB() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Search for Documents on a Patient with Documents Over 5MB", null, new string[] { - "1.5.0-IncrementalAndRegression"}); + string[] tagsOfScenario = new string[] { + "1.5.0-IncrementalAndRegression"}; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Search for Documents on a Patient with Documents Over 5MB", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 29 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 30 testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 31 testRunner.And("I add a Patient Identifier parameter with default System and Value \"patient4\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 32 testRunner.When("I make the \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 33 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 34 testRunner.Given("I store the Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 35 testRunner.Given("I configure the default \"DocumentsSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 36 testRunner.And("I set the required parameters for a Documents Search call", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 37 testRunner.When("I make the \"DocumentsSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 38 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 39 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 40 testRunner.And("The Bundle id should match the SSPTraceID", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 41 testRunner.And("I Check the returned DocumentReference is Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 42 testRunner.And("I Check the returned DocumentReference Content Doesnot Contain URL for over 5MB A" + - "ttachment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ttachment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Search for Documents on a Patient with NO Documents")] - public virtual void SearchForDocumentsOnAPatientWithNODocuments() + public void SearchForDocumentsOnAPatientWithNODocuments() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Search for Documents on a Patient with NO Documents", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Search for Documents on a Patient with NO Documents", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 44 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 45 testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 46 testRunner.And("I add a Patient Identifier parameter with default System and Value \"patient3\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 47 testRunner.When("I make the \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 48 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 49 testRunner.Given("I store the Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 50 testRunner.Given("I configure the default \"DocumentsSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 51 testRunner.And("I set the required parameters for a Documents Search call", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 52 testRunner.When("I make the \"DocumentsSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 53 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 54 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 55 testRunner.And("The Bundle id should match the SSPTraceID", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 56 testRunner.And("The Bundle should contain NO Documents", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Search for Documents without Mandatory include Params expect fail")] - public virtual void SearchForDocumentsWithoutMandatoryIncludeParamsExpectFail() + public void SearchForDocumentsWithoutMandatoryIncludeParamsExpectFail() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Search for Documents without Mandatory include Params expect fail", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Search for Documents without Mandatory include Params expect fail", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 58 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 59 testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 60 testRunner.And("I add a Patient Identifier parameter with default System and Value \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 61 testRunner.When("I make the \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 62 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 63 testRunner.Given("I store the Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 64 testRunner.Given("I configure the default \"DocumentsSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 65 testRunner.When("I make the \"DocumentsSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 66 testRunner.Then("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 67 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_PARAM" + - "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Search for Documents using author parameter")] - public virtual void SearchForDocumentsUsingAuthorParameter() + public void SearchForDocumentsUsingAuthorParameter() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Search for Documents using author parameter", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Search for Documents using author parameter", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 69 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 70 testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 71 testRunner.And("I add a Patient Identifier parameter with default System and Value \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 72 testRunner.When("I make the \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 73 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 74 testRunner.Given("I store the Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 75 testRunner.Given("I configure the default \"DocumentsSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 76 testRunner.And("I set the required parameters for a Documents Search call", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 77 testRunner.And("I set the author parameters for a Documents Search call to \"ORG1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 78 testRunner.When("I make the \"DocumentsSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 79 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 80 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 81 testRunner.And("The Bundle id should match the SSPTraceID", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 82 testRunner.And("I Check the returned DocumentReference is Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 83 testRunner.And("I Check the returned DocumentReference Do Not Include Not In Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Search for Documents using author parameter but with invalid identifier")] - public virtual void SearchForDocumentsUsingAuthorParameterButWithInvalidIdentifier() + public void SearchForDocumentsUsingAuthorParameterButWithInvalidIdentifier() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Search for Documents using author parameter but with invalid identifier", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Search for Documents using author parameter but with invalid identifier", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 85 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 86 testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 87 testRunner.And("I add a Patient Identifier parameter with default System and Value \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 88 testRunner.When("I make the \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 89 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 90 testRunner.Given("I store the Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 91 testRunner.Given("I configure the default \"DocumentsSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 92 testRunner.And("I set the required parameters for a Documents Search call", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 93 testRunner.And("I set the author parameters with an invalid identifier for a Documents Search cal" + - "l to \"ORG1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "l to \"ORG1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 94 testRunner.When("I make the \"DocumentsSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 95 testRunner.Then("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 96 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_PARAM" + - "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Search for Patient Documents created within a last 365 days")] - public virtual void SearchForPatientDocumentsCreatedWithinALast365Days() + public void SearchForPatientDocumentsCreatedWithinALast365Days() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Search for Patient Documents created within a last 365 days", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Search for Patient Documents created within a last 365 days", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 98 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 99 testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 100 testRunner.And("I add a Patient Identifier parameter with default System and Value \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 101 testRunner.When("I make the \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 102 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 103 testRunner.Given("I store the Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 104 testRunner.Given("I configure the default \"DocumentsSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 105 testRunner.And("I set the required parameters for a Documents Search call", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 106 testRunner.Then("I set the documents search parameters le to today and ge to 365 days ago", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 107 testRunner.When("I make the \"DocumentsSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 108 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 109 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 110 testRunner.And("The Bundle id should match the SSPTraceID", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Search for Patient Documents created less than a date")] [NUnit.Framework.TestCaseAttribute("2", null)] - public virtual void SearchForPatientDocumentsCreatedLessThanADate(string days, string[] exampleTags) + public void SearchForPatientDocumentsCreatedLessThanADate(string days, string[] exampleTags) { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Search for Patient Documents created less than a date", null, exampleTags); + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("Days", days); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Search for Patient Documents created less than a date", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 112 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 113 testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 114 testRunner.And("I add a Patient Identifier parameter with default System and Value \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 115 testRunner.When("I make the \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 116 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 117 testRunner.Given("I store the Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 118 testRunner.Given("I configure the default \"DocumentsSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 119 testRunner.And("I set the required parameters for a Documents Search call", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 120 testRunner.Then(string.Format("I set the created search parameter to less than \"{0}\" days ago", days), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 121 testRunner.When("I make the \"DocumentsSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 122 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 123 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 124 testRunner.And("The Bundle id should match the SSPTraceID", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Search for Patient Documents created greater than a date")] [NUnit.Framework.TestCaseAttribute("365", null)] - public virtual void SearchForPatientDocumentsCreatedGreaterThanADate(string days, string[] exampleTags) + public void SearchForPatientDocumentsCreatedGreaterThanADate(string days, string[] exampleTags) { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Search for Patient Documents created greater than a date", null, exampleTags); + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("Days", days); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Search for Patient Documents created greater than a date", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 129 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 130 testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 131 testRunner.And("I add a Patient Identifier parameter with default System and Value \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 132 testRunner.When("I make the \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 133 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 134 testRunner.Given("I store the Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 135 testRunner.Given("I configure the default \"DocumentsSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 136 testRunner.And("I set the required parameters for a Documents Search call", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 137 testRunner.Then(string.Format("I set the created search parameter to greater than \"{0}\" days ago", days), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 138 testRunner.When("I make the \"DocumentsSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 139 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 140 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 141 testRunner.And("The Bundle id should match the SSPTraceID", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Search for Documents with an invalid parameter")] - public virtual void SearchForDocumentsWithAnInvalidParameter() + public void SearchForDocumentsWithAnInvalidParameter() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Search for Documents with an invalid parameter", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Search for Documents with an invalid parameter", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 146 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 147 testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 148 testRunner.And("I add a Patient Identifier parameter with default System and Value \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 149 testRunner.When("I make the \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 150 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 151 testRunner.Given("I store the Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 152 testRunner.Given("I configure the default \"DocumentsSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 153 testRunner.And("I set the required parameters for a Documents Search call", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 154 testRunner.And("I set an invalid parameter for a Documents Search call", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 155 testRunner.When("I make the \"DocumentsSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 156 testRunner.Then("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 157 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_PARAM" + - "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Search for Documents on a Patient that doesnt exist")] - public virtual void SearchForDocumentsOnAPatientThatDoesntExist() + public void SearchForDocumentsOnAPatientThatDoesntExist() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Search for Documents on a Patient that doesnt exist", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Search for Documents on a Patient that doesnt exist", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 159 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 160 testRunner.Given("I configure the default \"DocumentsSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 161 testRunner.And("I set the required parameters for a Documents Search call", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 162 testRunner.And("I change the patient logical id to a non existent id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 163 testRunner.When("I make the \"DocumentsSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 164 testRunner.Then("the response status code should be \"404\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 165 testRunner.And("the response should be a OperationOutcome resource with error code \"PATIENT_NOT_F" + - "OUND\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "OUND\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Search for Documents on a patient which exists on the system as a temporary patie" + "nt")] - public virtual void SearchForDocumentsOnAPatientWhichExistsOnTheSystemAsATemporaryPatient() + public void SearchForDocumentsOnAPatientWhichExistsOnTheSystemAsATemporaryPatient() { + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Search for Documents on a patient which exists on the system as a temporary patie" + - "nt", null, ((string[])(null))); + "nt", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 167 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 168 testRunner.Given("I get the next Patient to register and store it", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 169 testRunner.Given("I configure the default \"RegisterPatient\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 170 testRunner.And("I add the Stored Patient as a parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 171 testRunner.When("I make the \"RegisterPatient\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 172 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 173 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 174 testRunner.And("the response bundle should contain a single Patient resource", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 175 testRunner.Given("I store the Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 176 testRunner.Given("I configure the default \"DocumentsSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 177 testRunner.And("I set the required parameters for a Documents Search call", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 178 testRunner.When("I make the \"DocumentsSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 179 testRunner.Then("the response status code should be \"404\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 180 testRunner.And("the response should be a OperationOutcome resource with error code \"PATIENT_NOT_F" + - "OUND\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "OUND\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Retrieve a Document for Patient2")] - public virtual void RetrieveADocumentForPatient2() + public void RetrieveADocumentForPatient2() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve a Document for Patient2", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve a Document for Patient2", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 186 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 187 testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 188 testRunner.And("I add a Patient Identifier parameter with default System and Value \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 189 testRunner.When("I make the \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 190 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 191 testRunner.Given("I store the Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 192 testRunner.Given("I configure the default \"DocumentsSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 193 testRunner.And("I set the required parameters for a Documents Search call", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 194 testRunner.When("I make the \"DocumentsSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 195 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 196 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 197 testRunner.And("I save a document url for retrieving later", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 198 testRunner.Given("I configure the default \"DocumentsRetrieve\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 199 testRunner.When("I make the \"DocumentsRetrieve\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 200 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 201 testRunner.And("I save the binary document from the retrieve", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 202 testRunner.And("I Check the returned Binary Document is Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 203 testRunner.And("I Check the returned Binary Document Do Not Include Not In Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -565,241 +843,377 @@ public virtual void RetrieveADocumentForPatient2() [NUnit.Framework.TestCaseAttribute("patient4", null)] [NUnit.Framework.TestCaseAttribute("patient5", null)] [NUnit.Framework.TestCaseAttribute("patient6", null)] - public virtual void DocumentsPatientSearchAndCheckResponseConformsWithTheGPConnectSpecification(string patient, string[] exampleTags) + public void DocumentsPatientSearchAndCheckResponseConformsWithTheGPConnectSpecification(string patient, string[] exampleTags) { + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("Patient", patient); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Documents Patient Search and check response conforms with the GPConnect specifica" + - "tion", null, exampleTags); + "tion", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 229 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 230 testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 231 testRunner.And(string.Format("I add a Patient Identifier parameter with default System and Value \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 232 testRunner.When("I make the \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 233 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 234 testRunner.And("the response body should be FHIR JSON", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 235 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 236 testRunner.And("the response bundle should contain \"1\" entries", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 237 testRunner.And("The Bundle id should match the SSPTraceID", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 238 testRunner.And("the Patient Name should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 239 testRunner.And("the Patient Gender should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 240 testRunner.And("the Patient DOB should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 241 testRunner.And("the Patient Use should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 242 testRunner.And("the Patient Communication should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 243 testRunner.And("the Patient Contact should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 244 testRunner.And("the Patient MultipleBirth should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 245 testRunner.And("the Patient MaritalStatus should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 246 testRunner.And("the Patient Deceased should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 247 testRunner.And("the Patient Telecom should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 248 testRunner.And("the Patient ManagingOrganization Should be Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 249 testRunner.And("the Patient GeneralPractitioner Practitioner should be valid and resolvable", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 250 testRunner.And("the Patient should exclude disallowed fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 251 testRunner.And("the Patient Link should be valid and resolvable", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 252 testRunner.And("the Patient Contact Telecom use should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 253 testRunner.And("the Patient Not In Use should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Documents Patient Search results should contain a logical identifier")] - public virtual void DocumentsPatientSearchResultsShouldContainALogicalIdentifier() + public void DocumentsPatientSearchResultsShouldContainALogicalIdentifier() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Documents Patient Search results should contain a logical identifier", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Documents Patient Search results should contain a logical identifier", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 263 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 264 testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 265 testRunner.And("I add a Patient Identifier parameter with default System and Value \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 266 testRunner.When("I make the \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 267 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 268 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 269 testRunner.And("the response bundle should contain \"1\" entries", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 270 testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 271 testRunner.And("the patient resource in the bundle should contain meta data profile and version i" + - "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Documents Patient Search should return an error when no system is supplied in the" + " identifier parameter")] - public virtual void DocumentsPatientSearchShouldReturnAnErrorWhenNoSystemIsSuppliedInTheIdentifierParameter() + public void DocumentsPatientSearchShouldReturnAnErrorWhenNoSystemIsSuppliedInTheIdentifierParameter() { + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Documents Patient Search should return an error when no system is supplied in the" + - " identifier parameter", null, ((string[])(null))); + " identifier parameter", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 273 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 274 testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 275 testRunner.And("I add a Patient Identifier parameter with no System and Value \"patient1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 276 testRunner.When("I make the \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 277 testRunner.Then("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 278 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_PARAM" + - "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Documents Patient Search should return an error when a blank system is supplied i" + "n the identifier parameter")] - public virtual void DocumentsPatientSearchShouldReturnAnErrorWhenABlankSystemIsSuppliedInTheIdentifierParameter() + public void DocumentsPatientSearchShouldReturnAnErrorWhenABlankSystemIsSuppliedInTheIdentifierParameter() { + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Documents Patient Search should return an error when a blank system is supplied i" + - "n the identifier parameter", null, ((string[])(null))); + "n the identifier parameter", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 280 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 281 testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 282 testRunner.And("I add a Patient Identifier parameter with System \"\" and Value \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 283 testRunner.When("I make the \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 284 testRunner.Then("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 285 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_PARAM" + - "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Documents Patient Search When a patient is not found on the provider system an em" + "pty bundle should be returned")] - public virtual void DocumentsPatientSearchWhenAPatientIsNotFoundOnTheProviderSystemAnEmptyBundleShouldBeReturned() + public void DocumentsPatientSearchWhenAPatientIsNotFoundOnTheProviderSystemAnEmptyBundleShouldBeReturned() { + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Documents Patient Search When a patient is not found on the provider system an em" + - "pty bundle should be returned", null, ((string[])(null))); + "pty bundle should be returned", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 287 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 288 testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 289 testRunner.And("I add a Patient Identifier parameter with default System and Value \"patientNotInS" + - "ystem\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ystem\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 290 testRunner.When("I make the \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 291 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 292 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 293 testRunner.And("the response bundle should contain \"0\" entries", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 294 testRunner.And("The Bundle id should match the SSPTraceID", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Documents Patient Search should fail if no identifier parameter is include")] - public virtual void DocumentsPatientSearchShouldFailIfNoIdentifierParameterIsInclude() + public void DocumentsPatientSearchShouldFailIfNoIdentifierParameterIsInclude() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Documents Patient Search should fail if no identifier parameter is include", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Documents Patient Search should fail if no identifier parameter is include", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 296 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 297 testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 298 testRunner.When("I make the \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 299 testRunner.Then("the response status code should be \"400\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 300 testRunner.And("the response should be a OperationOutcome resource with error code \"BAD_REQUEST\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Documents Patient Search The identifier parameter should be rejected if the case " + "is incorrect")] - public virtual void DocumentsPatientSearchTheIdentifierParameterShouldBeRejectedIfTheCaseIsIncorrect() + public void DocumentsPatientSearchTheIdentifierParameterShouldBeRejectedIfTheCaseIsIncorrect() { + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Documents Patient Search The identifier parameter should be rejected if the case " + - "is incorrect", null, ((string[])(null))); + "is incorrect", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 302 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 303 testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 304 testRunner.And("I add a Patient Identifier parameter with identifier name \"Identifier\" default Sy" + - "stem and Value \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "stem and Value \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 305 testRunner.When("I make the \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 306 testRunner.Then("the response status code should be \"400\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 307 testRunner.And("the response should be a OperationOutcome resource with error code \"BAD_REQUEST\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Documents Patient Search response should be an error if no value is sent in the i" + "dentifier parameter")] - public virtual void DocumentsPatientSearchResponseShouldBeAnErrorIfNoValueIsSentInTheIdentifierParameter() + public void DocumentsPatientSearchResponseShouldBeAnErrorIfNoValueIsSentInTheIdentifierParameter() { + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Documents Patient Search response should be an error if no value is sent in the i" + - "dentifier parameter", null, ((string[])(null))); + "dentifier parameter", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 309 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 310 testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 311 testRunner.And("I add the parameter \"identifier\" with the value \"https://fhir.nhs.uk/Id/nhs-numbe" + - "r|\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "r|\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 312 testRunner.When("I make the \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 313 testRunner.Then("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 314 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_PARAM" + - "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -807,33 +1221,54 @@ public virtual void DocumentsPatientSearchResponseShouldBeAnErrorIfNoValueIsSent [NUnit.Framework.DescriptionAttribute("The Documents Patient Search endpoint should accept the accept header")] [NUnit.Framework.TestCaseAttribute("application/fhir+xml", "XML", null)] [NUnit.Framework.TestCaseAttribute("application/fhir+json", "JSON", null)] - public virtual void TheDocumentsPatientSearchEndpointShouldAcceptTheAcceptHeader(string acceptHeader, string resultFormat, string[] exampleTags) + public void TheDocumentsPatientSearchEndpointShouldAcceptTheAcceptHeader(string acceptHeader, string resultFormat, string[] exampleTags) { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("The Documents Patient Search endpoint should accept the accept header", null, exampleTags); + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("AcceptHeader", acceptHeader); + argumentsOfScenario.Add("ResultFormat", resultFormat); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("The Documents Patient Search endpoint should accept the accept header", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 316 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 317 testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 318 testRunner.And(string.Format("I set the Accept header to \"{0}\"", acceptHeader), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 319 testRunner.And("I add a Patient Identifier parameter with default System and Value \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 320 testRunner.When("I make the \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 321 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 322 testRunner.And(string.Format("the response body should be FHIR {0}", resultFormat), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 323 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 324 testRunner.And("the response bundle should contain \"1\" entries", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 325 testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 326 testRunner.And("the Patient Identifiers should be valid for Patient \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -841,33 +1276,54 @@ public virtual void TheDocumentsPatientSearchEndpointShouldAcceptTheAcceptHeader [NUnit.Framework.DescriptionAttribute("The Documents patient search endpoint should accept the format parameter")] [NUnit.Framework.TestCaseAttribute("application/fhir+xml", "XML", null)] [NUnit.Framework.TestCaseAttribute("application/fhir+json", "JSON", null)] - public virtual void TheDocumentsPatientSearchEndpointShouldAcceptTheFormatParameter(string formatParam, string resultFormat, string[] exampleTags) + public void TheDocumentsPatientSearchEndpointShouldAcceptTheFormatParameter(string formatParam, string resultFormat, string[] exampleTags) { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("The Documents patient search endpoint should accept the format parameter", null, exampleTags); + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("FormatParam", formatParam); + argumentsOfScenario.Add("ResultFormat", resultFormat); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("The Documents patient search endpoint should accept the format parameter", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 332 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 333 testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 334 testRunner.And(string.Format("I add the parameter \"_format\" with the value \"{0}\"", formatParam), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 335 testRunner.And("I add a Patient Identifier parameter with default System and Value \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 336 testRunner.When("I make the \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 337 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 338 testRunner.And(string.Format("the response body should be FHIR {0}", resultFormat), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 339 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 340 testRunner.And("the response bundle should contain \"1\" entries", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 341 testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 342 testRunner.And("the Patient Identifiers should be valid for Patient \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -878,36 +1334,59 @@ public virtual void TheDocumentsPatientSearchEndpointShouldAcceptTheFormatParame [NUnit.Framework.TestCaseAttribute("application/fhir+json", "application/fhir+xml", "XML", null)] [NUnit.Framework.TestCaseAttribute("application/fhir+json", "application/fhir+json", "JSON", null)] [NUnit.Framework.TestCaseAttribute("application/fhir+xml", "application/fhir+json", "JSON", null)] - public virtual void TheDocumentsPatientSearchEndpointShouldAcceptTheFormatParameterAfterTheIdentifierParameter(string acceptHeader, string formatParam, string resultFormat, string[] exampleTags) + public void TheDocumentsPatientSearchEndpointShouldAcceptTheFormatParameterAfterTheIdentifierParameter(string acceptHeader, string formatParam, string resultFormat, string[] exampleTags) { + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("AcceptHeader", acceptHeader); + argumentsOfScenario.Add("FormatParam", formatParam); + argumentsOfScenario.Add("ResultFormat", resultFormat); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("The Documents patient search endpoint should accept the format parameter after th" + - "e identifier parameter", null, exampleTags); + "e identifier parameter", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 348 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 349 testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 350 testRunner.And(string.Format("I set the Accept header to \"{0}\"", acceptHeader), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 351 testRunner.And("I add a Patient Identifier parameter with default System and Value \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 352 testRunner.And(string.Format("I add the parameter \"_format\" with the value \"{0}\"", formatParam), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 353 testRunner.When("I make the \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 354 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 355 testRunner.And(string.Format("the response body should be FHIR {0}", resultFormat), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 356 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 357 testRunner.And("the response bundle should contain \"1\" entries", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 358 testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 359 testRunner.And("the Patient Identifiers should be valid for Patient \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -918,36 +1397,59 @@ public virtual void TheDocumentsPatientSearchEndpointShouldAcceptTheFormatParame [NUnit.Framework.TestCaseAttribute("application/fhir+json", "application/fhir+xml", "XML", null)] [NUnit.Framework.TestCaseAttribute("application/fhir+json", "application/fhir+json", "JSON", null)] [NUnit.Framework.TestCaseAttribute("application/fhir+xml", "application/fhir+json", "JSON", null)] - public virtual void TheDocumentsPatientSearchEndpointShouldAcceptTheFormatParameterBeforeTheIdentifierParameter(string acceptHeader, string formatParam, string resultFormat, string[] exampleTags) + public void TheDocumentsPatientSearchEndpointShouldAcceptTheFormatParameterBeforeTheIdentifierParameter(string acceptHeader, string formatParam, string resultFormat, string[] exampleTags) { + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("AcceptHeader", acceptHeader); + argumentsOfScenario.Add("FormatParam", formatParam); + argumentsOfScenario.Add("ResultFormat", resultFormat); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("The Documents Patient search endpoint should accept the format parameter before t" + - "he identifier parameter", null, exampleTags); + "he identifier parameter", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 367 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 368 testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 369 testRunner.And(string.Format("I set the Accept header to \"{0}\"", acceptHeader), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 370 testRunner.And(string.Format("I add the parameter \"_format\" with the value \"{0}\"", formatParam), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 371 testRunner.And("I add a Patient Identifier parameter with default System and Value \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 372 testRunner.When("I make the \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 373 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 374 testRunner.And(string.Format("the response body should be FHIR {0}", resultFormat), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 375 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 376 testRunner.And("the response bundle should contain \"1\" entries", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 377 testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 378 testRunner.And("the Patient Identifiers should be valid for Patient \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -957,60 +1459,96 @@ public virtual void TheDocumentsPatientSearchEndpointShouldAcceptTheFormatParame [NUnit.Framework.TestCaseAttribute("patient1", null)] [NUnit.Framework.TestCaseAttribute("patient2", null)] [NUnit.Framework.TestCaseAttribute("patient3", null)] - public virtual void DocumentsPatientSearchResourceShouldContainNHSNumberIdentifierReturnedAsXML(string patient, string[] exampleTags) + public void DocumentsPatientSearchResourceShouldContainNHSNumberIdentifierReturnedAsXML(string patient, string[] exampleTags) { + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("Patient", patient); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Documents Patient Search resource should contain NHS number identifier returned a" + - "s XML", null, exampleTags); + "s XML", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 386 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 387 testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 388 testRunner.And("I set the Accept header to \"application/fhir+xml\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 389 testRunner.And(string.Format("I add a Patient Identifier parameter with default System and Value \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 390 testRunner.When("I make the \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 391 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 392 testRunner.And("the response body should be FHIR XML", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 393 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 394 testRunner.And("the response bundle should contain \"1\" entries", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 395 testRunner.And(string.Format("the Patient Identifiers should be valid for Patient \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Documents Patient search response does not return deceased patient")] - public virtual void DocumentsPatientSearchResponseDoesNotReturnDeceasedPatient() + public void DocumentsPatientSearchResponseDoesNotReturnDeceasedPatient() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Documents Patient search response does not return deceased patient", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Documents Patient search response does not return deceased patient", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 402 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 403 testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 404 testRunner.And("I add a Patient Identifier parameter with default System and Value \"patient18\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 405 testRunner.When("I make the \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 406 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 407 testRunner.And("the response body should be FHIR JSON", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 408 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 409 testRunner.And("the response bundle should contain \"0\" entries", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 410 testRunner.And("The Bundle id should match the SSPTraceID", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -1020,187 +1558,301 @@ public virtual void DocumentsPatientSearchResponseDoesNotReturnDeceasedPatient() [NUnit.Framework.TestCaseAttribute("identifier", "patient2", "identifier", "patient2", null)] [NUnit.Framework.TestCaseAttribute("identifier", "patient1", "identifier", "patient2", null)] [NUnit.Framework.TestCaseAttribute("identifier", "patient2", "identifier", "patient1", null)] - public virtual void DocumentsPatientSearchShouldErrorIfMultipleParametersValidOrInvalidAreSent(string identifier1, string patientOne, string identifier2, string patientTwo, string[] exampleTags) + public void DocumentsPatientSearchShouldErrorIfMultipleParametersValidOrInvalidAreSent(string identifier1, string patientOne, string identifier2, string patientTwo, string[] exampleTags) { + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("Identifier1", identifier1); + argumentsOfScenario.Add("PatientOne", patientOne); + argumentsOfScenario.Add("Identifier2", identifier2); + argumentsOfScenario.Add("PatientTwo", patientTwo); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Documents Patient search should error if multiple parameters valid or invalid are" + - " sent", null, exampleTags); + " sent", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 412 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 413 testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 414 testRunner.And(string.Format("I add a Patient Identifier parameter with identifier name \"{0}\" default System an" + - "d Value \"{1}\"", identifier1, patientOne), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "d Value \"{1}\"", identifier1, patientOne), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 415 testRunner.And(string.Format("I add a Patient Identifier parameter with identifier name \"{0}\" default System an" + - "d Value \"{1}\"", identifier2, patientTwo), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "d Value \"{1}\"", identifier2, patientTwo), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 416 testRunner.When("I make the \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 417 testRunner.Then("the response status code should be \"400\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 418 testRunner.And("the response should be a OperationOutcome resource with error code \"BAD_REQUEST\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Documents Patient search valid response check caching headers exist")] - public virtual void DocumentsPatientSearchValidResponseCheckCachingHeadersExist() + public void DocumentsPatientSearchValidResponseCheckCachingHeadersExist() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Documents Patient search valid response check caching headers exist", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Documents Patient search valid response check caching headers exist", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 425 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 426 testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 427 testRunner.And("I add a Patient Identifier parameter with default System and Value \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 428 testRunner.When("I make the \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 429 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 430 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 431 testRunner.And("the response bundle should contain \"1\" entries", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 432 testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 433 testRunner.And("the required cacheing headers should be present in the response", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Documents Patient search invalid response check caching headers exist")] - public virtual void DocumentsPatientSearchInvalidResponseCheckCachingHeadersExist() + public void DocumentsPatientSearchInvalidResponseCheckCachingHeadersExist() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Documents Patient search invalid response check caching headers exist", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Documents Patient search invalid response check caching headers exist", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 435 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 436 testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 437 testRunner.And("I add a Patient Identifier parameter with identifier name \"Identifier\" default Sy" + - "stem and Value \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "stem and Value \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 438 testRunner.When("I make the \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 439 testRunner.Then("the response status code should be \"400\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 440 testRunner.And("the response should be a OperationOutcome resource with error code \"BAD_REQUEST\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 441 testRunner.And("the required cacheing headers should be present in the response", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Documents Patient search should contain a preferred branch")] - public virtual void DocumentsPatientSearchShouldContainAPreferredBranch() + public void DocumentsPatientSearchShouldContainAPreferredBranch() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Documents Patient search should contain a preferred branch", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Documents Patient search should contain a preferred branch", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 443 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 444 testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 445 testRunner.And("I add a Patient Identifier parameter with default System and Value \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 446 testRunner.When("I make the \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 447 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 448 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 449 testRunner.And("the response bundle should contain \"1\" entries", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 450 testRunner.And("the Patient RegistrationDetails should include preferredBranchSurgery", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Documents Patient search for a patient with a sensitive flag should return no res" + "ults")] - public virtual void DocumentsPatientSearchForAPatientWithASensitiveFlagShouldReturnNoResults() + public void DocumentsPatientSearchForAPatientWithASensitiveFlagShouldReturnNoResults() { + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Documents Patient search for a patient with a sensitive flag should return no res" + - "ults", null, ((string[])(null))); + "ults", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 452 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 453 testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 454 testRunner.And("I add a Patient Identifier parameter with default System and Value \"patient9\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 455 testRunner.When("I make the \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 456 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 457 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 458 testRunner.And("the response bundle should contain \"0\" entries", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Documents Patient search for a patient with a inactive flag should return no resu" + "lts")] - public virtual void DocumentsPatientSearchForAPatientWithAInactiveFlagShouldReturnNoResults() + public void DocumentsPatientSearchForAPatientWithAInactiveFlagShouldReturnNoResults() { + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Documents Patient search for a patient with a inactive flag should return no resu" + - "lts", null, ((string[])(null))); + "lts", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 460 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 461 testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 462 testRunner.And("I add a Patient Identifier parameter with default System and Value \"patient21\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 463 testRunner.When("I make the \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 464 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 465 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 466 testRunner.And("the response bundle should contain \"0\" entries", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Documents Patient search for a No Consent Patient search gets a valid response")] - public virtual void DocumentsPatientSearchForANoConsentPatientSearchGetsAValidResponse() + public void DocumentsPatientSearchForANoConsentPatientSearchGetsAValidResponse() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Documents Patient search for a No Consent Patient search gets a valid response", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Documents Patient search for a No Consent Patient search gets a valid response", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 468 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 469 testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 470 testRunner.And("I add a Patient Identifier parameter with default System and Value \"patient15\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 471 testRunner.When("I make the \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 472 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 473 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 474 testRunner.And("the response bundle should contain \"1\" entries", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 475 testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 476 testRunner.And("the required cacheing headers should be present in the response", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } } diff --git a/GPConnect.Provider.AcceptanceTests/StructuredImmunizations.feature.cs b/GPConnect.Provider.AcceptanceTests/StructuredImmunizations.feature.cs index ad97b82e..921659e6 100644 --- a/GPConnect.Provider.AcceptanceTests/StructuredImmunizations.feature.cs +++ b/GPConnect.Provider.AcceptanceTests/StructuredImmunizations.feature.cs @@ -1,8 +1,8 @@ -// ------------------------------------------------------------------------------ +// ------------------------------------------------------------------------------ // -// This code was generated by SpecFlow (http://www.specflow.org/). -// SpecFlow Version:3.0.0.0 -// SpecFlow Generator Version:3.0.0.0 +// This code was generated by SpecFlow (https://www.specflow.org/). +// SpecFlow Version:3.9.0.0 +// SpecFlow Generator Version:3.9.0.0 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. @@ -13,9 +13,11 @@ namespace GPConnect.Provider.AcceptanceTests { using TechTalk.SpecFlow; + using System; + using System.Linq; - [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "3.0.0.0")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "3.9.0.0")] [System.Runtime.CompilerServices.CompilerGeneratedAttribute()] [NUnit.Framework.TestFixtureAttribute()] [NUnit.Framework.DescriptionAttribute("StructuredImmunizations")] @@ -27,6 +29,11 @@ public partial class StructuredImmunizationsFeature private TechTalk.SpecFlow.ITestRunner testRunner; + private static string[] featureTags = new string[] { + "Structured", + "StructuredImmunizations", + "1.5.0-Full-Pack"}; + #line 1 "StructuredImmunizations.feature" #line hidden @@ -34,10 +41,7 @@ public partial class StructuredImmunizationsFeature public virtual void FeatureSetup() { testRunner = TechTalk.SpecFlow.TestRunnerManager.GetTestRunner(); - TechTalk.SpecFlow.FeatureInfo featureInfo = new TechTalk.SpecFlow.FeatureInfo(new System.Globalization.CultureInfo("en-US"), "StructuredImmunizations", null, ProgrammingLanguage.CSharp, new string[] { - "Structured", - "StructuredImmunizations", - "1.5.0-Full-Pack"}); + TechTalk.SpecFlow.FeatureInfo featureInfo = new TechTalk.SpecFlow.FeatureInfo(new System.Globalization.CultureInfo("en-US"), "", "StructuredImmunizations", null, ProgrammingLanguage.CSharp, featureTags); testRunner.OnFeatureStart(featureInfo); } @@ -49,28 +53,28 @@ public virtual void FeatureTearDown() } [NUnit.Framework.SetUpAttribute()] - public virtual void TestInitialize() + public void TestInitialize() { } [NUnit.Framework.TearDownAttribute()] - public virtual void ScenarioTearDown() + public void TestTearDown() { testRunner.OnScenarioEnd(); } - public virtual void ScenarioInitialize(TechTalk.SpecFlow.ScenarioInfo scenarioInfo) + public void ScenarioInitialize(TechTalk.SpecFlow.ScenarioInfo scenarioInfo) { testRunner.OnScenarioInitialize(scenarioInfo); testRunner.ScenarioContext.ScenarioContainer.RegisterInstanceAs(NUnit.Framework.TestContext.CurrentContext); } - public virtual void ScenarioStart() + public void ScenarioStart() { testRunner.OnScenarioStart(); } - public virtual void ScenarioCleanup() + public void ScenarioCleanup() { testRunner.CollectScenarioErrors(); } @@ -78,334 +82,516 @@ public virtual void ScenarioCleanup() [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Verify Immunizations structured record for a Patient with Immunizations not linke" + "d to any problems")] - public virtual void VerifyImmunizationsStructuredRecordForAPatientWithImmunizationsNotLinkedToAnyProblems() + public void VerifyImmunizationsStructuredRecordForAPatientWithImmunizationsNotLinkedToAnyProblems() { + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Verify Immunizations structured record for a Patient with Immunizations not linke" + - "d to any problems", null, ((string[])(null))); + "d to any problems", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 8 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 9 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 10 testRunner.And("I add an NHS Number parameter for \"patient3\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 11 testRunner.And("I add the immunizations parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 12 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 13 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 14 testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 15 testRunner.And("the response meta profile should be for \"structured\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 16 testRunner.And("the patient resource in the bundle should contain meta data profile and version i" + - "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 17 testRunner.And("if the response bundle contains a practitioner resource it should contain meta da" + - "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 18 testRunner.And("if the response bundle contains an organization resource it should contain meta d" + - "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 19 testRunner.And("the Bundle should be valid for patient \"patient3\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 20 testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 21 testRunner.And("the Practitioner Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 22 testRunner.And("the Organization Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 23 testRunner.And("The Immunization Resources are Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 24 testRunner.And("The Immunization Resources Do Not Include Not In Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 25 testRunner.And("the Bundle should contain \"1\" lists", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 26 testRunner.And("The Immunization List is Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 27 testRunner.And("The Structured List Does Not Include Not In Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 28 testRunner.And("I Check There is No Problems Secondary Problems List", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 29 testRunner.And("I Check No Problem Resources are Included", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Verify Immunizations structured record for a Patient with Immunizations associate" + "d to Problems")] - public virtual void VerifyImmunizationsStructuredRecordForAPatientWithImmunizationsAssociatedToProblems() + public void VerifyImmunizationsStructuredRecordForAPatientWithImmunizationsAssociatedToProblems() { + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Verify Immunizations structured record for a Patient with Immunizations associate" + - "d to Problems", null, ((string[])(null))); + "d to Problems", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 33 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 34 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 35 testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 36 testRunner.And("I add the immunizations parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 37 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 38 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 39 testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 40 testRunner.And("the response meta profile should be for \"structured\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 41 testRunner.And("the patient resource in the bundle should contain meta data profile and version i" + - "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 42 testRunner.And("if the response bundle contains a practitioner resource it should contain meta da" + - "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 43 testRunner.And("if the response bundle contains an organization resource it should contain meta d" + - "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 44 testRunner.And("the Bundle should be valid for patient \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 45 testRunner.And("check that the bundle does not contain any duplicate resources", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 46 testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 47 testRunner.And("the Practitioner Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 48 testRunner.And("the Organization Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 49 testRunner.And("The Immunization Resources are Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 50 testRunner.And("The Immunization Resources Do Not Include Not In Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 51 testRunner.And("the Bundle should contain \"2\" lists", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 52 testRunner.And("The Immunization List is Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 53 testRunner.And("The Structured List Does Not Include Not In Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 54 testRunner.And("check the response does not contain an operation outcome", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 55 testRunner.And("I Check The Problems Secondary Problems List", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 56 testRunner.And("I Check The Problems Secondary Problems List Does Not Include Not In Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 57 testRunner.And("I Check The Problems Resources are Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 58 testRunner.And("I check The Problem Resources Do Not Include Not In Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 59 testRunner.And("Check a Problem is linked to an \"Immunization\" that is also included in the respo" + - "nse with its list", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "nse with its list", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Retrieve the immunizations structured record section for an invalid NHS number")] - public virtual void RetrieveTheImmunizationsStructuredRecordSectionForAnInvalidNHSNumber() + public void RetrieveTheImmunizationsStructuredRecordSectionForAnInvalidNHSNumber() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the immunizations structured record section for an invalid NHS number", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the immunizations structured record section for an invalid NHS number", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 61 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 62 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 63 testRunner.And("I add an NHS Number parameter for an invalid NHS Number", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 64 testRunner.And("I add the immunizations parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 65 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 66 testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 67 testRunner.And("the response should be a OperationOutcome resource", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Retrieve the immunizations structured record section for an empty NHS number")] - public virtual void RetrieveTheImmunizationsStructuredRecordSectionForAnEmptyNHSNumber() + public void RetrieveTheImmunizationsStructuredRecordSectionForAnEmptyNHSNumber() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the immunizations structured record section for an empty NHS number", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the immunizations structured record section for an empty NHS number", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 69 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 70 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 71 testRunner.And("I add an NHS Number parameter with an empty NHS Number", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 72 testRunner.And("I add the immunizations parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 73 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 74 testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 75 testRunner.And("the response should be a OperationOutcome resource", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Retrieve the immunizations structured record section for an invalid Identifier Sy" + "stem")] - public virtual void RetrieveTheImmunizationsStructuredRecordSectionForAnInvalidIdentifierSystem() + public void RetrieveTheImmunizationsStructuredRecordSectionForAnInvalidIdentifierSystem() { + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the immunizations structured record section for an invalid Identifier Sy" + - "stem", null, ((string[])(null))); + "stem", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 77 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 78 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 79 testRunner.And("I add an NHS Number parameter for \"patient1\" with an invalid Identifier System", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 80 testRunner.And("I add the immunizations parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 81 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 82 testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 83 testRunner.And("the response should be a OperationOutcome resource", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Retrieve the immunizations structured record section for an empty Identifier Syst" + "em")] - public virtual void RetrieveTheImmunizationsStructuredRecordSectionForAnEmptyIdentifierSystem() + public void RetrieveTheImmunizationsStructuredRecordSectionForAnEmptyIdentifierSystem() { + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the immunizations structured record section for an empty Identifier Syst" + - "em", null, ((string[])(null))); + "em", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 85 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 86 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 87 testRunner.And("I add an NHS Number parameter for \"patient1\" with an empty Identifier System", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 88 testRunner.And("I add the immunizations parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 89 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 90 testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 91 testRunner.And("the response should be a OperationOutcome resource", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Retrieve the immunizations structured record for a patient that has sensitive fla" + "g")] - public virtual void RetrieveTheImmunizationsStructuredRecordForAPatientThatHasSensitiveFlag() + public void RetrieveTheImmunizationsStructuredRecordForAPatientThatHasSensitiveFlag() { + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the immunizations structured record for a patient that has sensitive fla" + - "g", null, ((string[])(null))); + "g", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 93 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 94 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 95 testRunner.And("I add an NHS Number parameter for \"patient9\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 96 testRunner.And("I add the immunizations parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 97 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 98 testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 99 testRunner.And("the response status code should be \"404\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 100 testRunner.And("the response should be a OperationOutcome resource with error code \"PATIENT_NOT_F" + - "OUND\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "OUND\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Retrieve the immunizations structured record for a patient that has no immunizati" + "ons")] - public virtual void RetrieveTheImmunizationsStructuredRecordForAPatientThatHasNoImmunizations() + public void RetrieveTheImmunizationsStructuredRecordForAPatientThatHasNoImmunizations() { + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the immunizations structured record for a patient that has no immunizati" + - "ons", null, ((string[])(null))); + "ons", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 102 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 103 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 104 testRunner.And("I add an NHS Number parameter for \"patient4\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 105 testRunner.And("I add the immunizations parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 106 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 107 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 108 testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 109 testRunner.And("the response meta profile should be for \"structured\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 110 testRunner.And("the patient resource in the bundle should contain meta data profile and version i" + - "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 111 testRunner.And("if the response bundle contains a practitioner resource it should contain meta da" + - "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 112 testRunner.And("if the response bundle contains an organization resource it should contain meta d" + - "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 113 testRunner.And("the Bundle should be valid for patient \"patient4\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 114 testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 115 testRunner.And("the Practitioner Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 116 testRunner.And("the Organization Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 117 testRunner.And("check the response does not contain an operation outcome", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 118 testRunner.And("check structured list contains a note and emptyReason when no data in section", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Retrieve the immunizations structured record with a madeUp partParameter")] - public virtual void RetrieveTheImmunizationsStructuredRecordWithAMadeUpPartParameter() + public void RetrieveTheImmunizationsStructuredRecordWithAMadeUpPartParameter() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the immunizations structured record with a madeUp partParameter", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the immunizations structured record with a madeUp partParameter", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 120 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 121 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 122 testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 123 testRunner.And("I add a madeUp immunizations part parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 124 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 125 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 126 testRunner.And("Check the operation outcome returns the correct text and diagnostics includes \"in" + - "cludeImmunisations\" and \"madeUp\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "cludeImmunisations\" and \"madeUp\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 127 testRunner.And("Check the number of issues in the operation outcome \"1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } } diff --git a/GPConnect.Provider.AcceptanceTests/StructuredInvestigations.feature.cs b/GPConnect.Provider.AcceptanceTests/StructuredInvestigations.feature.cs index 15b32246..ba06d971 100644 --- a/GPConnect.Provider.AcceptanceTests/StructuredInvestigations.feature.cs +++ b/GPConnect.Provider.AcceptanceTests/StructuredInvestigations.feature.cs @@ -1,8 +1,8 @@ -// ------------------------------------------------------------------------------ +// ------------------------------------------------------------------------------ // -// This code was generated by SpecFlow (http://www.specflow.org/). -// SpecFlow Version:3.0.0.0 -// SpecFlow Generator Version:3.0.0.0 +// This code was generated by SpecFlow (https://www.specflow.org/). +// SpecFlow Version:3.9.0.0 +// SpecFlow Generator Version:3.9.0.0 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. @@ -13,9 +13,11 @@ namespace GPConnect.Provider.AcceptanceTests { using TechTalk.SpecFlow; + using System; + using System.Linq; - [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "3.0.0.0")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "3.9.0.0")] [System.Runtime.CompilerServices.CompilerGeneratedAttribute()] [NUnit.Framework.TestFixtureAttribute()] [NUnit.Framework.DescriptionAttribute("StructuredInvestigations")] @@ -27,6 +29,11 @@ public partial class StructuredInvestigationsFeature private TechTalk.SpecFlow.ITestRunner testRunner; + private static string[] featureTags = new string[] { + "Structured", + "StructuredInvestigations", + "1.5.0-Full-Pack"}; + #line 1 "StructuredInvestigations.feature" #line hidden @@ -34,10 +41,7 @@ public partial class StructuredInvestigationsFeature public virtual void FeatureSetup() { testRunner = TechTalk.SpecFlow.TestRunnerManager.GetTestRunner(); - TechTalk.SpecFlow.FeatureInfo featureInfo = new TechTalk.SpecFlow.FeatureInfo(new System.Globalization.CultureInfo("en-US"), "StructuredInvestigations", null, ProgrammingLanguage.CSharp, new string[] { - "Structured", - "StructuredInvestigations", - "1.5.0-Full-Pack"}); + TechTalk.SpecFlow.FeatureInfo featureInfo = new TechTalk.SpecFlow.FeatureInfo(new System.Globalization.CultureInfo("en-US"), "", "StructuredInvestigations", null, ProgrammingLanguage.CSharp, featureTags); testRunner.OnFeatureStart(featureInfo); } @@ -49,28 +53,28 @@ public virtual void FeatureTearDown() } [NUnit.Framework.SetUpAttribute()] - public virtual void TestInitialize() + public void TestInitialize() { } [NUnit.Framework.TearDownAttribute()] - public virtual void ScenarioTearDown() + public void TestTearDown() { testRunner.OnScenarioEnd(); } - public virtual void ScenarioInitialize(TechTalk.SpecFlow.ScenarioInfo scenarioInfo) + public void ScenarioInitialize(TechTalk.SpecFlow.ScenarioInfo scenarioInfo) { testRunner.OnScenarioInitialize(scenarioInfo); testRunner.ScenarioContext.ScenarioContainer.RegisterInstanceAs(NUnit.Framework.TestContext.CurrentContext); } - public virtual void ScenarioStart() + public void ScenarioStart() { testRunner.OnScenarioStart(); } - public virtual void ScenarioCleanup() + public void ScenarioCleanup() { testRunner.CollectScenarioErrors(); } @@ -79,72 +83,108 @@ public virtual void ScenarioCleanup() [NUnit.Framework.DescriptionAttribute("Verify Investigations structured record for a Patient with Investigations not lin" + "ked to any problems")] [NUnit.Framework.CategoryAttribute("1.5.0-IncrementalAndRegression")] - public virtual void VerifyInvestigationsStructuredRecordForAPatientWithInvestigationsNotLinkedToAnyProblems() + public void VerifyInvestigationsStructuredRecordForAPatientWithInvestigationsNotLinkedToAnyProblems() { + string[] tagsOfScenario = new string[] { + "1.5.0-IncrementalAndRegression"}; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Verify Investigations structured record for a Patient with Investigations not lin" + - "ked to any problems", null, new string[] { - "1.5.0-IncrementalAndRegression"}); + "ked to any problems", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 8 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 9 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 10 testRunner.And("I add an NHS Number parameter for \"patient3\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 11 testRunner.And("I add the Investigations parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 12 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 13 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 14 testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 15 testRunner.And("the response meta profile should be for \"structured\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 16 testRunner.And("the patient resource in the bundle should contain meta data profile and version i" + - "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 17 testRunner.And("if the response bundle contains a practitioner resource it should contain meta da" + - "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 18 testRunner.And("if the response bundle contains an organization resource it should contain meta d" + - "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 19 testRunner.And("the Bundle should be valid for patient \"patient3\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 20 testRunner.And("check that the bundle does not contain any duplicate resources", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 21 testRunner.And("check the response does not contain an operation outcome", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 22 testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 23 testRunner.And("the Practitioner Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 24 testRunner.And("the Organization Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 25 testRunner.And("the Bundle should contain \"1\" lists", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 26 testRunner.And("I Check the Investigations List is Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 27 testRunner.And("The Structured List Does Not Include Not In Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 28 testRunner.And("I Check the DiagnosticReports are Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 29 testRunner.And("I Check the DiagnosticReports Do Not Include Not in Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 30 testRunner.And("I Check the Specimens are Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 31 testRunner.And("I Check the Specimens Do Not Include Not in Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 32 testRunner.And("I Check the Test report Filing is Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 33 testRunner.And("I Check the Test report Filing Do Not Include Not in Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 34 testRunner.And("I Check There is No Problems Secondary Problems List", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 35 testRunner.And("I Check No Problem Resources are Included", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -152,78 +192,117 @@ public virtual void VerifyInvestigationsStructuredRecordForAPatientWithInvestiga [NUnit.Framework.DescriptionAttribute("Verify Investigations structured record for a Patient with Investigations associa" + "ted to Problems")] [NUnit.Framework.CategoryAttribute("1.5.0-IncrementalAndRegression")] - public virtual void VerifyInvestigationsStructuredRecordForAPatientWithInvestigationsAssociatedToProblems() + public void VerifyInvestigationsStructuredRecordForAPatientWithInvestigationsAssociatedToProblems() { + string[] tagsOfScenario = new string[] { + "1.5.0-IncrementalAndRegression"}; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Verify Investigations structured record for a Patient with Investigations associa" + - "ted to Problems", null, new string[] { - "1.5.0-IncrementalAndRegression"}); + "ted to Problems", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 38 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 39 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 40 testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 41 testRunner.And("I add the Investigations parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 42 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 43 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 44 testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 45 testRunner.And("the response meta profile should be for \"structured\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 46 testRunner.And("the patient resource in the bundle should contain meta data profile and version i" + - "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 47 testRunner.And("if the response bundle contains a practitioner resource it should contain meta da" + - "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 48 testRunner.And("if the response bundle contains an organization resource it should contain meta d" + - "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 49 testRunner.And("the Bundle should be valid for patient \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 50 testRunner.And("check that the bundle does not contain any duplicate resources", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 51 testRunner.And("check the response does not contain an operation outcome", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 52 testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 53 testRunner.And("the Practitioner Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 54 testRunner.And("the Organization Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 55 testRunner.And("I Check the Investigations List is Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 56 testRunner.And("The Structured List Does Not Include Not In Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 57 testRunner.And("I Check the DiagnosticReports are Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 58 testRunner.And("I Check the DiagnosticReports Do Not Include Not in Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 59 testRunner.And("I Check the Specimens are Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 60 testRunner.And("I Check the Specimens Do Not Include Not in Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 61 testRunner.And("I Check The Problems Secondary Problems List", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 62 testRunner.And("I Check The Problems Secondary Problems List Does Not Include Not In Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 63 testRunner.And("I Check The Problems Resources are Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 64 testRunner.And("I check The Problem Resources Do Not Include Not In Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 65 testRunner.And("Check a Problem is linked to DiagnosticReport and that it is also included", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 66 testRunner.And("I Check the Test report Filing is Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 67 testRunner.And("I Check the Test report Filing Do Not Include Not in Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 68 testRunner.And("the Bundle should contain \"2\" lists", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -231,76 +310,114 @@ public virtual void VerifyInvestigationsStructuredRecordForAPatientWithInvestiga [NUnit.Framework.DescriptionAttribute("Verify Investigations structured record for a Patient with DiagnosticReports Link" + "ed to ProcedureRequests")] [NUnit.Framework.CategoryAttribute("1.5.0-IncrementalAndRegression")] - public virtual void VerifyInvestigationsStructuredRecordForAPatientWithDiagnosticReportsLinkedToProcedureRequests() + public void VerifyInvestigationsStructuredRecordForAPatientWithDiagnosticReportsLinkedToProcedureRequests() { + string[] tagsOfScenario = new string[] { + "1.5.0-IncrementalAndRegression"}; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Verify Investigations structured record for a Patient with DiagnosticReports Link" + - "ed to ProcedureRequests", null, new string[] { - "1.5.0-IncrementalAndRegression"}); + "ed to ProcedureRequests", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 72 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 73 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 74 testRunner.And("I add an NHS Number parameter for \"patient3\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 75 testRunner.And("I add the Investigations parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 76 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 77 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 78 testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 79 testRunner.And("the response meta profile should be for \"structured\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 80 testRunner.And("the patient resource in the bundle should contain meta data profile and version i" + - "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 81 testRunner.And("if the response bundle contains a practitioner resource it should contain meta da" + - "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 82 testRunner.And("if the response bundle contains an organization resource it should contain meta d" + - "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 83 testRunner.And("the Bundle should be valid for patient \"patient3\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 84 testRunner.And("check that the bundle does not contain any duplicate resources", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 85 testRunner.And("check the response does not contain an operation outcome", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 86 testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 87 testRunner.And("the Practitioner Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 88 testRunner.And("the Organization Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 89 testRunner.And("the Bundle should contain \"1\" lists", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 90 testRunner.And("I Check the Investigations List is Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 91 testRunner.And("The Structured List Does Not Include Not In Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 92 testRunner.And("I Check the DiagnosticReports are Valid and Linked to a ProcedureRequest", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 93 testRunner.And("I Check the DiagnosticReports Do Not Include Not in Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 94 testRunner.And("I Check the ProcedureRequests are Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 95 testRunner.And("I Check the ProcedureRequests Do Not Include Not in Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 96 testRunner.And("I Check the Specimens are Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 97 testRunner.And("I Check the Specimens Do Not Include Not in Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 98 testRunner.And("I Check the Test report Filing is Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 99 testRunner.And("I Check the Test report Filing Do Not Include Not in Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 100 testRunner.And("I Check There is No Problems Secondary Problems List", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 101 testRunner.And("I Check No Problem Resources are Included", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -308,50 +425,75 @@ public virtual void VerifyInvestigationsStructuredRecordForAPatientWithDiagnosti [NUnit.Framework.DescriptionAttribute("Retrieve Investigations structured record for a patient that has no Investigation" + "s data")] [NUnit.Framework.CategoryAttribute("1.5.0-IncrementalAndRegression")] - public virtual void RetrieveInvestigationsStructuredRecordForAPatientThatHasNoInvestigationsData() + public void RetrieveInvestigationsStructuredRecordForAPatientThatHasNoInvestigationsData() { + string[] tagsOfScenario = new string[] { + "1.5.0-IncrementalAndRegression"}; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve Investigations structured record for a patient that has no Investigation" + - "s data", null, new string[] { - "1.5.0-IncrementalAndRegression"}); + "s data", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 105 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 106 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 107 testRunner.And("I add an NHS Number parameter for \"patient4\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 108 testRunner.And("I add the Investigations parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 109 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 110 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 111 testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 112 testRunner.And("the response meta profile should be for \"structured\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 113 testRunner.And("the patient resource in the bundle should contain meta data profile and version i" + - "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 114 testRunner.And("if the response bundle contains a practitioner resource it should contain meta da" + - "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 115 testRunner.And("if the response bundle contains an organization resource it should contain meta d" + - "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 116 testRunner.And("the Bundle should be valid for patient \"patient4\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 117 testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 118 testRunner.And("the Practitioner Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 119 testRunner.And("the Organization Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 120 testRunner.And("check structured list contains a note and emptyReason when no data in section", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 121 testRunner.And("check the response does not contain an operation outcome", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -359,27 +501,42 @@ public virtual void RetrieveInvestigationsStructuredRecordForAPatientThatHasNoIn [NUnit.Framework.DescriptionAttribute("Retrieve the Investigations data structured record with period dates equal to cur" + "rent date expected success and no operation outcome")] [NUnit.Framework.CategoryAttribute("1.5.0-IncrementalAndRegression")] - public virtual void RetrieveTheInvestigationsDataStructuredRecordWithPeriodDatesEqualToCurrentDateExpectedSuccessAndNoOperationOutcome() + public void RetrieveTheInvestigationsDataStructuredRecordWithPeriodDatesEqualToCurrentDateExpectedSuccessAndNoOperationOutcome() { + string[] tagsOfScenario = new string[] { + "1.5.0-IncrementalAndRegression"}; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the Investigations data structured record with period dates equal to cur" + - "rent date expected success and no operation outcome", null, new string[] { - "1.5.0-IncrementalAndRegression"}); + "rent date expected success and no operation outcome", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 124 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 125 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 126 testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 127 testRunner.And("I add the investigations data parameter with current date", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 128 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 129 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 130 testRunner.And("check the response does not contain an operation outcome", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -387,27 +544,42 @@ public virtual void RetrieveTheInvestigationsDataStructuredRecordWithPeriodDates [NUnit.Framework.DescriptionAttribute("Retrieve Investigations data structured record section for an invalid Identifier " + "System")] [NUnit.Framework.CategoryAttribute("1.5.0-IncrementalAndRegression")] - public virtual void RetrieveInvestigationsDataStructuredRecordSectionForAnInvalidIdentifierSystem() + public void RetrieveInvestigationsDataStructuredRecordSectionForAnInvalidIdentifierSystem() { + string[] tagsOfScenario = new string[] { + "1.5.0-IncrementalAndRegression"}; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve Investigations data structured record section for an invalid Identifier " + - "System", null, new string[] { - "1.5.0-IncrementalAndRegression"}); + "System", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 133 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 134 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 135 testRunner.And("I add an NHS Number parameter for \"patient1\" with an invalid Identifier System", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 136 testRunner.And("I add the Investigations parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 137 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 138 testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 139 testRunner.And("the response should be a OperationOutcome resource", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -415,27 +587,42 @@ public virtual void RetrieveInvestigationsDataStructuredRecordSectionForAnInvali [NUnit.Framework.DescriptionAttribute("Retrieve Investigations data structured record section for an empty Identifier Sy" + "stem")] [NUnit.Framework.CategoryAttribute("1.5.0-IncrementalAndRegression")] - public virtual void RetrieveInvestigationsDataStructuredRecordSectionForAnEmptyIdentifierSystem() + public void RetrieveInvestigationsDataStructuredRecordSectionForAnEmptyIdentifierSystem() { + string[] tagsOfScenario = new string[] { + "1.5.0-IncrementalAndRegression"}; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve Investigations data structured record section for an empty Identifier Sy" + - "stem", null, new string[] { - "1.5.0-IncrementalAndRegression"}); + "stem", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 142 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 143 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 144 testRunner.And("I add an NHS Number parameter for \"patient1\" with an empty Identifier System", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 145 testRunner.And("I add the Investigations parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 146 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 147 testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 148 testRunner.And("the response should be a OperationOutcome resource", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -443,30 +630,46 @@ public virtual void RetrieveInvestigationsDataStructuredRecordSectionForAnEmptyI [NUnit.Framework.DescriptionAttribute("Retrieve Investigations data structured record for a patient that has sensitive f" + "lag")] [NUnit.Framework.CategoryAttribute("1.5.0-IncrementalAndRegression")] - public virtual void RetrieveInvestigationsDataStructuredRecordForAPatientThatHasSensitiveFlag() + public void RetrieveInvestigationsDataStructuredRecordForAPatientThatHasSensitiveFlag() { + string[] tagsOfScenario = new string[] { + "1.5.0-IncrementalAndRegression"}; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve Investigations data structured record for a patient that has sensitive f" + - "lag", null, new string[] { - "1.5.0-IncrementalAndRegression"}); + "lag", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 151 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 152 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 153 testRunner.And("I add an NHS Number parameter for \"patient9\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 154 testRunner.And("I add the Investigations parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 155 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 156 testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 157 testRunner.And("the response status code should be \"404\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 158 testRunner.And("the response should be a OperationOutcome resource with error code \"PATIENT_NOT_F" + - "OUND\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "OUND\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -482,7 +685,7 @@ public virtual void RetrieveInvestigationsDataStructuredRecordForAPatientThatHas [NUnit.Framework.TestCaseAttribute("2014-02-01", "2014-08", "includeInvestigations", "investigationSearchPeriod", null)] [NUnit.Framework.TestCaseAttribute("2015-10-01", "2016-11-23T11:08:32", "includeInvestigations", "investigationSearchPeriod", null)] [NUnit.Framework.TestCaseAttribute("2014-01-01", "2015-10-23T11:08:32+00:00", "includeInvestigations", "investigationSearchPeriod", null)] - public virtual void RetrieveTheInvestigationsDataStructuredRecordWithInvalidDatesExpectedFailure(string startDate, string endDate, string parameter, string partParameter, string[] exampleTags) + public void RetrieveTheInvestigationsDataStructuredRecordWithInvalidDatesExpectedFailure(string startDate, string endDate, string parameter, string partParameter, string[] exampleTags) { string[] @__tags = new string[] { "1.5.0-IncrementalAndRegression"}; @@ -490,27 +693,47 @@ public virtual void RetrieveTheInvestigationsDataStructuredRecordWithInvalidDate { @__tags = System.Linq.Enumerable.ToArray(System.Linq.Enumerable.Concat(@__tags, exampleTags)); } + string[] tagsOfScenario = @__tags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("startDate", startDate); + argumentsOfScenario.Add("endDate", endDate); + argumentsOfScenario.Add("Parameter", parameter); + argumentsOfScenario.Add("PartParameter", partParameter); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the Investigations data structured record with invalid dates expected fa" + - "ilure", null, @__tags); + "ilure", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 161 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 162 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 163 testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 164 testRunner.And(string.Format("I add the investigations data parameter with date permutations \"{0}\" and \"{1}\"", startDate, endDate), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 165 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 166 testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 167 testRunner.And("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 168 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_PARAM" + - "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -518,30 +741,46 @@ public virtual void RetrieveTheInvestigationsDataStructuredRecordWithInvalidDate [NUnit.Framework.DescriptionAttribute("Retrieve the Investigations data structured record with investigationSearchPeriod" + " in future expected failure")] [NUnit.Framework.CategoryAttribute("1.5.0-IncrementalAndRegression")] - public virtual void RetrieveTheInvestigationsDataStructuredRecordWithInvestigationSearchPeriodInFutureExpectedFailure() + public void RetrieveTheInvestigationsDataStructuredRecordWithInvestigationSearchPeriodInFutureExpectedFailure() { + string[] tagsOfScenario = new string[] { + "1.5.0-IncrementalAndRegression"}; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the Investigations data structured record with investigationSearchPeriod" + - " in future expected failure", null, new string[] { - "1.5.0-IncrementalAndRegression"}); + " in future expected failure", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 181 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 182 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 183 testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 184 testRunner.And("I add the investigations data parameter with future start date", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 185 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 186 testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 187 testRunner.And("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 188 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_PARAM" + - "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -549,30 +788,46 @@ public virtual void RetrieveTheInvestigationsDataStructuredRecordWithInvestigati [NUnit.Framework.DescriptionAttribute("Retrieve the Investigations data structured record startDate after endDate expect" + "ed failure")] [NUnit.Framework.CategoryAttribute("1.5.0-IncrementalAndRegression")] - public virtual void RetrieveTheInvestigationsDataStructuredRecordStartDateAfterEndDateExpectedFailure() + public void RetrieveTheInvestigationsDataStructuredRecordStartDateAfterEndDateExpectedFailure() { + string[] tagsOfScenario = new string[] { + "1.5.0-IncrementalAndRegression"}; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the Investigations data structured record startDate after endDate expect" + - "ed failure", null, new string[] { - "1.5.0-IncrementalAndRegression"}); + "ed failure", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 191 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 192 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 193 testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 194 testRunner.And("I add the investigations data parameter start date after endDate", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 195 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 196 testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 197 testRunner.Then("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 198 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_PARAM" + - "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } } diff --git a/GPConnect.Provider.AcceptanceTests/StructuredMedications.feature.cs b/GPConnect.Provider.AcceptanceTests/StructuredMedications.feature.cs index 0480ebb8..04aca3fc 100644 --- a/GPConnect.Provider.AcceptanceTests/StructuredMedications.feature.cs +++ b/GPConnect.Provider.AcceptanceTests/StructuredMedications.feature.cs @@ -1,8 +1,8 @@ -// ------------------------------------------------------------------------------ +// ------------------------------------------------------------------------------ // -// This code was generated by SpecFlow (http://www.specflow.org/). -// SpecFlow Version:3.0.0.0 -// SpecFlow Generator Version:3.0.0.0 +// This code was generated by SpecFlow (https://www.specflow.org/). +// SpecFlow Version:3.9.0.0 +// SpecFlow Generator Version:3.9.0.0 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. @@ -13,9 +13,11 @@ namespace GPConnect.Provider.AcceptanceTests { using TechTalk.SpecFlow; + using System; + using System.Linq; - [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "3.0.0.0")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "3.9.0.0")] [System.Runtime.CompilerServices.CompilerGeneratedAttribute()] [NUnit.Framework.TestFixtureAttribute()] [NUnit.Framework.DescriptionAttribute("StructuredMedications")] @@ -27,6 +29,11 @@ public partial class StructuredMedicationsFeature private TechTalk.SpecFlow.ITestRunner testRunner; + private static string[] featureTags = new string[] { + "Structured", + "StructuredMedications", + "1.5.0-Full-Pack"}; + #line 1 "StructuredMedications.feature" #line hidden @@ -34,10 +41,7 @@ public partial class StructuredMedicationsFeature public virtual void FeatureSetup() { testRunner = TechTalk.SpecFlow.TestRunnerManager.GetTestRunner(); - TechTalk.SpecFlow.FeatureInfo featureInfo = new TechTalk.SpecFlow.FeatureInfo(new System.Globalization.CultureInfo("en-US"), "StructuredMedications", null, ProgrammingLanguage.CSharp, new string[] { - "Structured", - "StructuredMedications", - "1.5.0-Full-Pack"}); + TechTalk.SpecFlow.FeatureInfo featureInfo = new TechTalk.SpecFlow.FeatureInfo(new System.Globalization.CultureInfo("en-US"), "", "StructuredMedications", null, ProgrammingLanguage.CSharp, featureTags); testRunner.OnFeatureStart(featureInfo); } @@ -49,28 +53,28 @@ public virtual void FeatureTearDown() } [NUnit.Framework.SetUpAttribute()] - public virtual void TestInitialize() + public void TestInitialize() { } [NUnit.Framework.TearDownAttribute()] - public virtual void ScenarioTearDown() + public void TestTearDown() { testRunner.OnScenarioEnd(); } - public virtual void ScenarioInitialize(TechTalk.SpecFlow.ScenarioInfo scenarioInfo) + public void ScenarioInitialize(TechTalk.SpecFlow.ScenarioInfo scenarioInfo) { testRunner.OnScenarioInitialize(scenarioInfo); testRunner.ScenarioContext.ScenarioContainer.RegisterInstanceAs(NUnit.Framework.TestContext.CurrentContext); } - public virtual void ScenarioStart() + public void ScenarioStart() { testRunner.OnScenarioStart(); } - public virtual void ScenarioCleanup() + public void ScenarioCleanup() { testRunner.CollectScenarioErrors(); } @@ -82,65 +86,99 @@ public virtual void ScenarioCleanup() [NUnit.Framework.TestCaseAttribute("patient5", null)] [NUnit.Framework.TestCaseAttribute("patient12", null)] [NUnit.Framework.TestCaseAttribute("patient16", null)] - public virtual void RetrieveTheMedicationStructuredRecordSectionForAPatientWithNoProblemsAndIncludingPrescriptionIssues(string patient, string[] exampleTags) + public void RetrieveTheMedicationStructuredRecordSectionForAPatientWithNoProblemsAndIncludingPrescriptionIssues(string patient, string[] exampleTags) { + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("Patient", patient); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the medication structured record section for a patient with no problems " + - "and including prescription issues", null, exampleTags); + "and including prescription issues", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 8 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 9 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 10 testRunner.And(string.Format("I add an NHS Number parameter for \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 11 testRunner.And("I add the medication parameter with includePrescriptionIssues set to \"true\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 12 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 13 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 14 testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 15 testRunner.And("the response meta profile should be for \"structured\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 16 testRunner.And("the patient resource in the bundle should contain meta data profile and version i" + - "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 17 testRunner.And("if the response bundle contains a practitioner resource it should contain meta da" + - "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 18 testRunner.And("if the response bundle contains an organization resource it should contain meta d" + - "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 19 testRunner.And(string.Format("the Bundle should be valid for patient \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 20 testRunner.And("check that the bundle does not contain any duplicate resources", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 21 testRunner.And("the Bundle should contain \"1\" lists", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 22 testRunner.And("the Medications should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 23 testRunner.And("the Medication Statements should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 24 testRunner.And("the Medication Requests should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 25 testRunner.And("the List of MedicationStatements should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 26 testRunner.And("there should only be one order request for acute prescriptions", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 27 testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 28 testRunner.And("the Practitioner Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 29 testRunner.And("the Organization Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 30 testRunner.And("check the response does not contain an operation outcome", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 31 testRunner.And("I Check There is No Problems Secondary Problems List", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 32 testRunner.And("I Check No Problem Resources are Included", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -148,80 +186,120 @@ public virtual void RetrieveTheMedicationStructuredRecordSectionForAPatientWithN [NUnit.Framework.DescriptionAttribute("Retrieve the medication structured record section for a patient with problems lin" + "ked and including prescription issues")] [NUnit.Framework.TestCaseAttribute("patient2", null)] - public virtual void RetrieveTheMedicationStructuredRecordSectionForAPatientWithProblemsLinkedAndIncludingPrescriptionIssues(string patient, string[] exampleTags) + public void RetrieveTheMedicationStructuredRecordSectionForAPatientWithProblemsLinkedAndIncludingPrescriptionIssues(string patient, string[] exampleTags) { + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("Patient", patient); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the medication structured record section for a patient with problems lin" + - "ked and including prescription issues", null, exampleTags); + "ked and including prescription issues", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 42 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 43 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 44 testRunner.And(string.Format("I add an NHS Number parameter for \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 45 testRunner.And("I add the medication parameter with includePrescriptionIssues set to \"true\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 46 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 47 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 48 testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 49 testRunner.And("the response meta profile should be for \"structured\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 50 testRunner.And("the patient resource in the bundle should contain meta data profile and version i" + - "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 51 testRunner.And("if the response bundle contains a practitioner resource it should contain meta da" + - "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 52 testRunner.And("if the response bundle contains an organization resource it should contain meta d" + - "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 53 testRunner.And(string.Format("the Bundle should be valid for patient \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 54 testRunner.And("check that the bundle does not contain any duplicate resources", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 55 testRunner.And("the Bundle should contain \"2\" lists", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 56 testRunner.And("the Medications should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 57 testRunner.And("the Medication Statements should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 58 testRunner.And("the Medication Requests should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 59 testRunner.And("the List of MedicationStatements should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 60 testRunner.And("there should only be one order request for acute prescriptions", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 61 testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 62 testRunner.And("the Practitioner Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 63 testRunner.And("the Organization Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 64 testRunner.And("check the response does not contain an operation outcome", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 65 testRunner.And("I Check The Problems Secondary Problems List", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 66 testRunner.And("I Check The Problems Secondary Problems List Does Not Include Not In Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 67 testRunner.And("I Check The Problems Resources are Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 68 testRunner.And("I check The Problem Resources Do Not Include Not In Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 69 testRunner.And("Check a Problem is Linked to a MedicationRequest resource that has been included " + - "in the response", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "in the response", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 70 testRunner.And("Check the MedicationRequests have a link to a medication that has been included i" + - "n response", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "n response", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 71 testRunner.And("Check there is a MedicationStatement resource that is linked to the MedicationReq" + - "uest and Medication", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "uest and Medication", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 72 testRunner.And("Check the Medications List resource has been included in response", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -231,65 +309,99 @@ public virtual void RetrieveTheMedicationStructuredRecordSectionForAPatientWithP [NUnit.Framework.TestCaseAttribute("patient3", null)] [NUnit.Framework.TestCaseAttribute("patient5", null)] [NUnit.Framework.TestCaseAttribute("patient12", null)] - public virtual void RetrieveTheMedicationStructuredRecordForAPatientWithNoProblemsAndExcludingPrescriptionIssues(string patient, string[] exampleTags) + public void RetrieveTheMedicationStructuredRecordForAPatientWithNoProblemsAndExcludingPrescriptionIssues(string patient, string[] exampleTags) { + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("Patient", patient); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the medication structured record for a patient with no problems and excl" + - "uding prescription issues", null, exampleTags); + "uding prescription issues", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 78 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 79 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 80 testRunner.And(string.Format("I add an NHS Number parameter for \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 81 testRunner.And("I add the medication parameter with includePrescriptionIssues set to \"false\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 82 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 83 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 84 testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 85 testRunner.And("the response meta profile should be for \"structured\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 86 testRunner.And("the patient resource in the bundle should contain meta data profile and version i" + - "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 87 testRunner.And("if the response bundle contains a practitioner resource it should contain meta da" + - "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 88 testRunner.And("if the response bundle contains an organization resource it should contain meta d" + - "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 89 testRunner.And(string.Format("the Bundle should be valid for patient \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 90 testRunner.And("check that the bundle does not contain any duplicate resources", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 91 testRunner.And("the Bundle should contain \"1\" lists", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 92 testRunner.And("the Medications should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 93 testRunner.And("the Medication Statements should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 94 testRunner.And("the Medication Requests should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 95 testRunner.And("the List of MedicationStatements should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 96 testRunner.And("the Medication Requests should not contain any issues", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 97 testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 98 testRunner.And("the Practitioner Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 99 testRunner.And("the Organization Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 100 testRunner.And("check the response does not contain an operation outcome", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 101 testRunner.And("I Check There is No Problems Secondary Problems List", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 102 testRunner.And("I Check No Problem Resources are Included", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -297,184 +409,277 @@ public virtual void RetrieveTheMedicationStructuredRecordForAPatientWithNoProble [NUnit.Framework.DescriptionAttribute("Retrieve the medication structured record for a patient with problems linked and " + "excluding prescription issues")] [NUnit.Framework.TestCaseAttribute("patient2", null)] - public virtual void RetrieveTheMedicationStructuredRecordForAPatientWithProblemsLinkedAndExcludingPrescriptionIssues(string patient, string[] exampleTags) + public void RetrieveTheMedicationStructuredRecordForAPatientWithProblemsLinkedAndExcludingPrescriptionIssues(string patient, string[] exampleTags) { + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("Patient", patient); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the medication structured record for a patient with problems linked and " + - "excluding prescription issues", null, exampleTags); + "excluding prescription issues", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 110 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 111 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 112 testRunner.And(string.Format("I add an NHS Number parameter for \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 113 testRunner.And("I add the medication parameter with includePrescriptionIssues set to \"false\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 114 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 115 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 116 testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 117 testRunner.And("the response meta profile should be for \"structured\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 118 testRunner.And("the patient resource in the bundle should contain meta data profile and version i" + - "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 119 testRunner.And("if the response bundle contains a practitioner resource it should contain meta da" + - "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 120 testRunner.And("if the response bundle contains an organization resource it should contain meta d" + - "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 121 testRunner.And(string.Format("the Bundle should be valid for patient \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 122 testRunner.And("check that the bundle does not contain any duplicate resources", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 123 testRunner.And("the Bundle should contain \"2\" lists", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 124 testRunner.And("the Medications should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 125 testRunner.And("the Medication Statements should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 126 testRunner.And("the Medication Requests should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 127 testRunner.And("the List of MedicationStatements should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 128 testRunner.And("the Medication Requests should not contain any issues", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 129 testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 130 testRunner.And("the Practitioner Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 131 testRunner.And("the Organization Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 132 testRunner.And("check the response does not contain an operation outcome", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 133 testRunner.And("I Check The Problems Secondary Problems List", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 134 testRunner.And("I Check The Problems Secondary Problems List Does Not Include Not In Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 135 testRunner.And("I Check The Problems Resources are Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 136 testRunner.And("I check The Problem Resources Do Not Include Not In Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 137 testRunner.And("Check a Problem is Linked to a MedicationRequest resource that has been included " + - "in the response", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "in the response", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 138 testRunner.And("Check the MedicationRequests have a link to a medication that has been included i" + - "n response", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "n response", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 139 testRunner.And("Check there is a MedicationStatement resource that is linked to the MedicationReq" + - "uest and Medication", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "uest and Medication", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 140 testRunner.And("Check the Medications List resource has been included in response", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Retrieve the medication structured record section for a patient with no medicatio" + "ns including issues")] - public virtual void RetrieveTheMedicationStructuredRecordSectionForAPatientWithNoMedicationsIncludingIssues() + public void RetrieveTheMedicationStructuredRecordSectionForAPatientWithNoMedicationsIncludingIssues() { + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the medication structured record section for a patient with no medicatio" + - "ns including issues", null, ((string[])(null))); + "ns including issues", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 145 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 146 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 147 testRunner.And("I add an NHS Number parameter for \"patient4\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 148 testRunner.And("I add the medication parameter with includePrescriptionIssues set to \"true\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 149 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 150 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 151 testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 152 testRunner.And("the response meta profile should be for \"structured\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 153 testRunner.And("the patient resource in the bundle should contain meta data profile and version i" + - "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 154 testRunner.And("if the response bundle contains a practitioner resource it should contain meta da" + - "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 155 testRunner.And("if the response bundle contains an organization resource it should contain meta d" + - "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 156 testRunner.And("the Bundle should be valid for patient \"patient4\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 157 testRunner.And("the Bundle should contain \"1\" lists", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 158 testRunner.And("the List of MedicationStatements should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 159 testRunner.And("the Medications should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 160 testRunner.And("the Medication Statements should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 161 testRunner.And("the Medication Requests should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 162 testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 163 testRunner.And("the Practitioner Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 164 testRunner.And("the Organization Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Retrieve the medication structured record section for a patient with no medicatio" + "ns")] - public virtual void RetrieveTheMedicationStructuredRecordSectionForAPatientWithNoMedications() + public void RetrieveTheMedicationStructuredRecordSectionForAPatientWithNoMedications() { + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the medication structured record section for a patient with no medicatio" + - "ns", null, ((string[])(null))); + "ns", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 166 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 167 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 168 testRunner.And("I add an NHS Number parameter for \"patient4\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 169 testRunner.And("I add the medication parameter with includePrescriptionIssues set to \"false\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 170 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 171 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 172 testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 173 testRunner.And("the response meta profile should be for \"structured\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 174 testRunner.And("the patient resource in the bundle should contain meta data profile and version i" + - "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 175 testRunner.And("if the response bundle contains a practitioner resource it should contain meta da" + - "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 176 testRunner.And("if the response bundle contains an organization resource it should contain meta d" + - "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 177 testRunner.And("the Bundle should be valid for patient \"patient4\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 178 testRunner.And("the Bundle should contain \"1\" lists", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 179 testRunner.And("the List of MedicationStatements should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 180 testRunner.And("the Medications should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 181 testRunner.And("the Medication Statements should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 182 testRunner.And("the Medication Requests should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -485,269 +690,422 @@ public virtual void RetrieveTheMedicationStructuredRecordSectionForAPatientWithN [NUnit.Framework.TestCaseAttribute("patient3", null)] [NUnit.Framework.TestCaseAttribute("patient5", null)] [NUnit.Framework.TestCaseAttribute("patient12", null)] - public virtual void RetrieveTheStructuredRecordSectionForAPatientWithoutTheMedicationsParameter(string patient, string[] exampleTags) + public void RetrieveTheStructuredRecordSectionForAPatientWithoutTheMedicationsParameter(string patient, string[] exampleTags) { + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("Patient", patient); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the structured record section for a patient without the medications para" + - "meter", null, exampleTags); + "meter", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 184 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 185 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 186 testRunner.And(string.Format("I add an NHS Number parameter for \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 187 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 188 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 189 testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 190 testRunner.And("the response meta profile should be for \"structured\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 191 testRunner.And("the patient resource in the bundle should contain meta data profile and version i" + - "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 192 testRunner.And("if the response bundle contains a practitioner resource it should contain meta da" + - "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 193 testRunner.And("if the response bundle contains an organization resource it should contain meta d" + - "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 194 testRunner.And(string.Format("the Bundle should be valid for patient \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 195 testRunner.And("the response bundle should not contain any medications data", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Retrieve the medication structured record section for a patient without the inclu" + "dePrescriptionIssue parameter")] - public virtual void RetrieveTheMedicationStructuredRecordSectionForAPatientWithoutTheIncludePrescriptionIssueParameter() + public void RetrieveTheMedicationStructuredRecordSectionForAPatientWithoutTheIncludePrescriptionIssueParameter() { + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the medication structured record section for a patient without the inclu" + - "dePrescriptionIssue parameter", null, ((string[])(null))); + "dePrescriptionIssue parameter", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 205 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 206 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 207 testRunner.And("I add an NHS Number parameter for \"patient1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 208 testRunner.And("I add the medications parameter without mandatory partParameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 209 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 210 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 211 testRunner.And("the response meta profile should be for \"structured\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Verify that when the medication parameter is labelled incorrectly with correct ma" + "ndatory partParameter returns success")] - public virtual void VerifyThatWhenTheMedicationParameterIsLabelledIncorrectlyWithCorrectMandatoryPartParameterReturnsSuccess() + public void VerifyThatWhenTheMedicationParameterIsLabelledIncorrectlyWithCorrectMandatoryPartParameterReturnsSuccess() { + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Verify that when the medication parameter is labelled incorrectly with correct ma" + - "ndatory partParameter returns success", null, ((string[])(null))); + "ndatory partParameter returns success", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 216 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 217 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 218 testRunner.And("I add an NHS Number parameter for \"patient1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 219 testRunner.And("I add an incorrectly named medication parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 220 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 221 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 222 testRunner.And("Check the operation outcome returns the correct text and diagnotics \"includeInval" + - "idMedications\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "idMedications\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 223 testRunner.And("Check the number of issues in the operation outcome \"1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Retrieve the medication structured record section for an invalid NHS number")] - public virtual void RetrieveTheMedicationStructuredRecordSectionForAnInvalidNHSNumber() + public void RetrieveTheMedicationStructuredRecordSectionForAnInvalidNHSNumber() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the medication structured record section for an invalid NHS number", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the medication structured record section for an invalid NHS number", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 225 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 226 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 227 testRunner.And("I add an NHS Number parameter for an invalid NHS Number", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 228 testRunner.And("I add the medication parameter with includePrescriptionIssues set to \"false\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 229 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 230 testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 231 testRunner.And("the response should be a OperationOutcome resource", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Retrieve the medication structured record section for an empty NHS number")] - public virtual void RetrieveTheMedicationStructuredRecordSectionForAnEmptyNHSNumber() + public void RetrieveTheMedicationStructuredRecordSectionForAnEmptyNHSNumber() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the medication structured record section for an empty NHS number", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the medication structured record section for an empty NHS number", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 233 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 234 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 235 testRunner.And("I add an NHS Number parameter with an empty NHS Number", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 236 testRunner.And("I add the medication parameter with includePrescriptionIssues set to \"false\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 237 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 238 testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 239 testRunner.And("the response should be a OperationOutcome resource", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Retrieve the medication structured record section for an invalid Identifier Syste" + "m")] - public virtual void RetrieveTheMedicationStructuredRecordSectionForAnInvalidIdentifierSystem() + public void RetrieveTheMedicationStructuredRecordSectionForAnInvalidIdentifierSystem() { + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the medication structured record section for an invalid Identifier Syste" + - "m", null, ((string[])(null))); + "m", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 241 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 242 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 243 testRunner.And("I add an NHS Number parameter for \"patient1\" with an invalid Identifier System", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 244 testRunner.And("I add the medication parameter with includePrescriptionIssues set to \"false\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 245 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 246 testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 247 testRunner.And("the response should be a OperationOutcome resource", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Retrieve the medication structured record section for an empty Identifier System")] - public virtual void RetrieveTheMedicationStructuredRecordSectionForAnEmptyIdentifierSystem() + public void RetrieveTheMedicationStructuredRecordSectionForAnEmptyIdentifierSystem() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the medication structured record section for an empty Identifier System", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the medication structured record section for an empty Identifier System", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 249 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 250 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 251 testRunner.And("I add an NHS Number parameter for \"patient1\" with an empty Identifier System", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 252 testRunner.And("I add the medication parameter with includePrescriptionIssues set to \"false\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 253 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 254 testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 255 testRunner.And("the response should be a OperationOutcome resource", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Retrieve the medication structured record section for an invalid parameter type")] - public virtual void RetrieveTheMedicationStructuredRecordSectionForAnInvalidParameterType() + public void RetrieveTheMedicationStructuredRecordSectionForAnInvalidParameterType() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the medication structured record section for an invalid parameter type", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the medication structured record section for an invalid parameter type", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 259 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 260 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 261 testRunner.And("I add an NHS Number parameter for \"patient1\" using an invalid parameter type", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 262 testRunner.And("I add the medication parameter with includePrescriptionIssues set to \"false\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 263 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 264 testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 265 testRunner.And("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 266 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_PARAM" + - "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Retrieve the medication structured record section for a patient with a timePeriod" + "")] - public virtual void RetrieveTheMedicationStructuredRecordSectionForAPatientWithATimePeriod() + public void RetrieveTheMedicationStructuredRecordSectionForAPatientWithATimePeriod() { + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the medication structured record section for a patient with a timePeriod" + - "", null, ((string[])(null))); + "", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 268 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 269 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 270 testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 271 testRunner.And("I add the medications parameter to search from \"3\" years back", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 272 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 273 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 274 testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 275 testRunner.And("the response meta profile should be for \"structured\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 276 testRunner.And("the patient resource in the bundle should contain meta data profile and version i" + - "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 277 testRunner.And("if the response bundle contains a practitioner resource it should contain meta da" + - "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 278 testRunner.And("if the response bundle contains an organization resource it should contain meta d" + - "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 279 testRunner.And("the Bundle should be valid for patient \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 280 testRunner.And("the Medications should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 281 testRunner.And("the Medication Statements should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 282 testRunner.And("the Medication Requests should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 283 testRunner.And("the List of MedicationStatements should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 284 testRunner.And("the MedicationStatement EffectiveDate is Greater Than Search Date of \"3\" years ag" + - "o", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "o", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -762,215 +1120,338 @@ public virtual void RetrieveTheMedicationStructuredRecordSectionForAPatientWithA [NUnit.Framework.TestCaseAttribute("2014", null)] [NUnit.Framework.TestCaseAttribute("2014-02", null)] [NUnit.Framework.TestCaseAttribute("null", null)] - public virtual void RetrieveTheMedicationStructuredRecordSectionForAPatientWithInvalidDateValues(string startDate, string[] exampleTags) + public void RetrieveTheMedicationStructuredRecordSectionForAPatientWithInvalidDateValues(string startDate, string[] exampleTags) { + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("StartDate", startDate); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the medication structured record section for a patient with invalid date" + - " values", null, exampleTags); + " values", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 287 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 288 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 289 testRunner.And("I add an NHS Number parameter for \"patient1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 290 testRunner.And(string.Format("I set a medications period parameter start date to \"{0}\"", startDate), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 291 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 292 testRunner.Then("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 293 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_PARAM" + - "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Retrieve the medication structured record section for a patient with medication p" + "rescribed elsewhere")] - public virtual void RetrieveTheMedicationStructuredRecordSectionForAPatientWithMedicationPrescribedElsewhere() + public void RetrieveTheMedicationStructuredRecordSectionForAPatientWithMedicationPrescribedElsewhere() { + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the medication structured record section for a patient with medication p" + - "rescribed elsewhere", null, ((string[])(null))); + "rescribed elsewhere", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 305 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 306 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 307 testRunner.And("I add an NHS Number parameter for \"patient12\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 308 testRunner.And("I add the medication parameter with includePrescriptionIssues set to \"true\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 309 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 310 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 311 testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 312 testRunner.And("the response meta profile should be for \"structured\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 313 testRunner.And("the patient resource in the bundle should contain meta data profile and version i" + - "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 314 testRunner.And("if the response bundle contains a practitioner resource it should contain meta da" + - "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 315 testRunner.And("if the response bundle contains an organization resource it should contain meta d" + - "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 316 testRunner.And("the Bundle should be valid for patient \"patient12\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 317 testRunner.And("the Bundle should contain \"1\" lists", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 318 testRunner.And("the Medications should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 319 testRunner.And("the Medication Statements should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 320 testRunner.And("the Medication Requests should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 321 testRunner.And("the List of MedicationStatements should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 322 testRunner.And("the MedicationStatement for prescriptions prescribed elsewhere should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Check warning code is populated for a patient")] - public virtual void CheckWarningCodeIsPopulatedForAPatient() + public void CheckWarningCodeIsPopulatedForAPatient() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Check warning code is populated for a patient", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Check warning code is populated for a patient", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 324 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 325 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 326 testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 327 testRunner.And("I add the medication parameter with includePrescriptionIssues set to \"true\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 328 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 329 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 331 testRunner.And("the Bundle should contain \"2\" lists", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 333 testRunner.And("the Bundle should contain a list with the title \"Medications and medical devices\"" + - "", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 334 testRunner.And("the Lists are valid for a patient without allergies", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Structured record for a patient that is not in the database")] - public virtual void StructuredRecordForAPatientThatIsNotInTheDatabase() + public void StructuredRecordForAPatientThatIsNotInTheDatabase() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Structured record for a patient that is not in the database", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Structured record for a patient that is not in the database", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 339 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 340 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 341 testRunner.And("I add an NHS Number parameter for \"patientNotInSystem\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 342 testRunner.And("I add the medication parameter with includePrescriptionIssues set to \"true\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 343 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 344 testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 345 testRunner.And("the response status code should be \"404\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 346 testRunner.And("the response should be a OperationOutcome resource with error code \"PATIENT_NOT_F" + - "OUND\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "OUND\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Structured record for a patient that is deceased")] - public virtual void StructuredRecordForAPatientThatIsDeceased() + public void StructuredRecordForAPatientThatIsDeceased() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Structured record for a patient that is deceased", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Structured record for a patient that is deceased", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 351 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 352 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 353 testRunner.And("I add an NHS Number parameter for \"patient18\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 354 testRunner.And("I add the medication parameter with includePrescriptionIssues set to \"true\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 355 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 356 testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 357 testRunner.And("the response status code should be \"404\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 358 testRunner.And("the response should be a OperationOutcome resource with error code \"PATIENT_NOT_F" + - "OUND\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "OUND\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("structured record for a patient that has sensitive flag")] - public virtual void StructuredRecordForAPatientThatHasSensitiveFlag() + public void StructuredRecordForAPatientThatHasSensitiveFlag() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("structured record for a patient that has sensitive flag", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("structured record for a patient that has sensitive flag", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 360 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 361 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 362 testRunner.And("I add an NHS Number parameter for \"patient9\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 363 testRunner.And("I add the medication parameter with includePrescriptionIssues set to \"true\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 364 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 365 testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 366 testRunner.And("the response status code should be \"404\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 367 testRunner.And("the response should be a OperationOutcome resource with error code \"PATIENT_NOT_F" + - "OUND\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "OUND\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("structured record for a patient that has inactive flag")] - public virtual void StructuredRecordForAPatientThatHasInactiveFlag() + public void StructuredRecordForAPatientThatHasInactiveFlag() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("structured record for a patient that has inactive flag", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("structured record for a patient that has inactive flag", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 369 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 370 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 371 testRunner.And("I add an NHS Number parameter for \"patient21\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 372 testRunner.And("I add the medication parameter with includePrescriptionIssues set to \"true\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 373 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 374 testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 375 testRunner.Then("the response status code should be \"404\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 376 testRunner.And("the response should be a OperationOutcome resource with error code \"PATIENT_NOT_F" + - "OUND\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "OUND\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -978,85 +1459,136 @@ public virtual void StructuredRecordForAPatientThatHasInactiveFlag() [NUnit.Framework.DescriptionAttribute("Structured Medications Patient Has multiple Warnings and Associated Notes")] [NUnit.Framework.TestCaseAttribute("data-in-transit", "Patient record transfer from previous GP practice not yet complete; information r" + "ecorded before dd-Mmm-yyyy may be missing.", null)] - public virtual void StructuredMedicationsPatientHasMultipleWarningsAndAssociatedNotes(string warning, string note, string[] exampleTags) + public void StructuredMedicationsPatientHasMultipleWarningsAndAssociatedNotes(string warning, string note, string[] exampleTags) { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Structured Medications Patient Has multiple Warnings and Associated Notes", null, exampleTags); + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("Warning", warning); + argumentsOfScenario.Add("Note", note); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Structured Medications Patient Has multiple Warnings and Associated Notes", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 381 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 382 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 383 testRunner.And("I add an NHS Number parameter for \"patient13\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 384 testRunner.And("I add the medication parameter with includePrescriptionIssues set to \"true\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 385 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 386 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 387 testRunner.And("the Bundle should contain \"1\" lists", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 388 testRunner.And("the List of MedicationStatements should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 389 testRunner.And(string.Format("Check the list contains the following warning \"{0}\"", warning), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 390 testRunner.And(string.Format("Check the warning \"{0}\" has associated note \"{1}\"", warning, note), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Retrieve the medication structured record with startDate in the future - expected" + " failure")] - public virtual void RetrieveTheMedicationStructuredRecordWithStartDateInTheFuture_ExpectedFailure() + public void RetrieveTheMedicationStructuredRecordWithStartDateInTheFuture_ExpectedFailure() { + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the medication structured record with startDate in the future - expected" + - " failure", null, ((string[])(null))); + " failure", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 396 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 397 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 398 testRunner.And("I add an NHS Number parameter for \"patient1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 399 testRunner.And("I add the medications parameter with a start date greater than current date", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 400 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 401 testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 402 testRunner.Then("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 403 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_PARAM" + - "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Attempt to Retrieve medications using duplicate part param expect failure")] - public virtual void AttemptToRetrieveMedicationsUsingDuplicatePartParamExpectFailure() + public void AttemptToRetrieveMedicationsUsingDuplicatePartParamExpectFailure() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Attempt to Retrieve medications using duplicate part param expect failure", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Attempt to Retrieve medications using duplicate part param expect failure", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 407 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 408 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 409 testRunner.And("I add an NHS Number parameter for \"patient3\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 410 testRunner.And("I add a duplicate medication part parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 411 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 412 testRunner.Then("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 413 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_RESOU" + - "RCE\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "RCE\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } } diff --git a/GPConnect.Provider.AcceptanceTests/StructuredMultipleRequests.feature.cs b/GPConnect.Provider.AcceptanceTests/StructuredMultipleRequests.feature.cs index b3893c53..4d3bbca7 100644 --- a/GPConnect.Provider.AcceptanceTests/StructuredMultipleRequests.feature.cs +++ b/GPConnect.Provider.AcceptanceTests/StructuredMultipleRequests.feature.cs @@ -1,8 +1,8 @@ -// ------------------------------------------------------------------------------ +// ------------------------------------------------------------------------------ // -// This code was generated by SpecFlow (http://www.specflow.org/). -// SpecFlow Version:3.0.0.0 -// SpecFlow Generator Version:3.0.0.0 +// This code was generated by SpecFlow (https://www.specflow.org/). +// SpecFlow Version:3.9.0.0 +// SpecFlow Generator Version:3.9.0.0 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. @@ -13,9 +13,11 @@ namespace GPConnect.Provider.AcceptanceTests { using TechTalk.SpecFlow; + using System; + using System.Linq; - [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "3.0.0.0")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "3.9.0.0")] [System.Runtime.CompilerServices.CompilerGeneratedAttribute()] [NUnit.Framework.TestFixtureAttribute()] [NUnit.Framework.DescriptionAttribute("StructuredMultipleRequests")] @@ -27,6 +29,11 @@ public partial class StructuredMultipleRequestsFeature private TechTalk.SpecFlow.ITestRunner testRunner; + private static string[] featureTags = new string[] { + "Structured", + "StructuredMultipleRequests", + "1.5.0-Full-Pack"}; + #line 1 "StructuredMultipleRequests.feature" #line hidden @@ -34,10 +41,7 @@ public partial class StructuredMultipleRequestsFeature public virtual void FeatureSetup() { testRunner = TechTalk.SpecFlow.TestRunnerManager.GetTestRunner(); - TechTalk.SpecFlow.FeatureInfo featureInfo = new TechTalk.SpecFlow.FeatureInfo(new System.Globalization.CultureInfo("en-US"), "StructuredMultipleRequests", null, ProgrammingLanguage.CSharp, new string[] { - "Structured", - "StructuredMultipleRequests", - "1.5.0-Full-Pack"}); + TechTalk.SpecFlow.FeatureInfo featureInfo = new TechTalk.SpecFlow.FeatureInfo(new System.Globalization.CultureInfo("en-US"), "", "StructuredMultipleRequests", null, ProgrammingLanguage.CSharp, featureTags); testRunner.OnFeatureStart(featureInfo); } @@ -49,28 +53,28 @@ public virtual void FeatureTearDown() } [NUnit.Framework.SetUpAttribute()] - public virtual void TestInitialize() + public void TestInitialize() { } [NUnit.Framework.TearDownAttribute()] - public virtual void ScenarioTearDown() + public void TestTearDown() { testRunner.OnScenarioEnd(); } - public virtual void ScenarioInitialize(TechTalk.SpecFlow.ScenarioInfo scenarioInfo) + public void ScenarioInitialize(TechTalk.SpecFlow.ScenarioInfo scenarioInfo) { testRunner.OnScenarioInitialize(scenarioInfo); testRunner.ScenarioContext.ScenarioContainer.RegisterInstanceAs(NUnit.Framework.TestContext.CurrentContext); } - public virtual void ScenarioStart() + public void ScenarioStart() { testRunner.OnScenarioStart(); } - public virtual void ScenarioCleanup() + public void ScenarioCleanup() { testRunner.CollectScenarioErrors(); } @@ -78,736 +82,1150 @@ public virtual void ScenarioCleanup() [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Structured request with one parameter and no Clinical information expected succes" + "s")] - public virtual void StructuredRequestWithOneParameterAndNoClinicalInformationExpectedSuccess() + public void StructuredRequestWithOneParameterAndNoClinicalInformationExpectedSuccess() { + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Structured request with one parameter and no Clinical information expected succes" + - "s", null, ((string[])(null))); + "s", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 5 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 6 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 7 testRunner.And("I add an NHS Number parameter for \"patient1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 8 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 9 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 10 testRunner.And("the patient resource in the bundle should contain meta data profile and version i" + - "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Structured request sent with three parameters and no expected mandatory for inclu" + "deResolvedAllergies - expected failure")] - public virtual void StructuredRequestSentWithThreeParametersAndNoExpectedMandatoryForIncludeResolvedAllergies_ExpectedFailure() + public void StructuredRequestSentWithThreeParametersAndNoExpectedMandatoryForIncludeResolvedAllergies_ExpectedFailure() { + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Structured request sent with three parameters and no expected mandatory for inclu" + - "deResolvedAllergies - expected failure", null, ((string[])(null))); + "deResolvedAllergies - expected failure", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 13 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 14 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 15 testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 16 testRunner.And("I add the immunizations parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 17 testRunner.And("I add allergies parameter with invalid \"RubbishPartParameter\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 18 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 19 testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 20 testRunner.And("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 21 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_PARAM" + - "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Structured request sent with multiple valid parameters but not including the mand" + "atory part parameters - expected failure")] - public virtual void StructuredRequestSentWithMultipleValidParametersButNotIncludingTheMandatoryPartParameters_ExpectedFailure() + public void StructuredRequestSentWithMultipleValidParametersButNotIncludingTheMandatoryPartParameters_ExpectedFailure() { + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Structured request sent with multiple valid parameters but not including the mand" + - "atory part parameters - expected failure", null, ((string[])(null))); + "atory part parameters - expected failure", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 24 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 25 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 26 testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 27 testRunner.And("I add the immunizations parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 28 testRunner.And("I add allergies parameter with invalid \"RubbishPartParameter\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 29 testRunner.And("I add the medications parameter without mandatory partParameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 30 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 31 testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 32 testRunner.And("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 33 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_PARAM" + - "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Structured request sent with valid partParameter for includeMedications and witho" + "ut the mandatory partParameter for includeAllergies - expected failure")] - public virtual void StructuredRequestSentWithValidPartParameterForIncludeMedicationsAndWithoutTheMandatoryPartParameterForIncludeAllergies_ExpectedFailure() + public void StructuredRequestSentWithValidPartParameterForIncludeMedicationsAndWithoutTheMandatoryPartParameterForIncludeAllergies_ExpectedFailure() { + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Structured request sent with valid partParameter for includeMedications and witho" + - "ut the mandatory partParameter for includeAllergies - expected failure", null, ((string[])(null))); + "ut the mandatory partParameter for includeAllergies - expected failure", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 36 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 37 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 38 testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 39 testRunner.And("I add the immunizations parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 40 testRunner.And("I add the medication parameter with includePrescriptionIssues set to \"false\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 41 testRunner.And("I add the allergies parameter without mandatory part parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 42 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 43 testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 44 testRunner.And("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 45 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_PARAM" + - "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Structured request sent with valid partParameter for includeAllergies and without" + " includeMedications - expected success")] - public virtual void StructuredRequestSentWithValidPartParameterForIncludeAllergiesAndWithoutIncludeMedications_ExpectedSuccess() + public void StructuredRequestSentWithValidPartParameterForIncludeAllergiesAndWithoutIncludeMedications_ExpectedSuccess() { + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Structured request sent with valid partParameter for includeAllergies and without" + - " includeMedications - expected success", null, ((string[])(null))); + " includeMedications - expected success", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 49 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 50 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 51 testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 52 testRunner.And("I add the immunizations parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 53 testRunner.And("I add the allergies parameter with resolvedAllergies set to \"true\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 54 testRunner.And("I add the medications parameter without mandatory partParameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 55 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 56 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Structured request sent with two parameters and an invalid boolean part parameter" + " expected failure")] - public virtual void StructuredRequestSentWithTwoParametersAndAnInvalidBooleanPartParameterExpectedFailure() + public void StructuredRequestSentWithTwoParametersAndAnInvalidBooleanPartParameterExpectedFailure() { + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Structured request sent with two parameters and an invalid boolean part parameter" + - " expected failure", null, ((string[])(null))); + " expected failure", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 59 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 60 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 61 testRunner.And("I add an NHS Number parameter for \"patient1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 62 testRunner.And("I add allergies parameter with invalid part parameter boolean", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 63 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 64 testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 65 testRunner.And("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 66 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_PARAM" + - "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Structured request sent with multiple parameters and part parameters with expecte" + "d success including operation outcomes")] - public virtual void StructuredRequestSentWithMultipleParametersAndPartParametersWithExpectedSuccessIncludingOperationOutcomes() + public void StructuredRequestSentWithMultipleParametersAndPartParametersWithExpectedSuccessIncludingOperationOutcomes() { + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Structured request sent with multiple parameters and part parameters with expecte" + - "d success including operation outcomes", null, ((string[])(null))); + "d success including operation outcomes", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 69 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 70 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 71 testRunner.And("I add an NHS Number parameter for \"patient1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 72 testRunner.And("I add 3 unknown structured parameters including part parameters", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 73 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 74 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 75 testRunner.And("Check the operation outcome for each unsupported structured request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 76 testRunner.And("the patient resource in the bundle should contain meta data profile and version i" + - "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 77 testRunner.And("Check the number of issues in the operation outcome \"3\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Structured request sent with two invalid parameters expected failure")] - public virtual void StructuredRequestSentWithTwoInvalidParametersExpectedFailure() + public void StructuredRequestSentWithTwoInvalidParametersExpectedFailure() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Structured request sent with two invalid parameters expected failure", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Structured request sent with two invalid parameters expected failure", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 81 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 82 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 83 testRunner.And("I add an NHS Number parameter for \"patient1\" using an invalid parameter type", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 84 testRunner.And("I send an unknownConsultations parameterName containing valid part parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 85 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 86 testRunner.Then("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 87 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_PARAM" + - "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Structured request sent with multiple parameters expected success and no operatio" + "n outcome")] - public virtual void StructuredRequestSentWithMultipleParametersExpectedSuccessAndNoOperationOutcome() + public void StructuredRequestSentWithMultipleParametersExpectedSuccessAndNoOperationOutcome() { + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Structured request sent with multiple parameters expected success and no operatio" + - "n outcome", null, ((string[])(null))); + "n outcome", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 90 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 91 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 92 testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 93 testRunner.And("I add the medication parameter with includePrescriptionIssues set to \"true\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 94 testRunner.And("I add the allergies parameter with resolvedAllergies set to \"true\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 95 testRunner.And("I add the includeConsultations parameter only", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 96 testRunner.And("I add the immunizations parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 97 testRunner.And("I add the uncategorised data parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 98 testRunner.And("I add the Problems parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 99 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 100 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 101 testRunner.And("check that the bundle does not contain any duplicate resources", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 102 testRunner.And("the patient resource in the bundle should contain meta data profile and version i" + - "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 103 testRunner.And("check the response does not contain an operation outcome", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Structured request sent with invalid parameter combination 1 expected failure")] - public virtual void StructuredRequestSentWithInvalidParameterCombination1ExpectedFailure() + public void StructuredRequestSentWithInvalidParameterCombination1ExpectedFailure() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Structured request sent with invalid parameter combination 1 expected failure", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Structured request sent with invalid parameter combination 1 expected failure", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 108 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 109 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 110 testRunner.And("I add an NHS Number parameter for \"patient1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 111 testRunner.And("I add the includeConsultations parameter only", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 112 testRunner.And("I add the medications parameter to search from \"3\" years back", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 113 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 114 testRunner.Then("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 115 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_PARAM" + - "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Structured request sent with invalid parameter combination 2 expected failure")] - public virtual void StructuredRequestSentWithInvalidParameterCombination2ExpectedFailure() + public void StructuredRequestSentWithInvalidParameterCombination2ExpectedFailure() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Structured request sent with invalid parameter combination 2 expected failure", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Structured request sent with invalid parameter combination 2 expected failure", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 117 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 118 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 119 testRunner.And("I add an NHS Number parameter for \"patient1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 120 testRunner.And("I add the includeConsultations parameter only", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 121 testRunner.And("I add the uncategorised data parameter with date permutations \"2014\" and \"2015\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 122 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 123 testRunner.Then("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 124 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_PARAM" + - "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Structured request sent with invalid parameter combination 3 expected failure")] - public virtual void StructuredRequestSentWithInvalidParameterCombination3ExpectedFailure() + public void StructuredRequestSentWithInvalidParameterCombination3ExpectedFailure() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Structured request sent with invalid parameter combination 3 expected failure", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Structured request sent with invalid parameter combination 3 expected failure", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 126 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 127 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 128 testRunner.And("I add an NHS Number parameter for \"patient1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 129 testRunner.And("I add the includeConsultations parameter only", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 130 testRunner.And("I add the problems parameter with filterSignificance \"major\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 131 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 132 testRunner.Then("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 133 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_PARAM" + - "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Structured request sent with invalid parameter combination 4 expected failure")] - public virtual void StructuredRequestSentWithInvalidParameterCombination4ExpectedFailure() + public void StructuredRequestSentWithInvalidParameterCombination4ExpectedFailure() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Structured request sent with invalid parameter combination 4 expected failure", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Structured request sent with invalid parameter combination 4 expected failure", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 135 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 136 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 137 testRunner.And("I add an NHS Number parameter for \"patient1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 138 testRunner.And("I add the includeConsultations parameter only", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 139 testRunner.And("I add the problems parameter with filterStatus \"active\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 140 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 141 testRunner.Then("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 142 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_PARAM" + - "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Structured request sent with invalid parameter combination 5 expected failure")] - public virtual void StructuredRequestSentWithInvalidParameterCombination5ExpectedFailure() + public void StructuredRequestSentWithInvalidParameterCombination5ExpectedFailure() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Structured request sent with invalid parameter combination 5 expected failure", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Structured request sent with invalid parameter combination 5 expected failure", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 144 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 145 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 146 testRunner.And("I add an NHS Number parameter for \"patient1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 147 testRunner.And("I add the includeConsultations parameter only", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 148 testRunner.And("I add the Referrals data parameter with date permutations \"2014\" and \"2016\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 149 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 150 testRunner.Then("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 151 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_PARAM" + - "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Structured request sent with invalid parameter combination 6 expected failure")] - public virtual void StructuredRequestSentWithInvalidParameterCombination6ExpectedFailure() + public void StructuredRequestSentWithInvalidParameterCombination6ExpectedFailure() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Structured request sent with invalid parameter combination 6 expected failure", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Structured request sent with invalid parameter combination 6 expected failure", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 153 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 154 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 155 testRunner.And("I add an NHS Number parameter for \"patient1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 156 testRunner.And("I add the includeConsultations parameter only", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 157 testRunner.Then("I add the Diary Search date parameter with a past date \"20\" days ago", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 158 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 159 testRunner.Then("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 160 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_PARAM" + - "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Structured request sent with invalid parameter combination 8 expected failure")] - public virtual void StructuredRequestSentWithInvalidParameterCombination8ExpectedFailure() + public void StructuredRequestSentWithInvalidParameterCombination8ExpectedFailure() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Structured request sent with invalid parameter combination 8 expected failure", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Structured request sent with invalid parameter combination 8 expected failure", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 162 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 163 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 164 testRunner.And("I add an NHS Number parameter for \"patient1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 165 testRunner.And("I add the includeConsultations parameter only", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 166 testRunner.And("I add a Dissent immunizations part parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 167 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 168 testRunner.Then("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 169 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_PARAM" + - "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Structured request sent with invalid parameter combination 9 expected failure")] - public virtual void StructuredRequestSentWithInvalidParameterCombination9ExpectedFailure() + public void StructuredRequestSentWithInvalidParameterCombination9ExpectedFailure() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Structured request sent with invalid parameter combination 9 expected failure", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Structured request sent with invalid parameter combination 9 expected failure", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 171 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 172 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 173 testRunner.And("I add an NHS Number parameter for \"patient1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 174 testRunner.And("I add the Problems parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 175 testRunner.And("I add the medications parameter to search from \"3\" years back", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 176 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 177 testRunner.Then("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 178 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_PARAM" + - "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Structured request sent with invalid parameter combination 10 expected failure")] - public virtual void StructuredRequestSentWithInvalidParameterCombination10ExpectedFailure() + public void StructuredRequestSentWithInvalidParameterCombination10ExpectedFailure() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Structured request sent with invalid parameter combination 10 expected failure", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Structured request sent with invalid parameter combination 10 expected failure", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 180 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 181 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 182 testRunner.And("I add an NHS Number parameter for \"patient1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 183 testRunner.And("I add the Problems parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 184 testRunner.And("I add the uncategorised data parameter with date permutations \"2014\" and \"2015\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 185 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 186 testRunner.Then("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 187 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_PARAM" + - "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Structured request sent with invalid parameter combination 11 expected failure")] - public virtual void StructuredRequestSentWithInvalidParameterCombination11ExpectedFailure() + public void StructuredRequestSentWithInvalidParameterCombination11ExpectedFailure() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Structured request sent with invalid parameter combination 11 expected failure", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Structured request sent with invalid parameter combination 11 expected failure", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 189 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 190 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 191 testRunner.And("I add an NHS Number parameter for \"patient1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 192 testRunner.And("I add the Problems parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 193 testRunner.And("I add the Referrals data parameter with date permutations \"2014\" and \"2016\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 194 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 195 testRunner.Then("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 196 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_PARAM" + - "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Structured request sent with invalid parameter combination 12 expected failure")] - public virtual void StructuredRequestSentWithInvalidParameterCombination12ExpectedFailure() + public void StructuredRequestSentWithInvalidParameterCombination12ExpectedFailure() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Structured request sent with invalid parameter combination 12 expected failure", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Structured request sent with invalid parameter combination 12 expected failure", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 198 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 199 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 200 testRunner.And("I add an NHS Number parameter for \"patient1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 201 testRunner.And("I add the Problems parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 202 testRunner.Then("I add the Diary Search date parameter with a past date \"20\" days ago", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 203 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 204 testRunner.Then("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 205 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_PARAM" + - "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Structured request sent with invalid parameter combination 14 expected failure")] - public virtual void StructuredRequestSentWithInvalidParameterCombination14ExpectedFailure() + public void StructuredRequestSentWithInvalidParameterCombination14ExpectedFailure() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Structured request sent with invalid parameter combination 14 expected failure", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Structured request sent with invalid parameter combination 14 expected failure", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 207 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 208 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 209 testRunner.And("I add an NHS Number parameter for \"patient1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 210 testRunner.And("I add the Problems parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 211 testRunner.And("I add a Dissent immunizations part parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 212 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 213 testRunner.Then("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 214 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_PARAM" + - "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Structured request sent for consultations and problems expect success")] - public virtual void StructuredRequestSentForConsultationsAndProblemsExpectSuccess() + public void StructuredRequestSentForConsultationsAndProblemsExpectSuccess() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Structured request sent for consultations and problems expect success", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Structured request sent for consultations and problems expect success", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 217 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 218 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 219 testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 220 testRunner.And("I add the includeConsultations parameter only", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 221 testRunner.And("I add the Problems parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 222 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 223 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 224 testRunner.And("check that the bundle does not contain any duplicate resources", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 225 testRunner.And("the patient resource in the bundle should contain meta data profile and version i" + - "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 226 testRunner.And("check the response does not contain an operation outcome", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 228 testRunner.And("I Check the Consultations List is Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 229 testRunner.And("The Consultations List Does Not Include Not In Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 230 testRunner.And("I Check the Encounters are Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 231 testRunner.And("I Check the Encounters Do Not Include Not in Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 232 testRunner.And("I Check the Consultation Lists are Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 233 testRunner.And("I Check All The Consultation Lists Do Not Include Not In Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 234 testRunner.And("I Check the Topic Lists are Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 235 testRunner.And("I Check one Topic is linked to a problem", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 236 testRunner.And("I Check the Heading Lists are Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 237 testRunner.And("I Check The Problems Resources are Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 238 testRunner.And("I check The Problem Resources Do Not Include Not In Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 239 testRunner.And("I Check that a Topic or Heading is linked to an \"Observation\" and that is include" + - "d in response with a list", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "d in response with a list", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 240 testRunner.And("I Check that a Topic or Heading is linked to an \"MedicationRequest\" and that is i" + - "ncluded in response with a list", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ncluded in response with a list", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 241 testRunner.And("Check the MedicationRequests have a link to a medication that has been included i" + - "n response", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "n response", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 242 testRunner.And("Check there is a MedicationStatement resource that is linked to the MedicationReq" + - "uest and Medication", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "uest and Medication", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 243 testRunner.And("I Check the Consultation Medications Secondary List is Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 244 testRunner.And("I Check the Consultation Uncategorised Secondary List is Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 246 testRunner.And("I Check The Primary Problems List", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 247 testRunner.And("I Check The Primary Problems List Does Not Include Not In Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 248 testRunner.And("I Check The Problems Resources are Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 249 testRunner.And("I check The Problem Resources Do Not Include Not In Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 250 testRunner.And("Check a Problem is Linked to a MedicationRequest resource that has been included " + - "in the response", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "in the response", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 251 testRunner.And("Check the MedicationRequests have a link to a medication that has been included i" + - "n response", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "n response", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 252 testRunner.And("Check there is a MedicationStatement resource that is linked to the MedicationReq" + - "uest and Medication", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "uest and Medication", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 253 testRunner.And("Check a Problem is linked to an \"Observation\" that is also included in the respon" + - "se with its list", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "se with its list", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 254 testRunner.And("I Check the Problems Uncategorised Secondary List is Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 255 testRunner.And("I Check the Problems Medications Secondary List is Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Structured request sent for multiple clinical areas expect success")] - public virtual void StructuredRequestSentForMultipleClinicalAreasExpectSuccess() + public void StructuredRequestSentForMultipleClinicalAreasExpectSuccess() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Structured request sent for multiple clinical areas expect success", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Structured request sent for multiple clinical areas expect success", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 257 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 258 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 259 testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 260 testRunner.And("I add the allergies parameter with resolvedAllergies set to \"true\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 261 testRunner.And("I add the medication parameter with includePrescriptionIssues set to \"true\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 262 testRunner.And("I add the includeConsultations parameter only", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 263 testRunner.And("I add the Problems parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 264 testRunner.And("I add the immunizations parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 265 testRunner.And("I add the uncategorised data parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 266 testRunner.And("I add the Investigations parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 267 testRunner.And("I add the Referrals parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 268 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 269 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 270 testRunner.And("check that the bundle does not contain any duplicate resources", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 271 testRunner.And("the patient resource in the bundle should contain meta data profile and version i" + - "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 272 testRunner.And("check the response does not contain an operation outcome", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } } diff --git a/GPConnect.Provider.AcceptanceTests/StructuredProblems.feature.cs b/GPConnect.Provider.AcceptanceTests/StructuredProblems.feature.cs index ef7a21df..9c656842 100644 --- a/GPConnect.Provider.AcceptanceTests/StructuredProblems.feature.cs +++ b/GPConnect.Provider.AcceptanceTests/StructuredProblems.feature.cs @@ -1,8 +1,8 @@ -// ------------------------------------------------------------------------------ +// ------------------------------------------------------------------------------ // -// This code was generated by SpecFlow (http://www.specflow.org/). -// SpecFlow Version:3.0.0.0 -// SpecFlow Generator Version:3.0.0.0 +// This code was generated by SpecFlow (https://www.specflow.org/). +// SpecFlow Version:3.9.0.0 +// SpecFlow Generator Version:3.9.0.0 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. @@ -13,9 +13,11 @@ namespace GPConnect.Provider.AcceptanceTests { using TechTalk.SpecFlow; + using System; + using System.Linq; - [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "3.0.0.0")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "3.9.0.0")] [System.Runtime.CompilerServices.CompilerGeneratedAttribute()] [NUnit.Framework.TestFixtureAttribute()] [NUnit.Framework.DescriptionAttribute("StructuredProblems")] @@ -27,6 +29,11 @@ public partial class StructuredProblemsFeature private TechTalk.SpecFlow.ITestRunner testRunner; + private static string[] featureTags = new string[] { + "Structured", + "StructuredProblems", + "1.5.0-Full-Pack"}; + #line 1 "StructuredProblems.feature" #line hidden @@ -34,10 +41,7 @@ public partial class StructuredProblemsFeature public virtual void FeatureSetup() { testRunner = TechTalk.SpecFlow.TestRunnerManager.GetTestRunner(); - TechTalk.SpecFlow.FeatureInfo featureInfo = new TechTalk.SpecFlow.FeatureInfo(new System.Globalization.CultureInfo("en-US"), "StructuredProblems", null, ProgrammingLanguage.CSharp, new string[] { - "Structured", - "StructuredProblems", - "1.5.0-Full-Pack"}); + TechTalk.SpecFlow.FeatureInfo featureInfo = new TechTalk.SpecFlow.FeatureInfo(new System.Globalization.CultureInfo("en-US"), "", "StructuredProblems", null, ProgrammingLanguage.CSharp, featureTags); testRunner.OnFeatureStart(featureInfo); } @@ -49,160 +53,226 @@ public virtual void FeatureTearDown() } [NUnit.Framework.SetUpAttribute()] - public virtual void TestInitialize() + public void TestInitialize() { } [NUnit.Framework.TearDownAttribute()] - public virtual void ScenarioTearDown() + public void TestTearDown() { testRunner.OnScenarioEnd(); } - public virtual void ScenarioInitialize(TechTalk.SpecFlow.ScenarioInfo scenarioInfo) + public void ScenarioInitialize(TechTalk.SpecFlow.ScenarioInfo scenarioInfo) { testRunner.OnScenarioInitialize(scenarioInfo); testRunner.ScenarioContext.ScenarioContainer.RegisterInstanceAs(NUnit.Framework.TestContext.CurrentContext); } - public virtual void ScenarioStart() + public void ScenarioStart() { testRunner.OnScenarioStart(); } - public virtual void ScenarioCleanup() + public void ScenarioCleanup() { testRunner.CollectScenarioErrors(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Verify response for a Patient with Problems linked to some clinical items")] - public virtual void VerifyResponseForAPatientWithProblemsLinkedToSomeClinicalItems() + public void VerifyResponseForAPatientWithProblemsLinkedToSomeClinicalItems() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Verify response for a Patient with Problems linked to some clinical items", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Verify response for a Patient with Problems linked to some clinical items", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 8 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 9 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 10 testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 11 testRunner.And("I add the Problems parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 12 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 13 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 14 testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 15 testRunner.And("the response meta profile should be for \"structured\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 16 testRunner.And("the patient resource in the bundle should contain meta data profile and version i" + - "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 17 testRunner.And("if the response bundle contains a practitioner resource it should contain meta da" + - "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 18 testRunner.And("if the response bundle contains an organization resource it should contain meta d" + - "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 19 testRunner.And("the Bundle should be valid for patient \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 20 testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 21 testRunner.And("the Practitioner Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 22 testRunner.And("the Organization Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 23 testRunner.And("check that the bundle does not contain any duplicate resources", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 24 testRunner.And("I Check The Primary Problems List", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 25 testRunner.And("I Check The Primary Problems List Does Not Include Not In Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 26 testRunner.And("I Check The Problems Resources are Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 27 testRunner.And("I check The Problem Resources Do Not Include Not In Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 28 testRunner.And("check the response does not contain an operation outcome", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 29 testRunner.And("Check a Problem is Linked to a MedicationRequest resource that has been included " + - "in the response", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "in the response", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 30 testRunner.And("Check the MedicationRequests have a link to a medication that has been included i" + - "n response", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "n response", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 31 testRunner.And("Check there is a MedicationStatement resource that is linked to the MedicationReq" + - "uest and Medication", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "uest and Medication", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 32 testRunner.And("Check a Problem is linked to an \"Observation\" that is also included in the respon" + - "se with its list", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "se with its list", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 33 testRunner.And("Check that a Problem is linked via context to a consultation but only a reference" + - " is sent in response", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + " is sent in response", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 34 testRunner.And("I Check the Problems Uncategorised Secondary List is Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 35 testRunner.And("I Check the Problems Medications Secondary List is Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Verify response for a Patient with Problems linked to other Problems")] - public virtual void VerifyResponseForAPatientWithProblemsLinkedToOtherProblems() + public void VerifyResponseForAPatientWithProblemsLinkedToOtherProblems() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Verify response for a Patient with Problems linked to other Problems", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Verify response for a Patient with Problems linked to other Problems", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 39 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 40 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 41 testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 42 testRunner.And("I add the Problems parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 43 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 44 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 45 testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 46 testRunner.And("the response meta profile should be for \"structured\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 47 testRunner.And("the patient resource in the bundle should contain meta data profile and version i" + - "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 48 testRunner.And("if the response bundle contains a practitioner resource it should contain meta da" + - "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 49 testRunner.And("if the response bundle contains an organization resource it should contain meta d" + - "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 50 testRunner.And("the Bundle should be valid for patient \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 51 testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 52 testRunner.And("the Practitioner Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 53 testRunner.And("the Organization Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 54 testRunner.And("check that the bundle does not contain any duplicate resources", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 55 testRunner.And("I Check that a problem is linked to another problem", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 56 testRunner.And("I Check The Primary Problems List", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 57 testRunner.And("I Check The Primary Problems List Does Not Include Not In Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 58 testRunner.And("I Check The Problems Resources are Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 59 testRunner.And("I check The Problem Resources Do Not Include Not In Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 60 testRunner.And("check the response does not contain an operation outcome", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -210,46 +280,71 @@ public virtual void VerifyResponseForAPatientWithProblemsLinkedToOtherProblems() [NUnit.Framework.DescriptionAttribute("Retrieve problems structured record with status partParameter expected success")] [NUnit.Framework.TestCaseAttribute("active", null)] [NUnit.Framework.TestCaseAttribute("inactive", null)] - public virtual void RetrieveProblemsStructuredRecordWithStatusPartParameterExpectedSuccess(string value, string[] exampleTags) + public void RetrieveProblemsStructuredRecordWithStatusPartParameterExpectedSuccess(string value, string[] exampleTags) { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve problems structured record with status partParameter expected success", null, exampleTags); + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("value", value); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve problems structured record with status partParameter expected success", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 63 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 64 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 65 testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 66 testRunner.And(string.Format("I add the problems parameter with filterStatus \"{0}\"", value), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 67 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 68 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 69 testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 70 testRunner.And("the response meta profile should be for \"structured\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 71 testRunner.And("the patient resource in the bundle should contain meta data profile and version i" + - "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 72 testRunner.And("if the response bundle contains a practitioner resource it should contain meta da" + - "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 73 testRunner.And("if the response bundle contains an organization resource it should contain meta d" + - "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 74 testRunner.And("the Bundle should be valid for patient \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 75 testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 76 testRunner.And("the Practitioner Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 77 testRunner.And("the Organization Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 78 testRunner.And("check the response does not contain an operation outcome", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -258,55 +353,84 @@ public virtual void RetrieveProblemsStructuredRecordWithStatusPartParameterExpec "ess")] [NUnit.Framework.TestCaseAttribute("major", null)] [NUnit.Framework.TestCaseAttribute("minor", null)] - public virtual void RetrieveProblemsStructuredRecordWithSignificancePartParameterExpectedSuccess(string value, string[] exampleTags) + public void RetrieveProblemsStructuredRecordWithSignificancePartParameterExpectedSuccess(string value, string[] exampleTags) { + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("value", value); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve problems structured record with significance partParameter expected succ" + - "ess", null, exampleTags); + "ess", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 84 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 85 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 86 testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 87 testRunner.And(string.Format("I add the problems parameter with filterSignificance \"{0}\"", value), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 88 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 89 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 90 testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 91 testRunner.And("the response meta profile should be for \"structured\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 92 testRunner.And("the patient resource in the bundle should contain meta data profile and version i" + - "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 93 testRunner.And("if the response bundle contains a practitioner resource it should contain meta da" + - "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 94 testRunner.And("if the response bundle contains an organization resource it should contain meta d" + - "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 95 testRunner.And("the Bundle should be valid for patient \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 96 testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 97 testRunner.And("the Practitioner Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 98 testRunner.And("the Organization Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 99 testRunner.And("I Check The Primary Problems List", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 100 testRunner.And("I Check The Primary Problems List Does Not Include Not In Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 101 testRunner.And("I Check The Problems Resources are Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 102 testRunner.And("I check The Problem Resources Do Not Include Not In Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 103 testRunner.And("check the response does not contain an operation outcome", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -315,155 +439,237 @@ public virtual void RetrieveProblemsStructuredRecordWithSignificancePartParamete "pected success")] [NUnit.Framework.TestCaseAttribute("active", "major", null)] [NUnit.Framework.TestCaseAttribute("active", "minor", null)] - public virtual void RetrieveProblemsStructuredRecordWithStatusAndSignificancePartParameterExpectedSuccess(string statusValue, string sigValue, string[] exampleTags) + public void RetrieveProblemsStructuredRecordWithStatusAndSignificancePartParameterExpectedSuccess(string statusValue, string sigValue, string[] exampleTags) { + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("statusValue", statusValue); + argumentsOfScenario.Add("sigValue", sigValue); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve problems structured record with status and significance partParameter ex" + - "pected success", null, exampleTags); + "pected success", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 109 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 110 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 111 testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 112 testRunner.And(string.Format("I add the problems parameter including status and significance value \"{0}\" \"{1}\"", statusValue, sigValue), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 113 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 114 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 115 testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 116 testRunner.And("the response meta profile should be for \"structured\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 117 testRunner.And("the patient resource in the bundle should contain meta data profile and version i" + - "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 118 testRunner.And("if the response bundle contains a practitioner resource it should contain meta da" + - "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 119 testRunner.And("if the response bundle contains an organization resource it should contain meta d" + - "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 120 testRunner.And("the Bundle should be valid for patient \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 121 testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 122 testRunner.And("the Practitioner Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 123 testRunner.And("the Organization Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 124 testRunner.And("I Check The Primary Problems List", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 125 testRunner.And("I Check The Primary Problems List Does Not Include Not In Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 126 testRunner.And("I Check The Problems Resources are Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 127 testRunner.And("I check The Problem Resources Do Not Include Not In Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 128 testRunner.And("check the response does not contain an operation outcome", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Retrieve problems structured record for a patient that has no problems data")] - public virtual void RetrieveProblemsStructuredRecordForAPatientThatHasNoProblemsData() + public void RetrieveProblemsStructuredRecordForAPatientThatHasNoProblemsData() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve problems structured record for a patient that has no problems data", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve problems structured record for a patient that has no problems data", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 136 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 137 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 138 testRunner.And("I add an NHS Number parameter for \"patient4\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 139 testRunner.And("I add the Problems parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 140 testRunner.And("I add the medication parameter with includePrescriptionIssues set to \"true\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 141 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 142 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 143 testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 144 testRunner.And("the response meta profile should be for \"structured\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 145 testRunner.And("the patient resource in the bundle should contain meta data profile and version i" + - "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 146 testRunner.And("if the response bundle contains a practitioner resource it should contain meta da" + - "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 147 testRunner.And("if the response bundle contains an organization resource it should contain meta d" + - "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 148 testRunner.And("the Bundle should be valid for patient \"patient4\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 149 testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 150 testRunner.And("the Practitioner Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 151 testRunner.And("the Organization Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 152 testRunner.And("I Check The Primary Problems List", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 153 testRunner.And("check the response does not contain an operation outcome", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 154 testRunner.And("check structured list contains a note and emptyReason when no data in section", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Retrieve problems structured record for a patient that has repeating pair values " + "expected success")] - public virtual void RetrieveProblemsStructuredRecordForAPatientThatHasRepeatingPairValuesExpectedSuccess() + public void RetrieveProblemsStructuredRecordForAPatientThatHasRepeatingPairValuesExpectedSuccess() { + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve problems structured record for a patient that has repeating pair values " + - "expected success", null, ((string[])(null))); + "expected success", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 156 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 157 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 158 testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 159 testRunner.And("I add the problems parameter including repeating filter pairs", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 160 testRunner.And("I add the medication parameter with includePrescriptionIssues set to \"true\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 161 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 162 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 163 testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 164 testRunner.And("the response meta profile should be for \"structured\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 165 testRunner.And("the patient resource in the bundle should contain meta data profile and version i" + - "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 166 testRunner.And("if the response bundle contains a practitioner resource it should contain meta da" + - "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 167 testRunner.And("if the response bundle contains an organization resource it should contain meta d" + - "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 168 testRunner.And("the Bundle should be valid for patient \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 169 testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 170 testRunner.And("the Practitioner Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 171 testRunner.And("the Organization Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 172 testRunner.And("check the response does not contain an operation outcome", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -475,29 +681,46 @@ public virtual void RetrieveProblemsStructuredRecordForAPatientThatHasRepeatingP [NUnit.Framework.TestCaseAttribute("remission", null)] [NUnit.Framework.TestCaseAttribute("null", null)] [NUnit.Framework.TestCaseAttribute("off", null)] - public virtual void RetrieveProblemsStructuredRecordWithInvalidStatusPartParameterExpectedFailure(string value, string[] exampleTags) + public void RetrieveProblemsStructuredRecordWithInvalidStatusPartParameterExpectedFailure(string value, string[] exampleTags) { + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("value", value); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve problems structured record with invalid status partParameter expected fa" + - "ilure", null, exampleTags); + "ilure", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 174 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 175 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 176 testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 177 testRunner.And(string.Format("I add the problems parameter with filterStatus \"{0}\"", value), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 178 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 179 testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 180 testRunner.And("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 181 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_PARAM" + - "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -507,29 +730,46 @@ public virtual void RetrieveProblemsStructuredRecordWithInvalidStatusPartParamet [NUnit.Framework.TestCaseAttribute("HIGH", null)] [NUnit.Framework.TestCaseAttribute("null", null)] [NUnit.Framework.TestCaseAttribute("off", null)] - public virtual void RetrieveProblemsStructuredRecordWithInvalidSignificancePartParameterExpectedFailure(string value, string[] exampleTags) + public void RetrieveProblemsStructuredRecordWithInvalidSignificancePartParameterExpectedFailure(string value, string[] exampleTags) { + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("value", value); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve problems structured record with invalid significance partParameter expec" + - "ted failure", null, exampleTags); + "ted failure", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 190 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 191 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 192 testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 193 testRunner.And(string.Format("I add the problems parameter with filterSignificance \"{0}\"", value), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 194 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 195 testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 196 testRunner.And("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 197 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_PARAM" + - "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -539,179 +779,289 @@ public virtual void RetrieveProblemsStructuredRecordWithInvalidSignificancePartP [NUnit.Framework.TestCaseAttribute("invalid", "invalid", null)] [NUnit.Framework.TestCaseAttribute("active", "low", null)] [NUnit.Framework.TestCaseAttribute("resolved", "major", null)] - public virtual void RetrieveProblemsStructuredRecordWithInvalidStatusAndSignificancePartParameterExpectedFailure(string statusValue, string sigValue, string[] exampleTags) + public void RetrieveProblemsStructuredRecordWithInvalidStatusAndSignificancePartParameterExpectedFailure(string statusValue, string sigValue, string[] exampleTags) { + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("statusValue", statusValue); + argumentsOfScenario.Add("sigValue", sigValue); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve problems structured record with invalid status and significance partPara" + - "meter expected failure", null, exampleTags); + "meter expected failure", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 204 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 205 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 206 testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 207 testRunner.And(string.Format("I add the problems parameter including status and significance value \"{0}\" \"{1}\"", statusValue, sigValue), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 208 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 209 testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 210 testRunner.And("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 211 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_PARAM" + - "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Retrieve Problems structured record with made up partParameter expected success")] - public virtual void RetrieveProblemsStructuredRecordWithMadeUpPartParameterExpectedSuccess() + public void RetrieveProblemsStructuredRecordWithMadeUpPartParameterExpectedSuccess() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve Problems structured record with made up partParameter expected success", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve Problems structured record with made up partParameter expected success", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 218 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 219 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 220 testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 221 testRunner.And("I add a madeUpProblems part parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 222 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 223 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 224 testRunner.And("Check the operation outcome returns the correct text and diagnotics \"madeUpProble" + - "ms\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ms\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 225 testRunner.And("Check the number of issues in the operation outcome \"1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Retrieve Problems structured record section for an invalid NHS number")] - public virtual void RetrieveProblemsStructuredRecordSectionForAnInvalidNHSNumber() + public void RetrieveProblemsStructuredRecordSectionForAnInvalidNHSNumber() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve Problems structured record section for an invalid NHS number", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve Problems structured record section for an invalid NHS number", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 227 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 228 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 229 testRunner.And("I add an NHS Number parameter for an invalid NHS Number", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 230 testRunner.And("I add the Problems parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 231 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 232 testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 233 testRunner.And("the response should be a OperationOutcome resource", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Retrieve Problems structured record section for an empty NHS number")] - public virtual void RetrieveProblemsStructuredRecordSectionForAnEmptyNHSNumber() + public void RetrieveProblemsStructuredRecordSectionForAnEmptyNHSNumber() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve Problems structured record section for an empty NHS number", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve Problems structured record section for an empty NHS number", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 235 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 236 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 237 testRunner.And("I add an NHS Number parameter with an empty NHS Number", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 238 testRunner.And("I add the Problems parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 239 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 240 testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 241 testRunner.And("the response should be a OperationOutcome resource", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Retrieve Problems structured record section for an invalid Identifier System")] - public virtual void RetrieveProblemsStructuredRecordSectionForAnInvalidIdentifierSystem() + public void RetrieveProblemsStructuredRecordSectionForAnInvalidIdentifierSystem() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve Problems structured record section for an invalid Identifier System", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve Problems structured record section for an invalid Identifier System", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 243 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 244 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 245 testRunner.And("I add an NHS Number parameter for \"patient1\" with an invalid Identifier System", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 246 testRunner.And("I add the Problems parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 247 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 248 testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 249 testRunner.And("the response should be a OperationOutcome resource", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Retrieve Problems structured record section for an empty Identifier System")] - public virtual void RetrieveProblemsStructuredRecordSectionForAnEmptyIdentifierSystem() + public void RetrieveProblemsStructuredRecordSectionForAnEmptyIdentifierSystem() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve Problems structured record section for an empty Identifier System", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve Problems structured record section for an empty Identifier System", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 251 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 252 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 253 testRunner.And("I add an NHS Number parameter for \"patient1\" with an empty Identifier System", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 254 testRunner.And("I add the Problems parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 255 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 256 testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 257 testRunner.And("the response should be a OperationOutcome resource", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Retrieve Problems structured record for a patient that has sensitive flag")] - public virtual void RetrieveProblemsStructuredRecordForAPatientThatHasSensitiveFlag() + public void RetrieveProblemsStructuredRecordForAPatientThatHasSensitiveFlag() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve Problems structured record for a patient that has sensitive flag", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve Problems structured record for a patient that has sensitive flag", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 259 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 260 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 261 testRunner.And("I add an NHS Number parameter for \"patient9\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 262 testRunner.And("I add the Problems parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 263 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 264 testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 265 testRunner.And("the response status code should be \"404\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 266 testRunner.And("the response should be a OperationOutcome resource with error code \"PATIENT_NOT_F" + - "OUND\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "OUND\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } } diff --git a/GPConnect.Provider.AcceptanceTests/StructuredReferrals.feature.cs b/GPConnect.Provider.AcceptanceTests/StructuredReferrals.feature.cs index d82eb98c..9df10aad 100644 --- a/GPConnect.Provider.AcceptanceTests/StructuredReferrals.feature.cs +++ b/GPConnect.Provider.AcceptanceTests/StructuredReferrals.feature.cs @@ -1,8 +1,8 @@ -// ------------------------------------------------------------------------------ +// ------------------------------------------------------------------------------ // -// This code was generated by SpecFlow (http://www.specflow.org/). -// SpecFlow Version:3.0.0.0 -// SpecFlow Generator Version:3.0.0.0 +// This code was generated by SpecFlow (https://www.specflow.org/). +// SpecFlow Version:3.9.0.0 +// SpecFlow Generator Version:3.9.0.0 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. @@ -13,9 +13,11 @@ namespace GPConnect.Provider.AcceptanceTests { using TechTalk.SpecFlow; + using System; + using System.Linq; - [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "3.0.0.0")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "3.9.0.0")] [System.Runtime.CompilerServices.CompilerGeneratedAttribute()] [NUnit.Framework.TestFixtureAttribute()] [NUnit.Framework.DescriptionAttribute("StructuredReferrals")] @@ -27,6 +29,11 @@ public partial class StructuredReferralsFeature private TechTalk.SpecFlow.ITestRunner testRunner; + private static string[] featureTags = new string[] { + "Structured", + "StructuredReferrals", + "1.5.0-Full-Pack"}; + #line 1 "StructuredReferrals.feature" #line hidden @@ -34,10 +41,7 @@ public partial class StructuredReferralsFeature public virtual void FeatureSetup() { testRunner = TechTalk.SpecFlow.TestRunnerManager.GetTestRunner(); - TechTalk.SpecFlow.FeatureInfo featureInfo = new TechTalk.SpecFlow.FeatureInfo(new System.Globalization.CultureInfo("en-US"), "StructuredReferrals", null, ProgrammingLanguage.CSharp, new string[] { - "Structured", - "StructuredReferrals", - "1.5.0-Full-Pack"}); + TechTalk.SpecFlow.FeatureInfo featureInfo = new TechTalk.SpecFlow.FeatureInfo(new System.Globalization.CultureInfo("en-US"), "", "StructuredReferrals", null, ProgrammingLanguage.CSharp, featureTags); testRunner.OnFeatureStart(featureInfo); } @@ -49,28 +53,28 @@ public virtual void FeatureTearDown() } [NUnit.Framework.SetUpAttribute()] - public virtual void TestInitialize() + public void TestInitialize() { } [NUnit.Framework.TearDownAttribute()] - public virtual void ScenarioTearDown() + public void TestTearDown() { testRunner.OnScenarioEnd(); } - public virtual void ScenarioInitialize(TechTalk.SpecFlow.ScenarioInfo scenarioInfo) + public void ScenarioInitialize(TechTalk.SpecFlow.ScenarioInfo scenarioInfo) { testRunner.OnScenarioInitialize(scenarioInfo); testRunner.ScenarioContext.ScenarioContainer.RegisterInstanceAs(NUnit.Framework.TestContext.CurrentContext); } - public virtual void ScenarioStart() + public void ScenarioStart() { testRunner.OnScenarioStart(); } - public virtual void ScenarioCleanup() + public void ScenarioCleanup() { testRunner.CollectScenarioErrors(); } @@ -79,64 +83,96 @@ public virtual void ScenarioCleanup() [NUnit.Framework.DescriptionAttribute("Verify Referrals structured record for a Patient with Referrals not linked to any" + " problems")] [NUnit.Framework.CategoryAttribute("1.5.0-IncrementalAndRegression")] - public virtual void VerifyReferralsStructuredRecordForAPatientWithReferralsNotLinkedToAnyProblems() + public void VerifyReferralsStructuredRecordForAPatientWithReferralsNotLinkedToAnyProblems() { + string[] tagsOfScenario = new string[] { + "1.5.0-IncrementalAndRegression"}; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Verify Referrals structured record for a Patient with Referrals not linked to any" + - " problems", null, new string[] { - "1.5.0-IncrementalAndRegression"}); + " problems", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 8 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 9 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 10 testRunner.And("I add an NHS Number parameter for \"patient3\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 11 testRunner.And("I add the Referrals parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 12 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 13 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 14 testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 15 testRunner.And("the response meta profile should be for \"structured\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 16 testRunner.And("the patient resource in the bundle should contain meta data profile and version i" + - "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 17 testRunner.And("if the response bundle contains a practitioner resource it should contain meta da" + - "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 18 testRunner.And("if the response bundle contains an organization resource it should contain meta d" + - "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 19 testRunner.And("the Bundle should be valid for patient \"patient3\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 20 testRunner.And("check that the bundle does not contain any duplicate resources", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 21 testRunner.And("check the response does not contain an operation outcome", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 22 testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 23 testRunner.And("the Practitioner Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 24 testRunner.And("the Organization Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 25 testRunner.And("the Bundle should contain \"1\" lists", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 26 testRunner.And("I Check the Referrals List is Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 27 testRunner.And("The Structured List Does Not Include Not In Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 28 testRunner.And("I Check the ReferralRequests are Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 29 testRunner.And("I Check the ReferralRequests Do Not Include Not in Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 30 testRunner.And("I Check There is No Problems Secondary Problems List", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 31 testRunner.And("I Check No Problem Resources are Included", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -144,119 +180,179 @@ public virtual void VerifyReferralsStructuredRecordForAPatientWithReferralsNotLi [NUnit.Framework.DescriptionAttribute("Verify Referrals structured record for a Patient with Referrals associated to Pro" + "blems")] [NUnit.Framework.CategoryAttribute("1.5.0-IncrementalAndRegression")] - public virtual void VerifyReferralsStructuredRecordForAPatientWithReferralsAssociatedToProblems() + public void VerifyReferralsStructuredRecordForAPatientWithReferralsAssociatedToProblems() { + string[] tagsOfScenario = new string[] { + "1.5.0-IncrementalAndRegression"}; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Verify Referrals structured record for a Patient with Referrals associated to Pro" + - "blems", null, new string[] { - "1.5.0-IncrementalAndRegression"}); + "blems", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 34 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 35 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 36 testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 37 testRunner.And("I add the Referrals parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 38 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 39 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 40 testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 41 testRunner.And("the response meta profile should be for \"structured\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 42 testRunner.And("the patient resource in the bundle should contain meta data profile and version i" + - "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 43 testRunner.And("if the response bundle contains a practitioner resource it should contain meta da" + - "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 44 testRunner.And("if the response bundle contains an organization resource it should contain meta d" + - "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 45 testRunner.And("the Bundle should be valid for patient \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 46 testRunner.And("check that the bundle does not contain any duplicate resources", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 47 testRunner.And("check the response does not contain an operation outcome", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 48 testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 49 testRunner.And("the Practitioner Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 50 testRunner.And("the Organization Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 51 testRunner.And("I Check the Referrals List is Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 52 testRunner.And("The Structured List Does Not Include Not In Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 53 testRunner.And("I Check the ReferralRequests are Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 54 testRunner.And("I Check the ReferralRequests Do Not Include Not in Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 55 testRunner.And("I Check The Problems Secondary Problems List", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 56 testRunner.And("I Check The Problems Secondary Problems List Does Not Include Not In Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 57 testRunner.And("I Check The Problems Resources are Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 58 testRunner.And("I check The Problem Resources Do Not Include Not In Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 59 testRunner.And("the Bundle should contain \"2\" lists", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 60 testRunner.And("Check a Problem is linked to ReferralRequest and that it is also included", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Retrieve Referrals structured record for a patient that has no Referrals data")] [NUnit.Framework.CategoryAttribute("1.5.0-IncrementalAndRegression")] - public virtual void RetrieveReferralsStructuredRecordForAPatientThatHasNoReferralsData() + public void RetrieveReferralsStructuredRecordForAPatientThatHasNoReferralsData() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve Referrals structured record for a patient that has no Referrals data", null, new string[] { - "1.5.0-IncrementalAndRegression"}); + string[] tagsOfScenario = new string[] { + "1.5.0-IncrementalAndRegression"}; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve Referrals structured record for a patient that has no Referrals data", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 63 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 64 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 65 testRunner.And("I add an NHS Number parameter for \"patient4\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 66 testRunner.And("I add the Referrals parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 67 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 68 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 69 testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 70 testRunner.And("the response meta profile should be for \"structured\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 71 testRunner.And("the patient resource in the bundle should contain meta data profile and version i" + - "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 72 testRunner.And("if the response bundle contains a practitioner resource it should contain meta da" + - "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 73 testRunner.And("if the response bundle contains an organization resource it should contain meta d" + - "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 74 testRunner.And("the Bundle should be valid for patient \"patient4\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 75 testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 76 testRunner.And("the Practitioner Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 77 testRunner.And("the Organization Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 78 testRunner.And("check structured list contains a note and emptyReason when no data in section", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 79 testRunner.And("check the response does not contain an operation outcome", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -266,7 +362,7 @@ public virtual void RetrieveReferralsStructuredRecordForAPatientThatHasNoReferra [NUnit.Framework.TestCaseAttribute("patient16", "confidential-items", "Items excluded due to confidentiality and/or patient preferences.", null)] [NUnit.Framework.TestCaseAttribute("patient13", "data-in-transit", "Patient record transfer from previous GP practice not yet complete; information r" + "ecorded before dd-Mmm-yyyy may be missing.", null)] - public virtual void PatientWithReferralsHasWarningsAndAssociatedNotes(string patient, string warning, string note, string[] exampleTags) + public void PatientWithReferralsHasWarningsAndAssociatedNotes(string patient, string warning, string note, string[] exampleTags) { string[] @__tags = new string[] { "1.5.0-IncrementalAndRegression"}; @@ -274,27 +370,47 @@ public virtual void PatientWithReferralsHasWarningsAndAssociatedNotes(string pat { @__tags = System.Linq.Enumerable.ToArray(System.Linq.Enumerable.Concat(@__tags, exampleTags)); } - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Patient with Referrals Has Warnings and Associated Notes", null, @__tags); + string[] tagsOfScenario = @__tags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("Patient", patient); + argumentsOfScenario.Add("Warning", warning); + argumentsOfScenario.Add("Note", note); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Patient with Referrals Has Warnings and Associated Notes", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 83 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 84 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 85 testRunner.And(string.Format("I add an NHS Number parameter for \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 86 testRunner.And("I add the Referrals parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 87 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 88 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 89 testRunner.And("the Bundle should contain \"1\" lists", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 90 testRunner.And(string.Format("Check the list contains the following warning \"{0}\"", warning), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 91 testRunner.And(string.Format("Check the warning \"{0}\" has associated note \"{1}\"", warning, note), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -302,27 +418,42 @@ public virtual void PatientWithReferralsHasWarningsAndAssociatedNotes(string pat [NUnit.Framework.DescriptionAttribute("Retrieve the Referrals data structured record with period dates equal to current " + "date expected success and no operation outcome")] [NUnit.Framework.CategoryAttribute("1.5.0-IncrementalAndRegression")] - public virtual void RetrieveTheReferralsDataStructuredRecordWithPeriodDatesEqualToCurrentDateExpectedSuccessAndNoOperationOutcome() + public void RetrieveTheReferralsDataStructuredRecordWithPeriodDatesEqualToCurrentDateExpectedSuccessAndNoOperationOutcome() { + string[] tagsOfScenario = new string[] { + "1.5.0-IncrementalAndRegression"}; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the Referrals data structured record with period dates equal to current " + - "date expected success and no operation outcome", null, new string[] { - "1.5.0-IncrementalAndRegression"}); + "date expected success and no operation outcome", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 98 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 99 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 100 testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 101 testRunner.And("I add the Referrals data parameter with current date", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 102 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 103 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 104 testRunner.And("check the response does not contain an operation outcome", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -330,82 +461,128 @@ public virtual void RetrieveTheReferralsDataStructuredRecordWithPeriodDatesEqual [NUnit.Framework.DescriptionAttribute("Retrieve Referrals data structured record section for an invalid Identifier Syste" + "m")] [NUnit.Framework.CategoryAttribute("1.5.0-IncrementalAndRegression")] - public virtual void RetrieveReferralsDataStructuredRecordSectionForAnInvalidIdentifierSystem() + public void RetrieveReferralsDataStructuredRecordSectionForAnInvalidIdentifierSystem() { + string[] tagsOfScenario = new string[] { + "1.5.0-IncrementalAndRegression"}; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve Referrals data structured record section for an invalid Identifier Syste" + - "m", null, new string[] { - "1.5.0-IncrementalAndRegression"}); + "m", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 107 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 108 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 109 testRunner.And("I add an NHS Number parameter for \"patient1\" with an invalid Identifier System", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 110 testRunner.And("I add the Referrals parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 111 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 112 testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 113 testRunner.And("the response should be a OperationOutcome resource", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Retrieve Referrals data structured record section for an empty Identifier System")] [NUnit.Framework.CategoryAttribute("1.5.0-IncrementalAndRegression")] - public virtual void RetrieveReferralsDataStructuredRecordSectionForAnEmptyIdentifierSystem() + public void RetrieveReferralsDataStructuredRecordSectionForAnEmptyIdentifierSystem() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve Referrals data structured record section for an empty Identifier System", null, new string[] { - "1.5.0-IncrementalAndRegression"}); + string[] tagsOfScenario = new string[] { + "1.5.0-IncrementalAndRegression"}; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve Referrals data structured record section for an empty Identifier System", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 116 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 117 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 118 testRunner.And("I add an NHS Number parameter for \"patient1\" with an empty Identifier System", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 119 testRunner.And("I add the Referrals parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 120 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 121 testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 122 testRunner.And("the response should be a OperationOutcome resource", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Retrieve Referrals data structured record for a patient that has sensitive flag")] [NUnit.Framework.CategoryAttribute("1.5.0-IncrementalAndRegression")] - public virtual void RetrieveReferralsDataStructuredRecordForAPatientThatHasSensitiveFlag() + public void RetrieveReferralsDataStructuredRecordForAPatientThatHasSensitiveFlag() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve Referrals data structured record for a patient that has sensitive flag", null, new string[] { - "1.5.0-IncrementalAndRegression"}); + string[] tagsOfScenario = new string[] { + "1.5.0-IncrementalAndRegression"}; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve Referrals data structured record for a patient that has sensitive flag", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 125 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 126 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 127 testRunner.And("I add an NHS Number parameter for \"patient9\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 128 testRunner.And("I add the Referrals parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 129 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 130 testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 131 testRunner.And("the response status code should be \"404\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 133 testRunner.And("the response should be a OperationOutcome resource with error code \"PATIENT_NOT_F" + - "OUND\" and display \"Patient not found\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "OUND\" and display \"Patient not found\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -421,7 +598,7 @@ public virtual void RetrieveReferralsDataStructuredRecordForAPatientThatHasSensi [NUnit.Framework.TestCaseAttribute("2014-02-01", "2014-08", "includeReferrals", "referralSearchPeriod", null)] [NUnit.Framework.TestCaseAttribute("2015-10-01", "2016-11-23T11:08:32", "includeReferrals", "referralSearchPeriod", null)] [NUnit.Framework.TestCaseAttribute("2014-01-01", "2015-10-23T11:08:32+00:00", "includeReferrals", "referralSearchPeriod", null)] - public virtual void RetrieveTheReferralsDataStructuredRecordWithInvalidDatesExpectedFailure(string startDate, string endDate, string parameter, string partParameter, string[] exampleTags) + public void RetrieveTheReferralsDataStructuredRecordWithInvalidDatesExpectedFailure(string startDate, string endDate, string parameter, string partParameter, string[] exampleTags) { string[] @__tags = new string[] { "1.5.0-IncrementalAndRegression"}; @@ -429,27 +606,47 @@ public virtual void RetrieveTheReferralsDataStructuredRecordWithInvalidDatesExpe { @__tags = System.Linq.Enumerable.ToArray(System.Linq.Enumerable.Concat(@__tags, exampleTags)); } + string[] tagsOfScenario = @__tags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("startDate", startDate); + argumentsOfScenario.Add("endDate", endDate); + argumentsOfScenario.Add("Parameter", parameter); + argumentsOfScenario.Add("PartParameter", partParameter); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the Referrals data structured record with invalid dates expected failure" + - "", null, @__tags); + "", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 136 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 137 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 138 testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 139 testRunner.And(string.Format("I add the Referrals data parameter with date permutations \"{0}\" and \"{1}\"", startDate, endDate), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 140 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 141 testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 142 testRunner.And("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 143 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_PARAM" + - "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -457,30 +654,46 @@ public virtual void RetrieveTheReferralsDataStructuredRecordWithInvalidDatesExpe [NUnit.Framework.DescriptionAttribute("Retrieve the Referrals data structured record with referralSearchPeriod in future" + " expected failure")] [NUnit.Framework.CategoryAttribute("1.5.0-IncrementalAndRegression")] - public virtual void RetrieveTheReferralsDataStructuredRecordWithReferralSearchPeriodInFutureExpectedFailure() + public void RetrieveTheReferralsDataStructuredRecordWithReferralSearchPeriodInFutureExpectedFailure() { + string[] tagsOfScenario = new string[] { + "1.5.0-IncrementalAndRegression"}; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the Referrals data structured record with referralSearchPeriod in future" + - " expected failure", null, new string[] { - "1.5.0-IncrementalAndRegression"}); + " expected failure", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 156 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 157 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 158 testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 159 testRunner.And("I add the Referrals data parameter with future start date", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 160 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 161 testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 162 testRunner.And("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 163 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_PARAM" + - "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -488,30 +701,46 @@ public virtual void RetrieveTheReferralsDataStructuredRecordWithReferralSearchPe [NUnit.Framework.DescriptionAttribute("Retrieve the Referrals data structured record startDate after endDate expected fa" + "ilure")] [NUnit.Framework.CategoryAttribute("1.5.0-IncrementalAndRegression")] - public virtual void RetrieveTheReferralsDataStructuredRecordStartDateAfterEndDateExpectedFailure() + public void RetrieveTheReferralsDataStructuredRecordStartDateAfterEndDateExpectedFailure() { + string[] tagsOfScenario = new string[] { + "1.5.0-IncrementalAndRegression"}; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the Referrals data structured record startDate after endDate expected fa" + - "ilure", null, new string[] { - "1.5.0-IncrementalAndRegression"}); + "ilure", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 166 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 167 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 168 testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 169 testRunner.And("I add the Referrals data parameter start date after endDate", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 170 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 171 testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 172 testRunner.Then("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 173 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_PARAM" + - "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } } diff --git a/GPConnect.Provider.AcceptanceTests/StructuredUncategorised.feature.cs b/GPConnect.Provider.AcceptanceTests/StructuredUncategorised.feature.cs index b42bcb20..f3aa15b5 100644 --- a/GPConnect.Provider.AcceptanceTests/StructuredUncategorised.feature.cs +++ b/GPConnect.Provider.AcceptanceTests/StructuredUncategorised.feature.cs @@ -1,8 +1,8 @@ -// ------------------------------------------------------------------------------ +// ------------------------------------------------------------------------------ // -// This code was generated by SpecFlow (http://www.specflow.org/). -// SpecFlow Version:3.0.0.0 -// SpecFlow Generator Version:3.0.0.0 +// This code was generated by SpecFlow (https://www.specflow.org/). +// SpecFlow Version:3.9.0.0 +// SpecFlow Generator Version:3.9.0.0 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. @@ -13,9 +13,11 @@ namespace GPConnect.Provider.AcceptanceTests { using TechTalk.SpecFlow; + using System; + using System.Linq; - [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "3.0.0.0")] + [System.CodeDom.Compiler.GeneratedCodeAttribute("TechTalk.SpecFlow", "3.9.0.0")] [System.Runtime.CompilerServices.CompilerGeneratedAttribute()] [NUnit.Framework.TestFixtureAttribute()] [NUnit.Framework.DescriptionAttribute("StructuredUncategorised")] @@ -27,6 +29,11 @@ public partial class StructuredUncategorisedFeature private TechTalk.SpecFlow.ITestRunner testRunner; + private static string[] featureTags = new string[] { + "Structured", + "StructuredUncategorised", + "1.5.0-Full-Pack"}; + #line 1 "StructuredUncategorised.feature" #line hidden @@ -34,10 +41,7 @@ public partial class StructuredUncategorisedFeature public virtual void FeatureSetup() { testRunner = TechTalk.SpecFlow.TestRunnerManager.GetTestRunner(); - TechTalk.SpecFlow.FeatureInfo featureInfo = new TechTalk.SpecFlow.FeatureInfo(new System.Globalization.CultureInfo("en-US"), "StructuredUncategorised", null, ProgrammingLanguage.CSharp, new string[] { - "Structured", - "StructuredUncategorised", - "1.5.0-Full-Pack"}); + TechTalk.SpecFlow.FeatureInfo featureInfo = new TechTalk.SpecFlow.FeatureInfo(new System.Globalization.CultureInfo("en-US"), "", "StructuredUncategorised", null, ProgrammingLanguage.CSharp, featureTags); testRunner.OnFeatureStart(featureInfo); } @@ -49,28 +53,28 @@ public virtual void FeatureTearDown() } [NUnit.Framework.SetUpAttribute()] - public virtual void TestInitialize() + public void TestInitialize() { } [NUnit.Framework.TearDownAttribute()] - public virtual void ScenarioTearDown() + public void TestTearDown() { testRunner.OnScenarioEnd(); } - public virtual void ScenarioInitialize(TechTalk.SpecFlow.ScenarioInfo scenarioInfo) + public void ScenarioInitialize(TechTalk.SpecFlow.ScenarioInfo scenarioInfo) { testRunner.OnScenarioInitialize(scenarioInfo); testRunner.ScenarioContext.ScenarioContainer.RegisterInstanceAs(NUnit.Framework.TestContext.CurrentContext); } - public virtual void ScenarioStart() + public void ScenarioStart() { testRunner.OnScenarioStart(); } - public virtual void ScenarioCleanup() + public void ScenarioCleanup() { testRunner.CollectScenarioErrors(); } @@ -78,309 +82,476 @@ public virtual void ScenarioCleanup() [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Verify Uncategorised structured record for a Patient with Uncategorised data not " + "linked to any problems")] - public virtual void VerifyUncategorisedStructuredRecordForAPatientWithUncategorisedDataNotLinkedToAnyProblems() + public void VerifyUncategorisedStructuredRecordForAPatientWithUncategorisedDataNotLinkedToAnyProblems() { + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Verify Uncategorised structured record for a Patient with Uncategorised data not " + - "linked to any problems", null, ((string[])(null))); + "linked to any problems", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 8 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 9 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 10 testRunner.And("I add an NHS Number parameter for \"patient3\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 11 testRunner.And("I add the uncategorised data parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 12 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 13 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 14 testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 15 testRunner.And("the response meta profile should be for \"structured\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 16 testRunner.And("the patient resource in the bundle should contain meta data profile and version i" + - "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 17 testRunner.And("if the response bundle contains a practitioner resource it should contain meta da" + - "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 18 testRunner.And("if the response bundle contains an organization resource it should contain meta d" + - "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 19 testRunner.And("the Bundle should be valid for patient \"patient3\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 20 testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 21 testRunner.And("the Practitioner Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 22 testRunner.And("the Organization Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 23 testRunner.And("The Observation Resources are Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 24 testRunner.And("The Observation Resources Do Not Include Not In Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 25 testRunner.And("the Bundle should contain \"1\" lists", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 26 testRunner.And("The Observation List is Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 27 testRunner.And("The Structured List Does Not Include Not In Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 28 testRunner.And("check the response does not contain an operation outcome", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 29 testRunner.And("I Check There is No Problems Secondary Problems List", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 30 testRunner.And("I Check No Problem Resources are Included", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Verify Uncategorised structured record for a Patient with Uncategorised data asso" + "ciated to Problems")] - public virtual void VerifyUncategorisedStructuredRecordForAPatientWithUncategorisedDataAssociatedToProblems() + public void VerifyUncategorisedStructuredRecordForAPatientWithUncategorisedDataAssociatedToProblems() { + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Verify Uncategorised structured record for a Patient with Uncategorised data asso" + - "ciated to Problems", null, ((string[])(null))); + "ciated to Problems", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 34 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 35 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 36 testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 37 testRunner.And("I add the uncategorised data parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 38 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 39 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 40 testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 41 testRunner.And("the response meta profile should be for \"structured\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 42 testRunner.And("the patient resource in the bundle should contain meta data profile and version i" + - "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 43 testRunner.And("if the response bundle contains a practitioner resource it should contain meta da" + - "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 44 testRunner.And("if the response bundle contains an organization resource it should contain meta d" + - "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 45 testRunner.And("the Bundle should be valid for patient \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 46 testRunner.And("check that the bundle does not contain any duplicate resources", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 47 testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 48 testRunner.And("the Practitioner Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 49 testRunner.And("the Organization Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 50 testRunner.And("The Observation Resources are Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 51 testRunner.And("The Observation Resources Do Not Include Not In Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 52 testRunner.And("the Bundle should contain \"2\" lists", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 53 testRunner.And("The Observation List is Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 54 testRunner.And("The Structured List Does Not Include Not In Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 55 testRunner.And("check the response does not contain an operation outcome", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 56 testRunner.And("I Check The Problems Secondary Problems List", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 57 testRunner.And("I Check The Problems Secondary Problems List Does Not Include Not In Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 58 testRunner.And("I Check The Problems Resources are Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 59 testRunner.And("I check The Problem Resources Do Not Include Not In Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 60 testRunner.And("Check a Problem is linked to an \"Observation\" that is also included in the respon" + - "se with its list", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "se with its list", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Retrieve uncategorised data structured record section for an invalid NHS number")] - public virtual void RetrieveUncategorisedDataStructuredRecordSectionForAnInvalidNHSNumber() + public void RetrieveUncategorisedDataStructuredRecordSectionForAnInvalidNHSNumber() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve uncategorised data structured record section for an invalid NHS number", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve uncategorised data structured record section for an invalid NHS number", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 62 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 63 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 64 testRunner.And("I add an NHS Number parameter for an invalid NHS Number", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 65 testRunner.And("I add the uncategorised data parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 66 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 67 testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 68 testRunner.And("the response should be a OperationOutcome resource", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Retrieve uncategorised data structured record section for an empty NHS number")] - public virtual void RetrieveUncategorisedDataStructuredRecordSectionForAnEmptyNHSNumber() + public void RetrieveUncategorisedDataStructuredRecordSectionForAnEmptyNHSNumber() { - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve uncategorised data structured record section for an empty NHS number", null, ((string[])(null))); + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve uncategorised data structured record section for an empty NHS number", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 70 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 71 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 72 testRunner.And("I add an NHS Number parameter with an empty NHS Number", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 73 testRunner.And("I add the uncategorised data parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 74 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 75 testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 76 testRunner.And("the response should be a OperationOutcome resource", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Retrieve uncategorised data structured record section for an invalid Identifier S" + "ystem")] - public virtual void RetrieveUncategorisedDataStructuredRecordSectionForAnInvalidIdentifierSystem() + public void RetrieveUncategorisedDataStructuredRecordSectionForAnInvalidIdentifierSystem() { + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve uncategorised data structured record section for an invalid Identifier S" + - "ystem", null, ((string[])(null))); + "ystem", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 78 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 79 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 80 testRunner.And("I add an NHS Number parameter for \"patient1\" with an invalid Identifier System", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 81 testRunner.And("I add the uncategorised data parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 82 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 83 testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 84 testRunner.And("the response should be a OperationOutcome resource", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Retrieve uncategorised data structured record section for an empty Identifier Sys" + "tem")] - public virtual void RetrieveUncategorisedDataStructuredRecordSectionForAnEmptyIdentifierSystem() + public void RetrieveUncategorisedDataStructuredRecordSectionForAnEmptyIdentifierSystem() { + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve uncategorised data structured record section for an empty Identifier Sys" + - "tem", null, ((string[])(null))); + "tem", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 86 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 87 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 88 testRunner.And("I add an NHS Number parameter for \"patient1\" with an empty Identifier System", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 89 testRunner.And("I add the uncategorised data parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 90 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 91 testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 92 testRunner.And("the response should be a OperationOutcome resource", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Retrieve uncategorised data structured record for a patient that has sensitive fl" + "ag")] - public virtual void RetrieveUncategorisedDataStructuredRecordForAPatientThatHasSensitiveFlag() + public void RetrieveUncategorisedDataStructuredRecordForAPatientThatHasSensitiveFlag() { + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve uncategorised data structured record for a patient that has sensitive fl" + - "ag", null, ((string[])(null))); + "ag", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 94 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 95 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 96 testRunner.And("I add an NHS Number parameter for \"patient9\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 97 testRunner.And("I add the uncategorised data parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 98 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 99 testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 100 testRunner.And("the response status code should be \"404\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 101 testRunner.And("the response should be a OperationOutcome resource with error code \"PATIENT_NOT_F" + - "OUND\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "OUND\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Retrieve uncategorised data structured record for a patient that has no uncategor" + "ised data")] - public virtual void RetrieveUncategorisedDataStructuredRecordForAPatientThatHasNoUncategorisedData() + public void RetrieveUncategorisedDataStructuredRecordForAPatientThatHasNoUncategorisedData() { + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve uncategorised data structured record for a patient that has no uncategor" + - "ised data", null, ((string[])(null))); + "ised data", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 103 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 104 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 105 testRunner.And("I add an NHS Number parameter for \"patient4\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 106 testRunner.And("I add the uncategorised data parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 107 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 108 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 109 testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 110 testRunner.And("the response meta profile should be for \"structured\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 111 testRunner.And("the patient resource in the bundle should contain meta data profile and version i" + - "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 112 testRunner.And("if the response bundle contains a practitioner resource it should contain meta da" + - "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 113 testRunner.And("if the response bundle contains an organization resource it should contain meta d" + - "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 114 testRunner.And("the Bundle should be valid for patient \"patient4\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 115 testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 116 testRunner.And("the Practitioner Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 117 testRunner.And("the Organization Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 118 testRunner.And("check the response does not contain an operation outcome", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 119 testRunner.And("check structured list contains a note and emptyReason when no data in section", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } @@ -395,113 +566,180 @@ public virtual void RetrieveUncategorisedDataStructuredRecordForAPatientThatHasN [NUnit.Framework.TestCaseAttribute("2014-02-01", "2014-08", "includeUncategorisedData", "uncategorisedDataSearchPeriod", null)] [NUnit.Framework.TestCaseAttribute("2015-10-01", "2016-11-23T11:08:32", "includeUncategorisedData", "uncategorisedDataSearchPeriod", null)] [NUnit.Framework.TestCaseAttribute("2014-01-01", "2015-10-23T11:08:32+00:00", "includeUncategorisedData", "uncategorisedDataSearchPeriod", null)] - public virtual void RetrieveTheUncategorisedDataStructuredRecordWithInvalidDatesExpectedFailure(string startDate, string endDate, string parameter, string partParameter, string[] exampleTags) + public void RetrieveTheUncategorisedDataStructuredRecordWithInvalidDatesExpectedFailure(string startDate, string endDate, string parameter, string partParameter, string[] exampleTags) { + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("startDate", startDate); + argumentsOfScenario.Add("endDate", endDate); + argumentsOfScenario.Add("Parameter", parameter); + argumentsOfScenario.Add("PartParameter", partParameter); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the uncategorised data structured record with invalid dates expected fai" + - "lure", null, exampleTags); + "lure", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 121 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 122 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 123 testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 124 testRunner.And(string.Format("I add the uncategorised data parameter with date permutations \"{0}\" and \"{1}\"", startDate, endDate), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 125 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 126 testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 127 testRunner.And("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 128 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_PARAM" + - "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Retrieve the uncategorised data structured record with uncategorisedDataSearchPer" + "iod in future expected failure")] - public virtual void RetrieveTheUncategorisedDataStructuredRecordWithUncategorisedDataSearchPeriodInFutureExpectedFailure() + public void RetrieveTheUncategorisedDataStructuredRecordWithUncategorisedDataSearchPeriodInFutureExpectedFailure() { + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the uncategorised data structured record with uncategorisedDataSearchPer" + - "iod in future expected failure", null, ((string[])(null))); + "iod in future expected failure", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 141 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 142 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 143 testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 144 testRunner.And("I add the uncategorised data parameter with future start date", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 145 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 146 testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 147 testRunner.And("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 148 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_PARAM" + - "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Retrieve the uncategorised data structured record with period dates equal to curr" + "ent date expected success and no operation outcome")] - public virtual void RetrieveTheUncategorisedDataStructuredRecordWithPeriodDatesEqualToCurrentDateExpectedSuccessAndNoOperationOutcome() + public void RetrieveTheUncategorisedDataStructuredRecordWithPeriodDatesEqualToCurrentDateExpectedSuccessAndNoOperationOutcome() { + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the uncategorised data structured record with period dates equal to curr" + - "ent date expected success and no operation outcome", null, ((string[])(null))); + "ent date expected success and no operation outcome", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 150 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 151 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 152 testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 153 testRunner.And("I add the uncategorised data parameter with current date", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 154 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 155 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 156 testRunner.And("check the response does not contain an operation outcome", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Retrieve the uncategorised data structured record startDate after endDate expecte" + "d failure")] - public virtual void RetrieveTheUncategorisedDataStructuredRecordStartDateAfterEndDateExpectedFailure() + public void RetrieveTheUncategorisedDataStructuredRecordStartDateAfterEndDateExpectedFailure() { + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the uncategorised data structured record startDate after endDate expecte" + - "d failure", null, ((string[])(null))); + "d failure", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 158 this.ScenarioInitialize(scenarioInfo); - this.ScenarioStart(); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); #line 159 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 160 testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 161 testRunner.And("I add the uncategorised data parameter start date after endDate", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 162 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden #line 163 testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 164 testRunner.Then("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden #line 165 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_PARAM" + - "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden + } this.ScenarioCleanup(); } } diff --git a/GPConnect.Provider.AcceptanceTests/packages.config b/GPConnect.Provider.AcceptanceTests/packages.config deleted file mode 100644 index aaa2c568..00000000 --- a/GPConnect.Provider.AcceptanceTests/packages.config +++ /dev/null @@ -1,36 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file From 6e9a810360edfa2a705c3a38a72185b6c777f3b2 Mon Sep 17 00:00:00 2001 From: williamjameswillis Date: Mon, 29 Sep 2025 15:18:24 +0100 Subject: [PATCH 02/18] project bulding in dotnet8 --- .gitignore | 2 + .../CustomValueSetExpander.cs | 4 +- .../Context/HttpContext.cs | 48 +++++++++---------- .../Steps/AmendAppointmentSteps.cs | 4 +- .../Steps/AppointmentRetrieveSteps.cs | 6 +-- .../Steps/AppointmentsSteps.cs | 47 +++++++++--------- .../Steps/HtmlSteps.cs | 10 ++-- .../Steps/HttpResponseSteps.cs | 22 ++++----- .../Steps/LocationSteps.cs | 28 +++++------ .../Steps/OrganizationSteps.cs | 25 +++++----- .../Steps/PractitionerSteps.cs | 18 +++---- 11 files changed, 109 insertions(+), 105 deletions(-) diff --git a/.gitignore b/.gitignore index b8779e29..a75da1ca 100644 --- a/.gitignore +++ b/.gitignore @@ -261,3 +261,5 @@ paket-files/ *.config /GPConnect.Provider.AcceptanceTests/App.config + +settings.json \ No newline at end of file diff --git a/GPConnect.Provider.AcceptanceTests/Cache/ValueSet/ValueSetExpander/CustomValueSetExpander.cs b/GPConnect.Provider.AcceptanceTests/Cache/ValueSet/ValueSetExpander/CustomValueSetExpander.cs index 09c98ee0..3dd6f093 100644 --- a/GPConnect.Provider.AcceptanceTests/Cache/ValueSet/ValueSetExpander/CustomValueSetExpander.cs +++ b/GPConnect.Provider.AcceptanceTests/Cache/ValueSet/ValueSetExpander/CustomValueSetExpander.cs @@ -160,7 +160,7 @@ private void handleExclude(ValueSet source) throw Error.InvalidOperation($"No valueset resolver available to resolve valueset '{uri}', " + "set ValueSetExpander.Settings.ValueSetSource to fix."); - var importedVs = Settings.ValueSetSource.FindValueSet(uri); + var importedVs = ((IResourceResolver)Settings.ValueSetSource).FindValueSet(uri); if (importedVs == null) throw new ValueSetUnknownException($"Cannot resolve canonical reference '{uri}' to ValueSet"); if (!importedVs.HasExpansion) Expand(importedVs); @@ -177,7 +177,7 @@ private void handleExclude(ValueSet source) throw Error.InvalidOperation($"No terminology service available to resolve references to codesystem '{uri}', " + "set ValueSetExpander.Settings.ValueSetSource to fix."); - var importedCs = Settings.ValueSetSource.FindCodeSystem(uri); + var importedCs = ((IResourceResolver)Settings.ValueSetSource).FindCodeSystem(uri); if (importedCs == null) throw new ValueSetUnknownException($"Cannot resolve canonical reference '{uri}' to CodeSystem"); var result = new List(); diff --git a/GPConnect.Provider.AcceptanceTests/Context/HttpContext.cs b/GPConnect.Provider.AcceptanceTests/Context/HttpContext.cs index 44585239..e8a4f4a5 100644 --- a/GPConnect.Provider.AcceptanceTests/Context/HttpContext.cs +++ b/GPConnect.Provider.AcceptanceTests/Context/HttpContext.cs @@ -17,7 +17,7 @@ public HttpContext() HttpRequestConfiguration = new HttpRequestConfiguration(); FhirResponse = new FhirResponse(); } - + public FhirResponse FhirResponse { get; set; } public HttpResponse HttpResponse { get; set; } @@ -78,27 +78,27 @@ public void SaveToDisk(string filename) doc.Save(filename); } -public void SaveToFhirContextToDisk(string filename) -{ - var jsonSerializer = new FhirJsonSerializer(); - - var doc = new XDocument( - new XElement("fhirContext", - new XElement("request", - new XElement("fhirRequestParameters", jsonSerializer.SerializeToString(HttpRequestConfiguration.BodyParameters)) - ), - new XElement("response", - new XElement("fhirResponseResource", jsonSerializer.SerializeToString(FhirResponse.Resource)) - ) - ) - ); - doc.Save(filename); -} + public void SaveToFhirContextToDisk(string filename) + { + var jsonSerializer = new FhirJsonSerializer(); + + var doc = new XDocument( + new XElement("fhirContext", + new XElement("request", + new XElement("fhirRequestParameters", jsonSerializer.SerializeToString(HttpRequestConfiguration.BodyParameters)) + ), + new XElement("response", + new XElement("fhirResponseResource", jsonSerializer.SerializeToString(FhirResponse.Resource)) + ) + ) + ); + doc.Save(filename); + } public void SaveJSONResponseToDisk(string filename) { - var JSONResponse = JToken.Parse(FhirSerializer.SerializeResourceToJson(FhirResponse.Resource)); - + var JSONResponse = JToken.Parse(new FhirJsonSerializer().SerializeToString(FhirResponse.Resource)); + string jsonPrettyPrinted = JsonConvert.SerializeObject(JSONResponse, Formatting.Indented); File.WriteAllText(@filename, jsonPrettyPrinted); @@ -110,20 +110,20 @@ public void SaveJWTToDisk(string filename) string JWTToken; foreach (var entry in HttpRequestConfiguration.RequestHeaders.GetRequestHeaders()) - { + { //find JWT if (entry.Key == "Authorization") - { + { JWTToken = entry.Value.Replace("Bearer ", ""); - + //Convert Token to JSON var jwtHandler = new JwtSecurityTokenHandler(); var token = jwtHandler.ReadJwtToken(JWTToken); - + string jwtHeaderPrettyPrinted = JsonConvert.SerializeObject(token.Header, Formatting.Indented); string jwtPayloadPrettyPrinted = JsonConvert.SerializeObject(token.Payload, Formatting.Indented); File.WriteAllText(@filename, "Header:\n" + jwtHeaderPrettyPrinted + "\nPayload:\n" + jwtPayloadPrettyPrinted); - } + } } diff --git a/GPConnect.Provider.AcceptanceTests/Steps/AmendAppointmentSteps.cs b/GPConnect.Provider.AcceptanceTests/Steps/AmendAppointmentSteps.cs index d3cbbf0f..6df11dd2 100644 --- a/GPConnect.Provider.AcceptanceTests/Steps/AmendAppointmentSteps.cs +++ b/GPConnect.Provider.AcceptanceTests/Steps/AmendAppointmentSteps.cs @@ -21,14 +21,14 @@ public AmendAppointmentSteps(HttpContext httpContext) { _httpContext = httpContext; } - + [Then(@"the Appointment Description should be valid for ""(.*)""")] public void TheAppointmentDescriptionShouldBeValidFor(string value) { Appointments.ForEach(appointment => { appointment.Description.ShouldNotBeNull("Appointment description cannot be null"); - appointment.Description.ShouldContain(value, $@"The Appointment Description should be ""{value}"" but was ""{appointment.Description}""."); + appointment.Description.ShouldContain(value, Case.Sensitive, $@"The Appointment Description should be ""{value}"" but was ""{appointment.Description}""."); }); } diff --git a/GPConnect.Provider.AcceptanceTests/Steps/AppointmentRetrieveSteps.cs b/GPConnect.Provider.AcceptanceTests/Steps/AppointmentRetrieveSteps.cs index f09f6ce9..3cc1be34 100644 --- a/GPConnect.Provider.AcceptanceTests/Steps/AppointmentRetrieveSteps.cs +++ b/GPConnect.Provider.AcceptanceTests/Steps/AppointmentRetrieveSteps.cs @@ -29,7 +29,7 @@ public AppointmentRetrieveSteps(HttpContext httpContext, HttpSteps httpSteps, Jw _jwtSteps = jwtSteps; } - [Then(@"the Appointment Status should be valid")] + [Then(@"the Appointment Status should be valid")] public void TheAppointmentStatusShouldBeValid() { Appointments.ForEach(appointment => @@ -44,7 +44,7 @@ public void TheAppointmentStartShouldBeValid() Appointments.ForEach(appointment => { appointment.Start.ShouldNotBeNull("The Appointment Start should not be null."); - + }); } @@ -67,7 +67,7 @@ public void TheAppointmentSlotsShouldBeValid() appointment.Slot?.ForEach(slot => { var reference = "Slot/"; - slot.Reference.ShouldStartWith(reference, $"The Appointment Slot Reference should start with {reference}, but was {slot.Reference}."); + slot.Reference.ShouldStartWith(reference, Case.Sensitive, $"The Appointment Slot Reference should start with {reference}, but was {slot.Reference}."); }); }); } diff --git a/GPConnect.Provider.AcceptanceTests/Steps/AppointmentsSteps.cs b/GPConnect.Provider.AcceptanceTests/Steps/AppointmentsSteps.cs index 534dd502..aed2b795 100644 --- a/GPConnect.Provider.AcceptanceTests/Steps/AppointmentsSteps.cs +++ b/GPConnect.Provider.AcceptanceTests/Steps/AppointmentsSteps.cs @@ -24,18 +24,18 @@ public class AppointmentsSteps : BaseSteps private readonly PatientSteps _patientSteps; private readonly SearchForFreeSlotsSteps _searchForFreeSlotsSteps; private readonly HttpRequestConfigurationSteps _httpRequestConfigurationSteps; - private readonly IFhirResourceRepository _fhirResourceRepository; + private readonly IFhirResourceRepository _fhirResourceRepository; private List Appointments => _httpContext.FhirResponse.Appointments; public AppointmentsSteps( HttpSteps httpSteps, HttpContext httpContext, - JwtSteps jwtSteps, + JwtSteps jwtSteps, PatientSteps patientSteps, - SearchForFreeSlotsSteps searchForFreeSlotsSteps, - HttpRequestConfigurationSteps httpRequestConfigurationSteps, - IFhirResourceRepository fhirResourceRepository) + SearchForFreeSlotsSteps searchForFreeSlotsSteps, + HttpRequestConfigurationSteps httpRequestConfigurationSteps, + IFhirResourceRepository fhirResourceRepository) : base(httpSteps) { _httpContext = httpContext; @@ -49,7 +49,7 @@ public AppointmentsSteps( [Then(@"the Response Resource should be an Appointment")] public void TheResponseResourceShouldBeAnAppointment() { - _httpContext.FhirResponse.resource.TypeName.ShouldBe(ResourceType.Appointment, "the Response Resource should be an Appointment."); + _httpContext.FhirResponse.Resource.TypeName.ShouldBe("Appointment"); } [Then(@"the Bundle should contain no Appointments")] @@ -82,7 +82,7 @@ public void theAppointmentReasonShouldBeEmpty() }); } - + [Then(@"the Appointment Start should equal the Created Appointment Start")] public void TheAppointmentStartShouldEqualTheCreatedAppointmentStart() { @@ -91,7 +91,7 @@ public void TheAppointmentStartShouldEqualTheCreatedAppointmentStart() appointment.Start.ShouldBe(_fhirResourceRepository.Appointment.Start, $"The Appointment Start should equal {_fhirResourceRepository.Appointment.Start} but was {appointment.Start}."); }); } - + [Given(@"I create ""([^""]*)"" Appointments for Patient ""([^""]*)"" and Organization Code ""([^""]*)""")] public void CreateAppointmentsForPatientAndOrganizationCode(int appointments, string patient, string code) { @@ -112,7 +112,7 @@ public void CreateAnAppointmentForPatient(string patient) _searchForFreeSlotsSteps.StoreTheFreeSlotsBundle(); _httpSteps.ConfigureRequest(GpConnectInteraction.AppointmentCreate); - + CreateAnAppointmentFromTheStoredPatientAndStoredSchedule(); _httpSteps.MakeRequest(GpConnectInteraction.AppointmentCreate); @@ -124,7 +124,7 @@ public void CreateAnAppointmentForPatientAndOrganizationCode(string patient, str { _patientSteps.GetThePatientForPatientValue(patient); _patientSteps.StoreThePatient(); - + _searchForFreeSlotsSteps.GetAvailableFreeSlots(); _searchForFreeSlotsSteps.StoreTheFreeSlotsBundle(); @@ -139,7 +139,7 @@ public void CreateAnAppointmentForPatientAndOrganizationCode(string patient, str } - + [Given(@"I create an Appointment in ""([^ ""]*)"" days time for Patient ""([^""]*)"" and Organization Code ""([^""]*)""")] public void CreateanAppointmentInXDaysTimeforPatientAndOrganizationCode(int days, string patient, string code) { @@ -147,7 +147,7 @@ public void CreateanAppointmentInXDaysTimeforPatientAndOrganizationCode(int days _patientSteps.StoreThePatient(); _searchForFreeSlotsSteps.GetAvailableFreeSlotsSearchingXDaysInFuture(days); - + _searchForFreeSlotsSteps.StoreTheFreeSlotsBundle(); _httpSteps.ConfigureRequest(GpConnectInteraction.AppointmentCreate); @@ -188,7 +188,7 @@ public void CreateanAppointmentInXDaysTimeforPatientAndOrganizationCodeRemovingS } - [Given(@"I create an Appointment in ""([^ ""]*)"" days time for Patient ""([^""]*)"" and Organization Code ""([^""]*)"" With serviceCategory and serviceType in Request")] + [Given(@"I create an Appointment in ""([^ ""]*)"" days time for Patient ""([^""]*)"" and Organization Code ""([^""]*)"" With serviceCategory and serviceType in Request")] public void CreateanAppointmentInXDaysTimeForPatientAndOrganizationCodeWithserviceCategoryandserviceTypeinRequest(int days, string patient, string code) { _patientSteps.GetThePatientForPatientValue(patient); @@ -218,7 +218,7 @@ public void CreateanAppointmentInXDaysTimeForPatientAndOrganizationCodeWithservi _httpSteps.MakeRequest(GpConnectInteraction.AppointmentCreate); } - + [Given(@"I create an Appointment for Today for Patient ""([^""]*)"" and Organization Code ""([^""]*)""")] public void CreateAnAppointmentForTodayForPatientAndOrganizationCode(string patient, string code) { @@ -241,14 +241,15 @@ public void CreateAnAppointmentForTodayForPatientAndOrganizationCode(string pati [Given(@"I create an Appointment for an existing Patient and Organization Code ""([^""]*)""")] public void CreateAnAppointmentForRandomPatientAndOrganizationCode(string code) - { + { - var patient = "patient1"; + var patient = "patient1"; - if (AppSettingsHelper.RandomPatientEnabled == true) { - patient = RandomPatientSteps.ReturnRandomPatient(); + if (AppSettingsHelper.RandomPatientEnabled == true) + { + patient = RandomPatientSteps.ReturnRandomPatient(); } - + _patientSteps.GetThePatientForPatientValue(patient); _patientSteps.StoreThePatient(); @@ -356,7 +357,7 @@ public void SetTheCreatedAppointmentCancellationReason(string reason) if (_fhirResourceRepository.Appointment.Extension == null) _fhirResourceRepository.Appointment.Extension = new List(); - _fhirResourceRepository.Appointment.Extension.Add(extension); + _fhirResourceRepository.Appointment.Extension.Add(extension); } // git hub ref 200 @@ -447,7 +448,7 @@ public void TheAppointmentMetadataShouldBeValid() CheckForValidMetaDataInResource(appointment, FhirConst.StructureDefinitionSystems.kAppointment); }); } - + [Then(@"the Appointment Participant Type and Actor should be valid")] public void TheAppointmentParticipantTypeAndActorShouldBeValid() { @@ -479,7 +480,7 @@ public void TheAppointmentParticipantTypeAndActorShouldBeValid() var shouldStartWith = participant.Actor.Reference.StartsWith(patient) || participant.Actor.Reference.StartsWith(practitioner) || participant.Actor.Reference.StartsWith(location); - + shouldStartWith.ShouldBeTrue($"The Appointment Participant Actor Reference should start with one of {patient}, {practitioner} or {location}, but was {participant.Actor.Reference}."); } }); @@ -626,7 +627,7 @@ public void OneAppointmentcontainsserviceCategoryelement() foundServiceCategory = true; Logger.Log.WriteLine("Info : Found an Appointment resource with ServiceCategory set"); } - } + } }); foundServiceCategory.ShouldBeTrue("Fail : At least one Appointment Resource should contain a ServiceCategory set as per the data requirements"); } diff --git a/GPConnect.Provider.AcceptanceTests/Steps/HtmlSteps.cs b/GPConnect.Provider.AcceptanceTests/Steps/HtmlSteps.cs index 64d7a549..a6c96216 100644 --- a/GPConnect.Provider.AcceptanceTests/Steps/HtmlSteps.cs +++ b/GPConnect.Provider.AcceptanceTests/Steps/HtmlSteps.cs @@ -111,22 +111,22 @@ public void ThenTheHTMLShouldNotContainHeadersInComaSeperatedList(string expecte composition.Section.ForEach(section => { var html = section.Text.Div; - - if (hasSingleHeader) + + if (hasSingleHeader) { var headerHtml = $"<{h1}>{headers[0]}"; - html.ShouldContain(headerHtml, $"The Section HTML should contain the <{h1}> header {headerHtml}, but did not."); + html.ShouldContain(headerHtml, Case.Sensitive, $"The Section HTML should contain the <{h1}> header {headerHtml}, but did not."); } else { - html.ShouldContain(h1, $"The Section HTML should contain a <{h1}> header, but did not."); + html.ShouldContain(h1, Case.Sensitive, $"The Section HTML should contain a <{h1}> header, but did not."); headers.ForEach(header => { var headerHtml = $"<{h2}>{header}"; - html.ShouldContain(headerHtml, $"The Section HTML should contain the <{h2}> header {headerHtml}, but did not."); + html.ShouldContain(headerHtml, Case.Sensitive, $"The Section HTML should contain the <{h2}> header {headerHtml}, but did not."); }); } }); diff --git a/GPConnect.Provider.AcceptanceTests/Steps/HttpResponseSteps.cs b/GPConnect.Provider.AcceptanceTests/Steps/HttpResponseSteps.cs index 80d4a28e..aed20307 100644 --- a/GPConnect.Provider.AcceptanceTests/Steps/HttpResponseSteps.cs +++ b/GPConnect.Provider.AcceptanceTests/Steps/HttpResponseSteps.cs @@ -95,9 +95,9 @@ public void TheResponseShouldContainTheETagHeaderMatchingTheResourceVersionId() string eTag; _httpContext.HttpResponse.Headers.TryGetValue("ETag", out eTag); - eTag.ShouldStartWith("W/\"", "The ETag header should start with W/\""); + eTag.ShouldStartWith("W/\"", Case.Sensitive, "The ETag header should start with W/\""); - eTag.ShouldEndWith(versionId + "\"", "The ETag header should contain the resource version enclosed within speech marks"); + eTag.ShouldEndWith(versionId + "\"", Case.Sensitive, "The ETag header should contain the resource version enclosed within speech marks"); eTag.ShouldBe("W/\"" + versionId + "\"", "The ETag header contains invalid characters"); @@ -133,10 +133,10 @@ public void ThenTheRequiredCacheingHeadersShouldBePresentInTheResponse() string cacheControl; _httpContext.HttpResponse.Headers.TryGetValue("Cache-Control", out cacheControl); -// Amended git hub ref 82 from Shouldbe to ShouldContain -// RMB 9/10/2018 - cacheControl.ShouldContain("no-store", "The response payload should contain a resource."); - + // Amended git hub ref 82 from Shouldbe to ShouldContain + // RMB 9/10/2018 + cacheControl.ShouldContain("no-store", Case.Sensitive, "The response payload should contain a resource."); + } [Then("if redirected the Response Headers should contain a Strict-Transport-Security header")] @@ -144,7 +144,7 @@ public void IfRedirectedTheResponseHeadersShouldContainAStrictTransportSecurityH { if (_httpContext.HttpResponse.Redirected) { - _httpContext.HttpResponse.Headers.ShouldContainKey("Strict-Transport-Security", "The Response Headers should contain a Strict-Transport-Security header, but it wasn't found."); + _httpContext.HttpResponse.Headers.ShouldContainKey("Strict-Transport-Security", "The Response Headers should contain a Strict-Transport-Security header, but it wasn't found."); } } @@ -165,7 +165,7 @@ public void TheResponseStatusCodeShouldBeOf(List statusCodes) var statusCode = _httpContext.HttpResponse.StatusCode; var statusCodeList = string.Join(", ", statusCodes.Select(sc => (int)sc)); - statusCodes.ShouldContain(statusCode, $"The Response Status Code should be one of {statusCodeList}, but it was {(int) statusCode}."); + statusCodes.ShouldContain(statusCode, $"The Response Status Code should be one of {statusCodeList}, but it was {(int)statusCode}."); } } @@ -193,7 +193,7 @@ public void TheAccessControlRequestMethodHeaderShouldContainTheRequestMethods(Li methods.ForEach(method => { - headerValue.ShouldContain(method, $"The {headerName} header should contain the {method} HTTP method, but did not."); + headerValue.ShouldContain(method, Case.Sensitive, $"The {headerName} header should contain the {method} HTTP method, but did not."); }); } @@ -201,11 +201,11 @@ public void TheAccessControlRequestMethodHeaderShouldContainTheRequestMethods(Li public void TheResponseShouldContainTheRecorderReference() { var values = _httpContext.FhirResponse.AllergyIntolerances; - foreach(var allergy in values) + foreach (var allergy in values) { allergy.Recorder.ShouldNotBeNull("Recorder has a value"); } - + } [StepArgumentTransformation] diff --git a/GPConnect.Provider.AcceptanceTests/Steps/LocationSteps.cs b/GPConnect.Provider.AcceptanceTests/Steps/LocationSteps.cs index aaca5f37..8193188c 100644 --- a/GPConnect.Provider.AcceptanceTests/Steps/LocationSteps.cs +++ b/GPConnect.Provider.AcceptanceTests/Steps/LocationSteps.cs @@ -17,7 +17,7 @@ public class LocationSteps : BaseSteps private readonly HttpContext _httpContext; private List Locations => _httpContext.FhirResponse.Locations; - public LocationSteps(HttpContext httpContext, HttpSteps httpSteps) + public LocationSteps(HttpContext httpContext, HttpSteps httpSteps) : base(httpSteps) { _httpContext = httpContext; @@ -26,7 +26,7 @@ public LocationSteps(HttpContext httpContext, HttpSteps httpSteps) [Then(@"the Response Resource should be a Location")] public void TheResponseResourceShouldBeALocation() { - _httpContext.FhirResponse.resource.TypeName.ShouldBe(ResourceType.Location); + _httpContext.FhirResponse.Resource.TypeName.ShouldBe("Location"); var location = (Location)_httpContext.FhirResponse.Resource; @@ -101,7 +101,7 @@ public void TheLocationPartOfLocationShouldBeValid() { Locations.ForEach(location => { - location.PartOf?.Reference?.ShouldStartWith("Location/", "The reference element within the PartOf element of the Location resource should contain a relative Location reference."); + location.PartOf?.Reference?.ShouldStartWith("Location/", Case.Sensitive, "The reference element within the PartOf element of the Location resource should contain a relative Location reference."); }); } // github ref 120 @@ -121,16 +121,16 @@ public void TheLocationManagingOrganizationShouldBeValid() { Locations.ForEach(location => { - location.ManagingOrganization?.Reference?.ShouldStartWith("Organization/", "The ManagingOrganization reference should be a relative url for an Organization."); -// github ref 121 -// RMB 29/10/2018 - var reference = location.ManagingOrganization.Reference; + location.ManagingOrganization?.Reference?.ShouldStartWith("Organization/", Case.Sensitive, "The ManagingOrganization reference should be a relative url for an Organization."); + // github ref 121 + // RMB 29/10/2018 + var reference = location.ManagingOrganization.Reference; - reference.ShouldStartWith("Organization/"); + reference.ShouldStartWith("Organization/"); - var resource = _httpSteps.GetResourceForRelativeUrl(GpConnectInteraction.OrganizationRead, reference); + var resource = _httpSteps.GetResourceForRelativeUrl(GpConnectInteraction.OrganizationRead, reference); - resource.GetType().ShouldBe(typeof(Organization)); + resource.GetType().ShouldBe(typeof(Organization)); }); } @@ -226,10 +226,10 @@ public void TheLocationIdentifierShouldBeValidForValue(string locationName) if (!string.IsNullOrEmpty(locationName)) { - siteCodeIdentifiers.ForEach(siteCodeIdentifier => - { - siteCodeIdentifier.Value.ShouldBe(GlobalContext.OdsCodeMap[locationName], "Location business identifier does not match the expected business identifier."); - }); + siteCodeIdentifiers.ForEach(siteCodeIdentifier => + { + siteCodeIdentifier.Value.ShouldBe(GlobalContext.OdsCodeMap[locationName], "Location business identifier does not match the expected business identifier."); + }); } }); diff --git a/GPConnect.Provider.AcceptanceTests/Steps/OrganizationSteps.cs b/GPConnect.Provider.AcceptanceTests/Steps/OrganizationSteps.cs index 246ecfae..3f695ab2 100644 --- a/GPConnect.Provider.AcceptanceTests/Steps/OrganizationSteps.cs +++ b/GPConnect.Provider.AcceptanceTests/Steps/OrganizationSteps.cs @@ -64,13 +64,13 @@ public void TheOrganizationIdentifiersShouldBeValid() { OrganizationIdentifiersShouldBeValid(); } - + [Then(@"the Organization Identifiers should be valid for Organization ""([^""]*)""")] public void TheOrganizationIdentifiersShouldBeValidForOrganization(string organizationName) { OrganizationIdentifiersShouldBeValid(organizationName); } - + private void OrganizationIdentifiersShouldBeValid(string organizationName = null) { Organizations.ForEach(organization => @@ -132,7 +132,7 @@ public void TheOrganizationFullUrlShouldBeValid() organizationEntry.FullUrl.ShouldNotBeNull(); }); } - + [Then(@"the Organization Name should be valid")] public void TheOrganizationNameShouldBeValid() { @@ -195,7 +195,7 @@ private static void ValidateExtension(Extension extension) { if (extension != null) { - var validExtensions = new List{ FhirConst.StructureDefinitionSystems.kExtCcGpcMainLoc, FhirConst.StructureDefinitionSystems.kOrgzPeriod }; + var validExtensions = new List { FhirConst.StructureDefinitionSystems.kExtCcGpcMainLoc, FhirConst.StructureDefinitionSystems.kOrgzPeriod }; validExtensions.ShouldContain(extension.Url, $"The Organisation Extension is invalid. Extensions must be one of {validExtensions}."); } @@ -257,7 +257,7 @@ public void TheLocationPartOfLocationShouldBeValid() { Organizations.ForEach(organization => { - organization.PartOf?.Reference?.ShouldStartWith("Organization/", "The reference element within the PartOf element of the Organization resource should contain a relative Organization reference."); + organization.PartOf?.Reference?.ShouldStartWith("Organization/", Case.Sensitive, "The reference element within the PartOf element of the Organization resource should contain a relative Organization reference."); }); } @@ -296,7 +296,7 @@ public void AddAnIdentifierParameterWithOrganizationsCodeSystemAndValue(string v { _httpContext.HttpRequestConfiguration.RequestParameters.AddParameter("identifier", string.Format("{0}|{1}", FhirConst.IdentifierSystems.kOdsOrgzCode, GlobalContext.OdsCodeMap[value])); } - + [Given(@"I add an Identifier parameter with the Value ""([^""]*)""")] public void AddAnIdentifierParameterWithTheValue(string value) { @@ -319,7 +319,7 @@ public void AddAFormatParameterWithTheValue(string value) public void GetTheOrganizationForOrganizationCode(string code) { _httpSteps.ConfigureRequest(GpConnectInteraction.OrganizationSearch); - + AddAnIdentifierParameterWithOrganizationsCodeSystemAndValue(code); _httpSteps.MakeRequest(GpConnectInteraction.OrganizationSearch); @@ -339,8 +339,8 @@ public void StoreTheOrganization() StoreTheOrganization(null); } - - + + [Then(@"the Organization Identifiers are correct for Organization Code ""([^""]*)""")] public void OrganizationIdentifiersAreCorrectForOrganizationCode(string organizationCode) @@ -356,7 +356,7 @@ public void OrganizationIdentifiersAreCorrectForOrganizationCode(string organiza private static void OrganizationCodeIdentifiersAreValid(string organizationCode, Organization organization) { //Get Organization Codes for Organization - var organizationCodes = new List { GlobalContext.OdsCodeMap[organizationCode]}; + var organizationCodes = new List { GlobalContext.OdsCodeMap[organizationCode] }; //Get Organization Code Identifier values var organizationCodeIdentifierValues = organization.Identifier @@ -406,7 +406,7 @@ public void ThenAnOrganizationReturnedInTheBundleHasSystemIdentifier(int orgCoun orgLoopCounter++; continue; } - + } if ((orgLoopCounter == orgCount)) @@ -450,7 +450,8 @@ public void StoreTheOrganization(string siteCode) _httpContext.HttpRequestConfiguration.GetRequestId = organization.Id; _fhirResourceRepository.Organization = organization; } - else{ + else + { throw new Exception("Organization cannot be stored. Organization equal to null"); } } diff --git a/GPConnect.Provider.AcceptanceTests/Steps/PractitionerSteps.cs b/GPConnect.Provider.AcceptanceTests/Steps/PractitionerSteps.cs index 3b303d89..7fe21941 100644 --- a/GPConnect.Provider.AcceptanceTests/Steps/PractitionerSteps.cs +++ b/GPConnect.Provider.AcceptanceTests/Steps/PractitionerSteps.cs @@ -89,7 +89,7 @@ public void StoreThePractitionerVersionId() [Then(@"the Response Resource should be a Practitioner")] public void ResponseResourceShouldBeAPractitioner() { - _httpContext.FhirResponse.resource.TypeName.ShouldBe(ResourceType.Practitioner); + _httpContext.FhirResponse.Resource.TypeName.ShouldBe("Practitioner"); } [Then("the Practitioner Id should be valid")] @@ -130,7 +130,7 @@ public void ThePractitionerShouldBeFullyValid() ThePractitionerExcludeDisallowedElements(); ThePractitionerCommunicationShouldBeValid(); } - + [Then(@"the Practitioner Metadata should be valid")] public void ThePractitionerMetadataShouldBeValid() { @@ -348,14 +348,14 @@ private static void ValidateTelecom(List telecoms, string from) }); } - //#320 SJD 04/12/2019 - [Given(@"I add a Practitioner Identifier parameter with unknown value")] - public void AddAPractitionerIdentifierParameterWithUnknownValue() - { - _httpContext.HttpRequestConfiguration.RequestParameters.AddParameter("identifier", FhirConst.IdentifierSystems.kPracSDSUserId + '|' + "unknownSDSUserID"); - } + //#320 SJD 04/12/2019 + [Given(@"I add a Practitioner Identifier parameter with unknown value")] + public void AddAPractitionerIdentifierParameterWithUnknownValue() + { + _httpContext.HttpRequestConfiguration.RequestParameters.AddParameter("identifier", FhirConst.IdentifierSystems.kPracSDSUserId + '|' + "unknownSDSUserID"); + } - } + } } From 35f4730adeae01c2120a4b8f1f2495150340be68 Mon Sep 17 00:00:00 2001 From: williamjameswillis Date: Mon, 29 Sep 2025 16:06:15 +0100 Subject: [PATCH 03/18] tests running (all failing) --- .gitignore | 2 - .../GPConnect.Provider.AcceptanceTests.csproj | 6 + ...onnect.Provider.AcceptanceTests.dll.config | 159 ++++++++++++++++++ .../Helpers/AppSettingsHelper.cs | 20 ++- 4 files changed, 178 insertions(+), 9 deletions(-) create mode 100644 GPConnect.Provider.AcceptanceTests/GPConnect.Provider.AcceptanceTests.dll.config diff --git a/.gitignore b/.gitignore index a75da1ca..9800da53 100644 --- a/.gitignore +++ b/.gitignore @@ -257,8 +257,6 @@ paket-files/ #Ignore .feature.cs /GPConnect.Provider.AcceptanceTests/*.feature.cs -#ignore app.config file -*.config /GPConnect.Provider.AcceptanceTests/App.config diff --git a/GPConnect.Provider.AcceptanceTests/GPConnect.Provider.AcceptanceTests.csproj b/GPConnect.Provider.AcceptanceTests/GPConnect.Provider.AcceptanceTests.csproj index 06b00334..b8f847bc 100644 --- a/GPConnect.Provider.AcceptanceTests/GPConnect.Provider.AcceptanceTests.csproj +++ b/GPConnect.Provider.AcceptanceTests/GPConnect.Provider.AcceptanceTests.csproj @@ -8,6 +8,12 @@ GPConnect.Provider.AcceptanceTests + + + PreserveNewest + + + diff --git a/GPConnect.Provider.AcceptanceTests/GPConnect.Provider.AcceptanceTests.dll.config b/GPConnect.Provider.AcceptanceTests/GPConnect.Provider.AcceptanceTests.dll.config new file mode 100644 index 00000000..230085a7 --- /dev/null +++ b/GPConnect.Provider.AcceptanceTests/GPConnect.Provider.AcceptanceTests.dll.config @@ -0,0 +1,159 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/GPConnect.Provider.AcceptanceTests/Helpers/AppSettingsHelper.cs b/GPConnect.Provider.AcceptanceTests/Helpers/AppSettingsHelper.cs index 6952e464..2bf52407 100644 --- a/GPConnect.Provider.AcceptanceTests/Helpers/AppSettingsHelper.cs +++ b/GPConnect.Provider.AcceptanceTests/Helpers/AppSettingsHelper.cs @@ -50,7 +50,7 @@ public static class AppSettingsHelper public static string ServerHttpPortDocuments => Get("serverHttpPortDocuments"); public static string ServerBaseDocuments => Get("serverBaseDocuments"); - + // Web Proxy Settings public static bool UseWebProxy => Get("useWebProxy"); public static string WebProxyUrl => Get("webProxyUrl"); @@ -107,15 +107,21 @@ public static class AppSettingsHelper public static T Get(string key) { - var appSetting = ConfigurationManager.AppSettings[key]; + // Force ConfigurationManager to reload from the assembly config file + var configFilePath = System.Reflection.Assembly.GetExecutingAssembly().Location + ".config"; - if (!(key.Equals("serverHttpsPortFoundationsAndAppmts") || key.Equals("serverHttpPortFoundationsAndAppmts") || key.Equals("serverHttpsPortStructured") || key.Equals("serverHttpPortStructured") || key.Equals("serverHttpsPortDocuments") || key.Equals("serverHttpPortDocuments") ) && string.IsNullOrWhiteSpace(appSetting)) - { - throw new ConfigurationErrorsException($"AppSettings Key='{key}' Not Found."); - } + // Open the config file explicitly + var fileMap = new ExeConfigurationFileMap { ExeConfigFilename = configFilePath }; + var configuration = ConfigurationManager.OpenMappedExeConfiguration(fileMap, ConfigurationUserLevel.None); - var converter = TypeDescriptor.GetConverter(typeof(T)); + var appSetting = configuration.AppSettings.Settings[key]?.Value; + if (!(key.Equals("serverHttpsPortFoundationsAndAppmts") || key.Equals("serverHttpPortFoundationsAndAppmts") || key.Equals("serverHttpsPortStructured") || key.Equals("serverHttpPortStructured") || key.Equals("serverHttpsPortDocuments") || key.Equals("serverHttpPortDocuments")) && string.IsNullOrWhiteSpace(appSetting)) + { + throw new ConfigurationErrorsException($"AppSettings Key='{key}' Not Found."); + } + + var converter = TypeDescriptor.GetConverter(typeof(T)); return (T)converter.ConvertFromInvariantString(appSetting); } } From c026d026d3102f18a3487600348dcf39d7faba5b Mon Sep 17 00:00:00 2001 From: williamjameswillis Date: Mon, 29 Sep 2025 16:46:55 +0100 Subject: [PATCH 04/18] config fixes --- .../GPConnect.Provider.AcceptanceTests.dll.config | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/GPConnect.Provider.AcceptanceTests/GPConnect.Provider.AcceptanceTests.dll.config b/GPConnect.Provider.AcceptanceTests/GPConnect.Provider.AcceptanceTests.dll.config index 230085a7..632dab5a 100644 --- a/GPConnect.Provider.AcceptanceTests/GPConnect.Provider.AcceptanceTests.dll.config +++ b/GPConnect.Provider.AcceptanceTests/GPConnect.Provider.AcceptanceTests.dll.config @@ -54,14 +54,14 @@ - - - + + + - + - + From 6144a3a7a6ea7e06258b7574806f759951b89787 Mon Sep 17 00:00:00 2001 From: williamjameswillis Date: Mon, 29 Sep 2025 19:05:20 +0100 Subject: [PATCH 05/18] fhir repo --- .../GPConnect.Provider.AcceptanceTests.dll.config | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/GPConnect.Provider.AcceptanceTests/GPConnect.Provider.AcceptanceTests.dll.config b/GPConnect.Provider.AcceptanceTests/GPConnect.Provider.AcceptanceTests.dll.config index 632dab5a..7a2ad73b 100644 --- a/GPConnect.Provider.AcceptanceTests/GPConnect.Provider.AcceptanceTests.dll.config +++ b/GPConnect.Provider.AcceptanceTests/GPConnect.Provider.AcceptanceTests.dll.config @@ -61,7 +61,7 @@ - + From e1c994a6f30b628383620a48f1a6d1785a51a27f Mon Sep 17 00:00:00 2001 From: williamjameswillis Date: Tue, 30 Sep 2025 11:08:34 +0100 Subject: [PATCH 06/18] bump FHIR back down --- .../Appointment/DefaultAppointmentBuilder.cs | 20 +- .../Context/HttpContext.cs | 8 +- .../Extensions/BaseExtensions.cs | 2 +- .../Factories/RequestFactory.cs | 11 +- .../GPConnect.Provider.AcceptanceTests.csproj | 6 +- ...onnect.Provider.AcceptanceTests.dll.config | 23 +- .../Http/FhirResponse.cs | 2 +- .../Steps/AccessRecordSteps.cs | 8 +- .../Steps/BundleSteps.cs | 156 ++++---- .../Steps/ConformanceSteps.cs | 6 +- .../Steps/OrganizationSteps.cs | 2 +- .../Steps/PatientSteps.cs | 25 +- .../Steps/StructuredAllergySteps.cs | 374 +++++++++--------- 13 files changed, 318 insertions(+), 325 deletions(-) diff --git a/GPConnect.Provider.AcceptanceTests/Builders/Appointment/DefaultAppointmentBuilder.cs b/GPConnect.Provider.AcceptanceTests/Builders/Appointment/DefaultAppointmentBuilder.cs index dcf90068..436bd898 100644 --- a/GPConnect.Provider.AcceptanceTests/Builders/Appointment/DefaultAppointmentBuilder.cs +++ b/GPConnect.Provider.AcceptanceTests/Builders/Appointment/DefaultAppointmentBuilder.cs @@ -25,24 +25,24 @@ public Appointment BuildAppointment(Boolean addOrgType, Boolean addDeliveryChann var storedBundle = _fhirResourceRepository.Bundle; var firstSlot = storedBundle.Entry - .Where(entry => entry.Resource.TypeName.Equals(ResourceType.Slot)) + .Where(entry => entry.Resource.ResourceType.Equals(ResourceType.Slot)) .Select(entry => (Slot)entry.Resource) .First(); var schedule = storedBundle.Entry .Where(entry => - entry.Resource.TypeName.Equals(ResourceType.Schedule) && + entry.Resource.ResourceType.Equals(ResourceType.Schedule) && ComposeReferenceFromEntry(entry) == firstSlot.Schedule.Reference) .Select(entry => (Schedule)entry.Resource) .First(); - + //Patient var patient = GetPatient(storedPatient); //Practitioners var practitionerReferences = schedule.Extension.Where(extension => extension is ResourceReference).Select(extension => ((ResourceReference)extension.Value).Reference); var practitioners = GetPractitioners(practitionerReferences); - + //Location var locationReference = schedule.Actor.First(actor => actor.Reference.Contains("Location")).Reference; var location = GetLocation(locationReference); @@ -90,8 +90,8 @@ public Appointment BuildAppointment(Boolean addOrgType, Boolean addDeliveryChann if (schedule.ServiceCategory != null) { if (schedule.ServiceCategory.Text != null) - { - serviceCategory = schedule.ServiceCategory.Text; + { + serviceCategory = schedule.ServiceCategory.Text; } } @@ -109,7 +109,7 @@ public Appointment BuildAppointment(Boolean addOrgType, Boolean addDeliveryChann CreatedElement = new FhirDateTime(DateTime.UtcNow) }; - + //Add Extensions & Contained Resources appointment.Extension.Add(bookingOrganizationExtension); @@ -128,8 +128,8 @@ public Appointment BuildAppointment(Boolean addOrgType, Boolean addDeliveryChann //Delivery Channel if (addDeliveryChannel) { -// git hub ref 203 (demonstrator) failed if channel code <> In-Person -// RMB 28/2/19 + // git hub ref 203 (demonstrator) failed if channel code <> In-Person + // RMB 28/2/19 Extension sExt = firstSlot.GetExtension(FhirConst.StructureDefinitionSystems.kDeliveryChannel2Ext); var channelCode = sExt.Value; //Code channelCode = new Code("In-person"); @@ -260,5 +260,5 @@ private static IEnumerable GetPractitioners(IEnumerable new FhirXmlSerializer().SerializeToString(data); - } - else - { - _serializer = (data, summaryType, root) => new FhirJsonSerializer().SerializeToString(data); - } + _serializer = httpRequestConfiguration.RequestContentType.Contains("xml") + ? new Serializer(FhirSerializer.SerializeToXml) + : FhirSerializer.SerializeToJson; } private void ConfigureAppointmentCreateBody(HttpRequestConfiguration httpRequestConfiguration) diff --git a/GPConnect.Provider.AcceptanceTests/GPConnect.Provider.AcceptanceTests.csproj b/GPConnect.Provider.AcceptanceTests/GPConnect.Provider.AcceptanceTests.csproj index b8f847bc..3abb0b7c 100644 --- a/GPConnect.Provider.AcceptanceTests/GPConnect.Provider.AcceptanceTests.csproj +++ b/GPConnect.Provider.AcceptanceTests/GPConnect.Provider.AcceptanceTests.csproj @@ -26,8 +26,8 @@ - - + + @@ -36,7 +36,7 @@ - + diff --git a/GPConnect.Provider.AcceptanceTests/GPConnect.Provider.AcceptanceTests.dll.config b/GPConnect.Provider.AcceptanceTests/GPConnect.Provider.AcceptanceTests.dll.config index 7a2ad73b..e1961e98 100644 --- a/GPConnect.Provider.AcceptanceTests/GPConnect.Provider.AcceptanceTests.dll.config +++ b/GPConnect.Provider.AcceptanceTests/GPConnect.Provider.AcceptanceTests.dll.config @@ -40,18 +40,6 @@ - - - - - - - - - - - - @@ -61,7 +49,7 @@ - + @@ -76,6 +64,9 @@ + + + @@ -85,6 +76,9 @@ + + + @@ -93,6 +87,9 @@ + + + diff --git a/GPConnect.Provider.AcceptanceTests/Http/FhirResponse.cs b/GPConnect.Provider.AcceptanceTests/Http/FhirResponse.cs index db1b1919..a57201c9 100644 --- a/GPConnect.Provider.AcceptanceTests/Http/FhirResponse.cs +++ b/GPConnect.Provider.AcceptanceTests/Http/FhirResponse.cs @@ -46,7 +46,7 @@ private List GetResources() where T : Resource if (Resource.TypeName == "Bundle") { return Entries - .Where(entry => entry.Resource.TypeName.Equals(ResourceTypeMap[type])) + .Where(entry => entry.Resource.ResourceType.Equals(ResourceTypeMap[type])) .Select(entry => (T)entry.Resource) .ToList(); } diff --git a/GPConnect.Provider.AcceptanceTests/Steps/AccessRecordSteps.cs b/GPConnect.Provider.AcceptanceTests/Steps/AccessRecordSteps.cs index 8aee87c6..4998a268 100644 --- a/GPConnect.Provider.AcceptanceTests/Steps/AccessRecordSteps.cs +++ b/GPConnect.Provider.AcceptanceTests/Steps/AccessRecordSteps.cs @@ -109,7 +109,7 @@ public void TheBundleidshouldmatchtheSSPTraceID() private void CheckBundleResources(string patient) { List patientResources = Bundle.GetResources().ToList() - .Where(resource => resource.TypeName.Equals(ResourceType.Patient)) + .Where(resource => resource.ResourceType.Equals(ResourceType.Patient)) .ToList(); patientResources.Count.ShouldBeGreaterThan(0, "Bundle must contain a Patient resource"); @@ -137,11 +137,11 @@ private void CheckBundleResources(string patient) private void checkPractitionerOrganisationResourcesAgainstPatientGp(Patient patient) { List practitionerResources = Bundle.GetResources().ToList() - .Where(resource => resource.TypeName.Equals(ResourceType.Practitioner)) + .Where(resource => resource.ResourceType.Equals(ResourceType.Practitioner)) .ToList(); List organisationResources = Bundle.GetResources().ToList() - .Where(resource => resource.TypeName.Equals(ResourceType.Organization)) + .Where(resource => resource.ResourceType.Equals(ResourceType.Organization)) .ToList(); patient.GeneralPractitioner.ForEach(gp => @@ -191,7 +191,7 @@ private void checkPractitionerRoleResourcesAgainstPatientGpRole(Resource practit .ToList(); List roleResources = Bundle.GetResources().ToList() - .Where(resource => resource.TypeName.Equals(ResourceType.PractitionerRole)) + .Where(resource => resource.ResourceType.Equals(ResourceType.PractitionerRole)) .ToList(); pracRoleIdentifiers.ForEach(roleIdentifier => diff --git a/GPConnect.Provider.AcceptanceTests/Steps/BundleSteps.cs b/GPConnect.Provider.AcceptanceTests/Steps/BundleSteps.cs index 2cba0cf8..e314a9d1 100644 --- a/GPConnect.Provider.AcceptanceTests/Steps/BundleSteps.cs +++ b/GPConnect.Provider.AcceptanceTests/Steps/BundleSteps.cs @@ -5,14 +5,14 @@ namespace GPConnect.Provider.AcceptanceTests.Steps using Context; using GPConnect.Provider.AcceptanceTests.Logger; using Hl7.Fhir.Model; - using Hl7.Fhir.Serialization; - using Newtonsoft.Json.Linq; - using NUnit.Framework; + using Hl7.Fhir.Serialization; + using Newtonsoft.Json.Linq; + using NUnit.Framework; using Shouldly; using System; using System.Collections.Generic; - using System.IO; - using System.Linq; + using System.IO; + using System.Linq; using TechTalk.SpecFlow; using static Hl7.Fhir.Model.Bundle; @@ -20,16 +20,16 @@ namespace GPConnect.Provider.AcceptanceTests.Steps public sealed class BundleSteps : BaseSteps { private readonly HttpContext _httpContext; - private List Medications => _httpContext.FhirResponse.Medications; - private List MedicationStatements => _httpContext.FhirResponse.MedicationStatements; - private List MedicationRequests => _httpContext.FhirResponse.MedicationRequests; - private List ActiveAllergyIntolerances => _httpContext.FhirResponse.AllergyIntolerances; - private List Observations => _httpContext.FhirResponse.Observations; - private List Encounters => _httpContext.FhirResponse.Encounters; - private List Problems => _httpContext.FhirResponse.Conditions; - private List Immunizations => _httpContext.FhirResponse.Immunizations; - - public BundleSteps(HttpSteps httpSteps, HttpContext httpContext) : base(httpSteps) + private List Medications => _httpContext.FhirResponse.Medications; + private List MedicationStatements => _httpContext.FhirResponse.MedicationStatements; + private List MedicationRequests => _httpContext.FhirResponse.MedicationRequests; + private List ActiveAllergyIntolerances => _httpContext.FhirResponse.AllergyIntolerances; + private List Observations => _httpContext.FhirResponse.Observations; + private List Encounters => _httpContext.FhirResponse.Encounters; + private List Problems => _httpContext.FhirResponse.Conditions; + private List Immunizations => _httpContext.FhirResponse.Immunizations; + + public BundleSteps(HttpSteps httpSteps, HttpContext httpContext) : base(httpSteps) { _httpContext = httpContext; } @@ -37,7 +37,7 @@ public BundleSteps(HttpSteps httpSteps, HttpContext httpContext) : base(httpStep [Then(@"the response should be a Bundle resource of type ""([^""]*)""")] public void ThenTheResponseShouldBeABundleResourceOfType(string resourceType) { - _httpContext.FhirResponse.Resource.TypeName.ShouldBe("Bundle"); + _httpContext.FhirResponse.Resource.ResourceType.ShouldBe(ResourceType.Bundle); if ("document".Equals(resourceType)) { @@ -75,7 +75,7 @@ public void ThenTheBundleEntriesShouldNotContainAFullurl() }); //check that no fullurl entries found, else fail test and report how many found - foundFullurlCounter.ShouldBe(0,("Expected 0 fullurl key/value pairs but found : " + foundFullurlCounter.ToString() )); + foundFullurlCounter.ShouldBe(0, ("Expected 0 fullurl key/value pairs but found : " + foundFullurlCounter.ToString())); } @@ -93,17 +93,17 @@ public void ThenTheResponseShouldBeAOperationOutcomeResourceWithErrorCode(string TestOperationOutcomeResource(errorCode); } - [Then (@"the response should be a OperationOutcome resource with error code ""(.*)"" and display ""(.*)""")] + [Then(@"the response should be a OperationOutcome resource with error code ""(.*)"" and display ""(.*)""")] public void ThenTheResponseShouldBeAOperationOutcomeResourceWithErrorCodeAndDisplay(string errorCode, string errorDisplay) { TestOperationOutcomeResource(errorCode, errorDisplay); } - private void TestOperationOutcomeResource(string errorCode = null, string errorDisplay=null) + private void TestOperationOutcomeResource(string errorCode = null, string errorDisplay = null) { var resource = _httpContext.FhirResponse.Resource; - resource.TypeName.ShouldBe("OperationOutcome"); + resource.ResourceType.ShouldBe(ResourceType.OperationOutcome); var operationOutcome = (OperationOutcome)resource; @@ -131,7 +131,7 @@ private void TestOperationOutcomeResource(string errorCode = null, string errorD if (!string.IsNullOrEmpty(errorCode)) { - coding.Code.ShouldBe(errorCode,string.Format("coding.Code should be {0} but is {1}",errorCode, coding.Code)); + coding.Code.ShouldBe(errorCode, string.Format("coding.Code should be {0} but is {1}", errorCode, coding.Code)); } if (!string.IsNullOrEmpty(errorDisplay)) @@ -208,7 +208,7 @@ public void ThenTheResponseMetaProfileShouldBe(string metaProfileType) [Then(@"the patient resource in the bundle should contain meta data profile and version id")] public void ThenThePatientResourceInTheBundleShouldContainMetaDataProfileAndVersionId() { - CheckForValidMetaDataInResource(_httpContext.FhirResponse.Patients,FhirConst.StructureDefinitionSystems.kPatient); + CheckForValidMetaDataInResource(_httpContext.FhirResponse.Patients, FhirConst.StructureDefinitionSystems.kPatient); } [Then(@"if the response bundle contains an organization resource it should contain meta data profile and version id")] @@ -255,7 +255,7 @@ public void ResponseBundleContainsReferenceOfType(string reference, ResourceType var lowerReference = reference.ToLowerInvariant(); - _httpContext.FhirResponse.Bundle.Entry.ShouldContain(entry => lowerReference.Equals(ComposeReferenceFromEntry(entry)) && entry.Resource.TypeName.Equals(resourceType), customMessage); + _httpContext.FhirResponse.Bundle.Entry.ShouldContain(entry => lowerReference.Equals(ComposeReferenceFromEntry(entry)) && entry.Resource.ResourceType.Equals(resourceType), customMessage); } private static string ComposeReferenceFromEntry(EntryComponent entry) @@ -267,62 +267,62 @@ public void ResponseBundleDoesNotContainReferenceOfType(ResourceType resourceTyp { const string customMessage = "The reference from the resource was found in the bundle by fullUrl resource element but has not been requested."; - _httpContext.FhirResponse.Bundle.Entry.Count(ent => ent.Resource.TypeName.Equals(resourceType)).ShouldBe(0, customMessage); + _httpContext.FhirResponse.Bundle.Entry.Count(ent => ent.Resource.ResourceType.Equals(resourceType)).ShouldBe(0, customMessage); } - [Then(@"check that the bundle does not contain any duplicate resources")] - public void ThenCheckThatTheBundleDoesNotContainAnyDuplicateResources() - { - //Check Meds for Duplicates - Medications.ForEach(itemToCheck => - { - (Medications.Where(m => m.Id == itemToCheck.Id)).ToList().Count().ShouldBe(1, "Error : Duplicate Medication Resource Found with ID : " + itemToCheck.Id); - }); - - //Check MedicationStatements for Duplicates - MedicationStatements.ForEach(itemToCheck => - { - (MedicationStatements.Where(m => m.Id == itemToCheck.Id)).ToList().Count().ShouldBe(1, "Error : Duplicate MedicationStatement Resource Found with ID : " + itemToCheck.Id); - }); - - // Check MedicationRequests for Duplicates - MedicationRequests.ForEach(itemToCheck => - { - (MedicationRequests.Where(m => m.Id == itemToCheck.Id)).ToList().Count().ShouldBe(1, "Error : Duplicate MedicationRequests Resource Found with ID : " + itemToCheck.Id); - }); - - // Check ActiveAllergyIntolerances for Duplicates - ActiveAllergyIntolerances.ForEach(itemToCheck => - { - (ActiveAllergyIntolerances.Where(a => a.Id == itemToCheck.Id)).ToList().Count().ShouldBe(1, "Error : Duplicate ActiveAllergyIntolerances Resource Found with ID : " + itemToCheck.Id); - }); - - // Check Observations for Duplicates - Observations.ForEach(itemToCheck => - { - (Observations.Where(o => o.Id == itemToCheck.Id)).ToList().Count().ShouldBe(1, "Error : Duplicate Observations Resource Found with ID : " + itemToCheck.Id); - }); - - // Check Immunizations for Duplicates - Immunizations.ForEach(itemToCheck => - { - (Immunizations.Where(i => i.Id == itemToCheck.Id)).ToList().Count().ShouldBe(1, "Error : Duplicate Immunizations Resource Found with ID : " + itemToCheck.Id); - }); - - // Check Encounters for Duplicates - Encounters.ForEach(itemToCheck => - { - (Encounters.Where(e => e.Id == itemToCheck.Id)).ToList().Count().ShouldBe(1, "Error : Duplicate Encounters Resource Found with ID : " + itemToCheck.Id); - }); - - // Check Problems for Duplicates - Problems.ForEach(itemToCheck => - { - (Problems.Where(p => p.Id == itemToCheck.Id)).ToList().Count().ShouldBe(1, "Error : Duplicate Problems Resource Found with ID : " + itemToCheck.Id); - }); - - } - - } + [Then(@"check that the bundle does not contain any duplicate resources")] + public void ThenCheckThatTheBundleDoesNotContainAnyDuplicateResources() + { + //Check Meds for Duplicates + Medications.ForEach(itemToCheck => + { + (Medications.Where(m => m.Id == itemToCheck.Id)).ToList().Count().ShouldBe(1, "Error : Duplicate Medication Resource Found with ID : " + itemToCheck.Id); + }); + + //Check MedicationStatements for Duplicates + MedicationStatements.ForEach(itemToCheck => + { + (MedicationStatements.Where(m => m.Id == itemToCheck.Id)).ToList().Count().ShouldBe(1, "Error : Duplicate MedicationStatement Resource Found with ID : " + itemToCheck.Id); + }); + + // Check MedicationRequests for Duplicates + MedicationRequests.ForEach(itemToCheck => + { + (MedicationRequests.Where(m => m.Id == itemToCheck.Id)).ToList().Count().ShouldBe(1, "Error : Duplicate MedicationRequests Resource Found with ID : " + itemToCheck.Id); + }); + + // Check ActiveAllergyIntolerances for Duplicates + ActiveAllergyIntolerances.ForEach(itemToCheck => + { + (ActiveAllergyIntolerances.Where(a => a.Id == itemToCheck.Id)).ToList().Count().ShouldBe(1, "Error : Duplicate ActiveAllergyIntolerances Resource Found with ID : " + itemToCheck.Id); + }); + + // Check Observations for Duplicates + Observations.ForEach(itemToCheck => + { + (Observations.Where(o => o.Id == itemToCheck.Id)).ToList().Count().ShouldBe(1, "Error : Duplicate Observations Resource Found with ID : " + itemToCheck.Id); + }); + + // Check Immunizations for Duplicates + Immunizations.ForEach(itemToCheck => + { + (Immunizations.Where(i => i.Id == itemToCheck.Id)).ToList().Count().ShouldBe(1, "Error : Duplicate Immunizations Resource Found with ID : " + itemToCheck.Id); + }); + + // Check Encounters for Duplicates + Encounters.ForEach(itemToCheck => + { + (Encounters.Where(e => e.Id == itemToCheck.Id)).ToList().Count().ShouldBe(1, "Error : Duplicate Encounters Resource Found with ID : " + itemToCheck.Id); + }); + + // Check Problems for Duplicates + Problems.ForEach(itemToCheck => + { + (Problems.Where(p => p.Id == itemToCheck.Id)).ToList().Count().ShouldBe(1, "Error : Duplicate Problems Resource Found with ID : " + itemToCheck.Id); + }); + + } + + } } diff --git a/GPConnect.Provider.AcceptanceTests/Steps/ConformanceSteps.cs b/GPConnect.Provider.AcceptanceTests/Steps/ConformanceSteps.cs index 7bb90cfb..b75c590e 100644 --- a/GPConnect.Provider.AcceptanceTests/Steps/ConformanceSteps.cs +++ b/GPConnect.Provider.AcceptanceTests/Steps/ConformanceSteps.cs @@ -23,7 +23,7 @@ public CapabilityStatementSteps(HttpContext httpContext) [Then("the Response Resource should be a CapabilityStatement")] public void TheResponseResourceShouldBeACapabilityStatement() { - _httpContext.FhirResponse.Resource.TypeName.ShouldBe("CapabilityStatement"); + _httpContext.FhirResponse.Resource.ResourceType.ShouldBe(ResourceType.CapabilityStatement); } [Then(@"the FoundationsAndAppmts CapabilityStatement version should match the GP Connect specification release")] @@ -51,7 +51,7 @@ public void TheDocumentsCapabilityStatementVersionShouldMatchTheGPConnectSpecifi { capabilityStatement.Version.ShouldBe(AppSettingsHelper.GPConnectSpecVersionDocuments, $"The Documents CapabilityStatement should match the specification version {AppSettingsHelper.GPConnectSpecVersionDocuments} but was {capabilityStatement.Version}"); }); - } + } [Then("the CapabilityStatement Format should contain XML and JSON")] public void TheCapabilityStatementFormatShouldContainXmlAndJson() @@ -95,7 +95,7 @@ public void TheCapabilityStatementRestOperationsShouldContain(string operation) }); }); } - + //#292 - PG 30/8/2019 - Check The structured record URL [Then(@"the CapabilityStatement Operation ""([^""]*)"" has url ""([^""]*)""")] public void TheCapabilityStatementOperationsHasURL(string operation, string url) diff --git a/GPConnect.Provider.AcceptanceTests/Steps/OrganizationSteps.cs b/GPConnect.Provider.AcceptanceTests/Steps/OrganizationSteps.cs index 3f695ab2..f809537b 100644 --- a/GPConnect.Provider.AcceptanceTests/Steps/OrganizationSteps.cs +++ b/GPConnect.Provider.AcceptanceTests/Steps/OrganizationSteps.cs @@ -37,7 +37,7 @@ public OrganizationSteps(HttpSteps httpSteps, HttpContext httpContext, BundleSte [Then(@"the Response Resource should be an Organization")] public void TheResponseResourceShouldBeAnOrganization() { - _httpContext.FhirResponse.Resource.TypeName.ShouldBe("Organization"); + _httpContext.FhirResponse.Resource.ResourceType.ShouldBe(ResourceType.Organization); } [Then("the Organization Id should equal the Request Id")] diff --git a/GPConnect.Provider.AcceptanceTests/Steps/PatientSteps.cs b/GPConnect.Provider.AcceptanceTests/Steps/PatientSteps.cs index 89b7028f..0aa85170 100644 --- a/GPConnect.Provider.AcceptanceTests/Steps/PatientSteps.cs +++ b/GPConnect.Provider.AcceptanceTests/Steps/PatientSteps.cs @@ -38,7 +38,7 @@ public PatientSteps(HttpSteps httpSteps, HttpContext httpContext, BundleSteps bu [Then(@"the Response Resource should be a Patient")] public void TheResponseResourceShouldBeAPatient() { - _httpContext.FhirResponse.Resource.TypeName.ShouldBe("Patient"); + _httpContext.FhirResponse.Resource.ResourceType.ShouldBe(ResourceType.Patient); } [Then(@"the Patient Id should be valid")] @@ -83,7 +83,7 @@ public void ThePatientMultipleBirthShouldBeValid() Patients.ForEach(patient => { patient.MultipleBirth?.ShouldBeOfType("Multiple Birth must be of type FhirBoolean"); - + }); @@ -152,11 +152,11 @@ public void ThePatientContactTelecomUseShouldBeValid() telecom.Use.ShouldNotBeNull(); }); - }); + }); }); } - [Then(@"the Patient Identifiers should be valid")] + [Then(@"the Patient Identifiers should be valid")] public void ThePatientIdentifiersShouldBeValid() { ThePatientIdentifiersShouldBeValid(null); @@ -202,8 +202,8 @@ public void ThePatientTelecomShouldBeValid() telecom.System.ShouldNotBeNull("The telecom system should not be null"); telecom.Value.ShouldNotBeNull("The telecom value element should not be null"); //telecom.System.ShouldBeOfType(string.Format("{0} System is not a valid value within the value set {1}", FhirConst.ValueSetSystems.kContactPointSystem)); -// git hub ref 121 -// RMB 25/10/2018 + // git hub ref 121 + // RMB 25/10/2018 telecom.Use.ShouldNotBeNull("The telecom use element should not be null"); }); @@ -392,10 +392,10 @@ public void ThePatientContactShouldBeValid() var valueSet = ValueSetCache.Get(FhirConst.ValueSetSystems.kVsRelationshipStatus); ShouldBeSingleCodingWhichIsInValueSet(valueSet, relationship.Coding); -// github ref 126 -// RMB 29/10/2018 + // github ref 126 + // RMB 29/10/2018 relationship.Text.ShouldNotBeNull(); - relationship.Coding.Count.ShouldBe(0); + relationship.Coding.Count.ShouldBe(0); }); //contact.Name.ShouldBeNull(); @@ -497,7 +497,8 @@ public void StoreThePatient() { _httpContext.HttpRequestConfiguration.GetRequestId = patient.Id; _fhirResourceRepository.Patient = patient; - } else + } + else { patient.ShouldNotBeNull("Stored patient is null."); } @@ -606,7 +607,7 @@ public void ThePatientLinkShouldBeValidAndResolvable() public void ThePatientNotInUseShouldBeValid() { Patients.ForEach(patient => - { + { patient.MaritalStatus.ShouldBeNull(); patient.MultipleBirth.ShouldBeNull(); // EXTENSIONS @@ -638,7 +639,7 @@ public void ThePatientRegistrationDetailsShouldBeValid() { var regDetailsExtension = registrationDetailsExtensions.First(); var regExtensions = regDetailsExtension.Extension; - + //Check the registrationPeriod is valid var extensions = regExtensions.Where(extension => extension.Url.Equals(FhirConst.StructureDefinitionSystems.kCCExtRegistrationPeriod)).ToList(); extensions.Count.ShouldBeLessThanOrEqualTo(1, "The patient resource should contain a maximum of 1 registration period extension."); diff --git a/GPConnect.Provider.AcceptanceTests/Steps/StructuredAllergySteps.cs b/GPConnect.Provider.AcceptanceTests/Steps/StructuredAllergySteps.cs index 89850bda..e098132c 100644 --- a/GPConnect.Provider.AcceptanceTests/Steps/StructuredAllergySteps.cs +++ b/GPConnect.Provider.AcceptanceTests/Steps/StructuredAllergySteps.cs @@ -13,7 +13,7 @@ namespace GPConnect.Provider.AcceptanceTests.Steps using GPConnect.Provider.AcceptanceTests.Helpers; using GPConnect.Provider.AcceptanceTests.Steps; using GPConnect.Provider.AcceptanceTests.Logger; - using System.Text.RegularExpressions; + using System.Text.RegularExpressions; [Binding] public sealed class StructuredAllergySteps : BaseSteps @@ -105,61 +105,61 @@ public void TheListOfAllergyIntolerancesShouldBeValid() { Lists.ForEach(list => { - //make sure to only act on allergies lists - if (list.Code.Coding.First().Code.Equals(FhirConst.GetSnoMedParams.kActiveAllergies) || list.Code.Coding.First().Code.Equals(FhirConst.GetSnoMedParams.kResolvedAllergies)) - { - AccessRecordSteps.BaseListParametersAreValid(list); - - // Added 1.2.1 RMB 1/10/2018 - list.Meta.VersionId.ShouldBeNull("List Meta VersionId should be Null"); - list.Meta.LastUpdated.ShouldBeNull("List Meta LastUpdated should be Null"); - - //Alergy specific checks - CheckForValidMetaDataInResource(list, FhirConst.StructureDefinitionSystems.kList); - - if (list.Title.Equals(FhirConst.ListTitles.kActiveAllergies)) - { - list.Code.Coding.First().Code.Equals("886921000000105"); - } - else if (list.Title.Equals(FhirConst.ListTitles.kResolvedAllergies)) - { - // Changed from TBD to 1103671000000101 for 1.2.0 RMB 7/8/2018 - list.Code.Coding.First().Code.Equals("1103671000000101"); - // Amended github ref 89 - // RMB 9/10/2018 - // git hub ref 174 snomed code display set to Ended allergies - // RMB 23/1/19 - // list.Code.Coding.First().Display.ShouldBe("Ended allergies (record artifact)"); - list.Code.Coding.First().Display.ShouldBe("Ended allergies"); - } - - - if (list.Entry.Count > 0) - { - list.Entry.ForEach(entry => - { - entry.Item.ShouldNotBeNull("The item field must be populated for each list entry."); - entry.Item.Reference.ShouldMatch("AllergyIntolerance/.+|#.+"); - if (entry.Item.IsContainedReference) - { - string id = entry.Item.Reference.Substring(1); - List contained = list.Contained.Where(allergy => allergy.Id.Equals(id)).ToList(); - contained.Count.ShouldBe(1); - contained.ForEach(allergy => - { - AllergyIntolerance allergyIntolerance = (AllergyIntolerance)allergy; - allergyIntolerance.ClinicalStatus.Equals(AllergyIntolerance.AllergyIntoleranceClinicalStatus.Resolved); - }); - } - }); - } - - if (list.Entry.Count == 0) - { - list.EmptyReason.ShouldNotBeNull("The List's empty reason field must be populated if the list is empty."); - list.Note.ShouldNotBeNull("The List's note field must be populated if the list is empty."); - } - } + //make sure to only act on allergies lists + if (list.Code.Coding.First().Code.Equals(FhirConst.GetSnoMedParams.kActiveAllergies) || list.Code.Coding.First().Code.Equals(FhirConst.GetSnoMedParams.kResolvedAllergies)) + { + AccessRecordSteps.BaseListParametersAreValid(list); + + // Added 1.2.1 RMB 1/10/2018 + list.Meta.VersionId.ShouldBeNull("List Meta VersionId should be Null"); + list.Meta.LastUpdated.ShouldBeNull("List Meta LastUpdated should be Null"); + + //Alergy specific checks + CheckForValidMetaDataInResource(list, FhirConst.StructureDefinitionSystems.kList); + + if (list.Title.Equals(FhirConst.ListTitles.kActiveAllergies)) + { + list.Code.Coding.First().Code.Equals("886921000000105"); + } + else if (list.Title.Equals(FhirConst.ListTitles.kResolvedAllergies)) + { + // Changed from TBD to 1103671000000101 for 1.2.0 RMB 7/8/2018 + list.Code.Coding.First().Code.Equals("1103671000000101"); + // Amended github ref 89 + // RMB 9/10/2018 + // git hub ref 174 snomed code display set to Ended allergies + // RMB 23/1/19 + // list.Code.Coding.First().Display.ShouldBe("Ended allergies (record artifact)"); + list.Code.Coding.First().Display.ShouldBe("Ended allergies"); + } + + + if (list.Entry.Count > 0) + { + list.Entry.ForEach(entry => + { + entry.Item.ShouldNotBeNull("The item field must be populated for each list entry."); + entry.Item.Reference.ShouldMatch("AllergyIntolerance/.+|#.+"); + if (entry.Item.IsContainedReference) + { + string id = entry.Item.Reference.Substring(1); + List contained = list.Contained.Where(allergy => allergy.Id.Equals(id)).ToList(); + contained.Count.ShouldBe(1); + contained.ForEach(allergy => + { + AllergyIntolerance allergyIntolerance = (AllergyIntolerance)allergy; + allergyIntolerance.ClinicalStatus.Equals(AllergyIntolerance.AllergyIntoleranceClinicalStatus.Resolved); + }); + } + }); + } + + if (list.Entry.Count == 0) + { + list.EmptyReason.ShouldNotBeNull("The List's empty reason field must be populated if the list is empty."); + list.Note.ShouldNotBeNull("The List's note field must be populated if the list is empty."); + } + } }); } @@ -206,42 +206,42 @@ private List getListsWithTitle(string title) [Then(@"the Lists are valid for a patient with no allergies")] public void TheListsAreValidForAPatientWithNoAllergies() { - Lists.ForEach(list => - { - list.Entry.ShouldBeEmpty(); - list.Note.ShouldNotBeNull(); - list.Note.ShouldHaveSingleItem(); - //#289 PG 6/9/2019 - changed as more notes added - //list.Note.First().Text.ShouldBe("Information not available"); - var found = false; - foreach (var note in list.Note) - { - if (note.Text.Contains("Information not available")) - found = true; - } - - if (!found) - { - Log.WriteLine("Warning not Found : Information not available"); - found.ShouldBeTrue("Warning not Found : Information not available"); - } - else - { - Log.WriteLine("Warning Found : Information not available"); - } - - list.EmptyReason.ShouldNotBeNull(); - list.EmptyReason.Coding.Count.ShouldBe(1); -// git hub ref 158 -// RMB 9/1/19 - list.EmptyReason.Coding.First().System.ShouldBe(FhirConst.StructureDefinitionSystems.kListEmptyReason); -// Amended for github ref 87 -// RMB 9/10/2018 - list.EmptyReason.Coding.First().Code.ShouldBe("no-content-recorded"); -// Amended for github ref 172 -// RMB 24/1/19 - list.EmptyReason.Coding.First().Display.ShouldBe("No Content Recorded"); - }); + Lists.ForEach(list => + { + list.Entry.ShouldBeEmpty(); + list.Note.ShouldNotBeNull(); + list.Note.ShouldHaveSingleItem(); + //#289 PG 6/9/2019 - changed as more notes added + //list.Note.First().Text.ShouldBe("Information not available"); + var found = false; + foreach (var note in list.Note) + { + if (note.Text.Contains("Information not available")) + found = true; + } + + if (!found) + { + Log.WriteLine("Warning not Found : Information not available"); + found.ShouldBeTrue("Warning not Found : Information not available"); + } + else + { + Log.WriteLine("Warning Found : Information not available"); + } + + list.EmptyReason.ShouldNotBeNull(); + list.EmptyReason.Coding.Count.ShouldBe(1); + // git hub ref 158 + // RMB 9/1/19 + list.EmptyReason.Coding.First().System.ShouldBe(FhirConst.StructureDefinitionSystems.kListEmptyReason); + // Amended for github ref 87 + // RMB 9/10/2018 + list.EmptyReason.Coding.First().Code.ShouldBe("no-content-recorded"); + // Amended for github ref 172 + // RMB 24/1/19 + list.EmptyReason.Coding.First().Display.ShouldBe("No Content Recorded"); + }); } [Then(@"the Lists are valid for a patient with explicit no allergies coding")] @@ -265,15 +265,15 @@ public void TheListsAreValidForAPatientWithAllergies() { Lists.ForEach(list => { - if (list.Code.Coding.First().Code.Equals(FhirConst.GetSnoMedParams.kActiveAllergies)) - { - - list.EmptyReason.ShouldBeNull("List empty reason should be null"); - list.Note.ForEach(note => - { - note.Text.ShouldNotContain("no known allergies"); - }); - } + if (list.Code.Coding.First().Code.Equals(FhirConst.GetSnoMedParams.kActiveAllergies)) + { + + list.EmptyReason.ShouldBeNull("List empty reason should be null"); + list.Note.ForEach(note => + { + note.Text.ShouldNotContain("no known allergies"); + }); + } }); } @@ -294,72 +294,72 @@ public void TheListsAreValidForAPatientWithooutAllergies() }); } - - [Then(@"Check the list contains the following warning ""(.*)""")] - public void CheckTheListContainsTheFollowingWarning(string WarningToCheckFor) - { - Lists.ForEach(list => - { - var found = list.Extension - .Where(extension => extension.Url.Equals(FhirConst.StructureDefinitionSystems.kExtListWarningCode)) - .Where(extension => extension.Value.ToString().Equals(WarningToCheckFor)).ToList(); - - if (found.Count() == 1) - Log.WriteLine("Found Warning : " + WarningToCheckFor + " in List : " +list.Title); - - found.Count().ShouldBe(1, "Unable to Find Warning : " + WarningToCheckFor + " in List : " + list.Title); - }); - } - - - [Then(@"Check the warning ""(.*)"" has associated note ""(.*)""")] - public void CheckTheListContainsTheFollowingNote(string warning,string noteToCheckFor) - { - Lists.ForEach(list => - { - if (warning != "data-in-transit") - { - var matches = list.Note - .Where(note => note.Text.Contains(noteToCheckFor)); - - if (matches.Count() == 1) - Log.WriteLine("Found Note : " + noteToCheckFor + " in List : " + list.Title); - - matches.Count().ShouldBe(1, "Unable to Find Note : " + noteToCheckFor + "in LIst : " + list.Title); - } - //Process data-in-transit separatly due to date being variable in message - else - { - Regex regex = new Regex("(.*)dd-Mmm-yyyy(.*)"); - string noteWithRegex = regex.Replace(noteToCheckFor, "$1.*$2"); - Regex findNoteRegex = new Regex(noteWithRegex); - - var found = false; - MatchCollection matches; - foreach (var note in list.Note) - { - matches = findNoteRegex.Matches(note.Text); - if (matches.Count == 1) - { - found = true; - Log.WriteLine("Warning Note Found : " + noteToCheckFor + " in List : " + list.Title); - } - } - - if (!found) - { - found.ShouldBeTrue("Unable to Find Warning Note : " + noteToCheckFor + " in LIst : " + list.Title); - Log.WriteLine("Note Not Found For Warning: " + noteToCheckFor + " in List : " + list.Title); - } - - } - }); - } - - - - - + + [Then(@"Check the list contains the following warning ""(.*)""")] + public void CheckTheListContainsTheFollowingWarning(string WarningToCheckFor) + { + Lists.ForEach(list => + { + var found = list.Extension + .Where(extension => extension.Url.Equals(FhirConst.StructureDefinitionSystems.kExtListWarningCode)) + .Where(extension => extension.Value.ToString().Equals(WarningToCheckFor)).ToList(); + + if (found.Count() == 1) + Log.WriteLine("Found Warning : " + WarningToCheckFor + " in List : " + list.Title); + + found.Count().ShouldBe(1, "Unable to Find Warning : " + WarningToCheckFor + " in List : " + list.Title); + }); + } + + + [Then(@"Check the warning ""(.*)"" has associated note ""(.*)""")] + public void CheckTheListContainsTheFollowingNote(string warning, string noteToCheckFor) + { + Lists.ForEach(list => + { + if (warning != "data-in-transit") + { + var matches = list.Note + .Where(note => note.Text.Contains(noteToCheckFor)); + + if (matches.Count() == 1) + Log.WriteLine("Found Note : " + noteToCheckFor + " in List : " + list.Title); + + matches.Count().ShouldBe(1, "Unable to Find Note : " + noteToCheckFor + "in LIst : " + list.Title); + } + //Process data-in-transit separatly due to date being variable in message + else + { + Regex regex = new Regex("(.*)dd-Mmm-yyyy(.*)"); + string noteWithRegex = regex.Replace(noteToCheckFor, "$1.*$2"); + Regex findNoteRegex = new Regex(noteWithRegex); + + var found = false; + MatchCollection matches; + foreach (var note in list.Note) + { + matches = findNoteRegex.Matches(note.Text); + if (matches.Count == 1) + { + found = true; + Log.WriteLine("Warning Note Found : " + noteToCheckFor + " in List : " + list.Title); + } + } + + if (!found) + { + found.ShouldBeTrue("Unable to Find Warning Note : " + noteToCheckFor + " in LIst : " + list.Title); + Log.WriteLine("Note Not Found For Warning: " + noteToCheckFor + " in List : " + list.Title); + } + + } + }); + } + + + + + #endregion #region Allergy Intolerance Validity Checks @@ -442,17 +442,17 @@ private void TheAllergyIntoleranceIdShouldBeValid() //PG 10-4-2019 #190 - Updated Code to check that GUID is valid private void TheAllergyIntoleranceIdentifierShouldBeValid() { - AllAllergyIntolerances.ForEach(allergy => - { - allergy.Identifier.Count.ShouldBeGreaterThan(0, "There should be at least 1 Identifier system/value pair"); - if (allergy.Identifier.Count == 1) - { - var identifier = allergy.Identifier.First(); - identifier.System.ShouldNotBeNullOrWhiteSpace("AllergyIntolerance Identifier System Cannot be null or Empty"); - identifier.Value.ShouldNotBeNullOrEmpty("AllergyIntolerance Identifier Value Cannot be null or Empty Value"); - } - }); - } + AllAllergyIntolerances.ForEach(allergy => + { + allergy.Identifier.Count.ShouldBeGreaterThan(0, "There should be at least 1 Identifier system/value pair"); + if (allergy.Identifier.Count == 1) + { + var identifier = allergy.Identifier.First(); + identifier.System.ShouldNotBeNullOrWhiteSpace("AllergyIntolerance Identifier System Cannot be null or Empty"); + identifier.Value.ShouldNotBeNullOrEmpty("AllergyIntolerance Identifier Value Cannot be null or Empty Value"); + } + }); + } private void TheAllergyIntoleranceClinicalStatusShouldbeValid() { @@ -538,16 +538,17 @@ private void TheAllergyIntolerancePatientShouldBeValidAndResolvable() { var reference = allergy.Patient.Reference; reference.ShouldStartWith("Patient/"); - // git hub ref 159 - // RMB 14/1/19 - // var resource = _httpSteps.GetResourceForRelativeUrl(GpConnectInteraction.PatientRead, reference); - // resource.GetType().ShouldBe(typeof(Patient)); - }); + // git hub ref 159 + // RMB 14/1/19 + // var resource = _httpSteps.GetResourceForRelativeUrl(GpConnectInteraction.PatientRead, reference); + // resource.GetType().ShouldBe(typeof(Patient)); + }); } private void TheAllergyIntoleranceReactionShouldBeValid() { - AllAllergyIntolerances.ForEach(allergy => { + AllAllergyIntolerances.ForEach(allergy => + { if (allergy.Reaction != null) { allergy.Reaction.Count.ShouldBeLessThanOrEqualTo(1); @@ -559,7 +560,8 @@ private void TheAllergyIntoleranceReactionShouldBeValid() // } // git hub ref 173 // RMB 23/1/19 - if (allergy.Reaction.Any()) { + if (allergy.Reaction.Any()) + { AllergyIntolerance.ReactionComponent reaction = allergy.Reaction[0]; if (reaction.Manifestation != null) { @@ -607,7 +609,7 @@ private void checktheListsarevalidforapatientwithlegacyendReason() List resolved = Lists.Where(list => list.Title.Equals(FhirConst.ListTitles.kResolvedAllergies)).ToList(); if (resolved.Count > 0) { - List resolvedAllergies = resolved.First().Contained.Where(resource => resource.TypeName.Equals(ResourceType.AllergyIntolerance)).ToList(); + List resolvedAllergies = resolved.First().Contained.Where(resource => resource.ResourceType.Equals(ResourceType.AllergyIntolerance)).ToList(); resolvedAllergies.ForEach(resource => { AllergyIntolerance endedAllergy = (AllergyIntolerance)resource; From c472c2190867f4597fa6bec7354ab158cf6746d8 Mon Sep 17 00:00:00 2001 From: williamjameswillis Date: Wed, 1 Oct 2025 13:05:32 +0100 Subject: [PATCH 07/18] further fhir revert fixes and getting p10s passing --- .../Steps/AccessRecordSteps.cs | 5 +- .../Steps/AppointmentsSteps.cs | 2 +- .../Steps/OrganizationSteps.cs | 2 +- .../Steps/PatientSteps.cs | 2 +- .../Steps/StructuredAllergySteps.cs | 2 +- .../Steps/StructuredConsultationsSteps.cs | 10 +- .../Steps/StructuredDiarySteps.cs | 19 +- .../Steps/StructuredInvestigationsSteps.cs | 7 +- .../Steps/StructuredMedicationSteps.cs | 227 +-- .../Steps/StructuredProblemsSteps.cs | 11 +- .../Steps/StructuredReferralsSteps.cs | 9 +- .../StructuredAllergies.feature | 347 +---- .../StructuredAllergies.feature.cs | 1231 +-------------- .../StructuredMedications.feature | 368 +---- .../StructuredMedications.feature.cs | 1350 ++--------------- 15 files changed, 414 insertions(+), 3178 deletions(-) diff --git a/GPConnect.Provider.AcceptanceTests/Steps/AccessRecordSteps.cs b/GPConnect.Provider.AcceptanceTests/Steps/AccessRecordSteps.cs index 4998a268..7c40ec98 100644 --- a/GPConnect.Provider.AcceptanceTests/Steps/AccessRecordSteps.cs +++ b/GPConnect.Provider.AcceptanceTests/Steps/AccessRecordSteps.cs @@ -81,8 +81,9 @@ public void AddANhsNumberParameterForUsingAnInvalidParameterType(string patient) [Then(@"the Bundle should be valid for patient ""(.*)""")] public void TheBundleShouldBeValid(string patient) { - Bundle.Id.ShouldBe(GlobalContext.SSPTraceID, "Fail : Bundle ID should match the Request Header Ssp-TraceID"); - Logger.Log.WriteLine("Info : Bundle ID matched Request SSPTraceID"); + // removed from gp-connect-mock-tests as the Wiremock cannot provide dynamic traceIDs + // Bundle.Id.ShouldBe(GlobalContext.SSPTraceID, "Fail : Bundle ID should match the Request Header Ssp-TraceID"); + // Logger.Log.WriteLine("Info : Bundle ID matched Request SSPTraceID"); Bundle.Meta.ShouldNotBeNull(); Bundle.Meta.VersionId.ShouldBeNull(); diff --git a/GPConnect.Provider.AcceptanceTests/Steps/AppointmentsSteps.cs b/GPConnect.Provider.AcceptanceTests/Steps/AppointmentsSteps.cs index aed2b795..f368fb60 100644 --- a/GPConnect.Provider.AcceptanceTests/Steps/AppointmentsSteps.cs +++ b/GPConnect.Provider.AcceptanceTests/Steps/AppointmentsSteps.cs @@ -564,7 +564,7 @@ public void TheAppointmentOrganisationCodeShouldEqual(String org) { readAppointment.Contained.ForEach(resource => { - if (resource.TypeName.Equals(ResourceType.Organization)) + if (resource.ResourceType.Equals(ResourceType.Organization)) { Organization organisation = (Organization)resource; organisation.Identifier.First().Value.ShouldBe(GlobalContext.OdsCodeMap[org]); diff --git a/GPConnect.Provider.AcceptanceTests/Steps/OrganizationSteps.cs b/GPConnect.Provider.AcceptanceTests/Steps/OrganizationSteps.cs index f809537b..617cc1d0 100644 --- a/GPConnect.Provider.AcceptanceTests/Steps/OrganizationSteps.cs +++ b/GPConnect.Provider.AcceptanceTests/Steps/OrganizationSteps.cs @@ -428,7 +428,7 @@ public void ThenResponseBundleOrganizationEntriesShouldContainAMaximumOf1OrgCode { foreach (var entry in _httpContext.FhirResponse.Entries) { - if (entry.Resource.TypeName.Equals(ResourceType.Organization)) + if (entry.Resource.ResourceType.Equals(ResourceType.Organization)) { Organization organization = (Organization)entry.Resource; diff --git a/GPConnect.Provider.AcceptanceTests/Steps/PatientSteps.cs b/GPConnect.Provider.AcceptanceTests/Steps/PatientSteps.cs index 0aa85170..57a5869a 100644 --- a/GPConnect.Provider.AcceptanceTests/Steps/PatientSteps.cs +++ b/GPConnect.Provider.AcceptanceTests/Steps/PatientSteps.cs @@ -412,7 +412,7 @@ public void ThePatientContactShouldBeValid() if (contact.Organization?.Reference != null) { _httpContext.FhirResponse.Entries.ShouldContain( - entry => entry.Resource.TypeName.Equals(ResourceType.Organization) && + entry => entry.Resource.ResourceType.Equals(ResourceType.Organization) && entry.FullUrl.Equals(contact.Organization.Reference) ); } diff --git a/GPConnect.Provider.AcceptanceTests/Steps/StructuredAllergySteps.cs b/GPConnect.Provider.AcceptanceTests/Steps/StructuredAllergySteps.cs index e098132c..cd3cd777 100644 --- a/GPConnect.Provider.AcceptanceTests/Steps/StructuredAllergySteps.cs +++ b/GPConnect.Provider.AcceptanceTests/Steps/StructuredAllergySteps.cs @@ -373,7 +373,7 @@ public void TheAllergyIntoleranceShouldBeValid() List resolved = Lists.Where(list => list.Title.Equals(FhirConst.ListTitles.kResolvedAllergies)).ToList(); if (resolved.Count > 0) { - List resolvedAllergies = resolved.First().Contained.Where(resource => resource.TypeName.Equals(ResourceType.AllergyIntolerance)).ToList(); + List resolvedAllergies = resolved.First().Contained.Where(resource => resource.ResourceType.Equals(ResourceType.AllergyIntolerance)).ToList(); resolvedAllergies.ForEach(resource => { AllergyIntolerance allergy = (AllergyIntolerance)resource; diff --git a/GPConnect.Provider.AcceptanceTests/Steps/StructuredConsultationsSteps.cs b/GPConnect.Provider.AcceptanceTests/Steps/StructuredConsultationsSteps.cs index 8c696ba0..2dc6c5b1 100644 --- a/GPConnect.Provider.AcceptanceTests/Steps/StructuredConsultationsSteps.cs +++ b/GPConnect.Provider.AcceptanceTests/Steps/StructuredConsultationsSteps.cs @@ -83,7 +83,7 @@ public void ThenIChecktheConsultationsListisValid() { string refToFind = Regex.Replace(entry.Item.Reference, pattern, "$2"); Bundle.GetResources() - .Where(resource => resource.TypeName.Equals(ResourceType.Encounter)) + .Where(resource => resource.ResourceType.Equals(ResourceType.Encounter)) .Where(resource => resource.Id == refToFind) .ToList().Count().ShouldBe(1, "Encounter resource type Not Found"); }); @@ -206,7 +206,7 @@ public void ThenIChecktheConsultationListsareValid() { string refToFind = Regex.Replace(entry.Item.Reference, pattern, "$2"); Bundle.GetResources() - .Where(resource => resource.TypeName.Equals(ResourceType.List)) + .Where(resource => resource.ResourceType.Equals(ResourceType.List)) .Where(resource => resource.Id == refToFind) .ToList().Count().ShouldBe(1, "Topic List resource Not Found"); Logger.Log.WriteLine("Consultation List - Verified the Linked Topic has been included In the Bundle: " + refToFind); @@ -273,7 +273,7 @@ public void ThenIChecktheTopicLists() if (topicEntry.Item.Reference.StartsWith("List/")) { Bundle.GetResources() - .Where(resource => resource.TypeName.Equals(ResourceType.List)) + .Where(resource => resource.ResourceType.Equals(ResourceType.List)) .Where(resource => resource.Id == refToFind) .ToList().Count().ShouldBe(1, "Heading List resource Not Found"); Logger.Log.WriteLine("Found Heading List : " + topicEntry.Item.Reference); @@ -312,7 +312,7 @@ public void ThenICheckoneTopicislinkedtoaproblem() string refToFind = Regex.Replace(((Hl7.Fhir.Model.ResourceReference)phe.Value).ReferenceElement.Value, pattern, "$2"); int count = Bundle.GetResources() - .Where(resource => resource.TypeName.Equals(ResourceType.Condition)) + .Where(resource => resource.ResourceType.Equals(ResourceType.Condition)) .Where(resource => resource.Id == refToFind) .ToList().Count(); if (count >= 1) @@ -391,7 +391,7 @@ public void GivenIAddAMadeUpConsultationPartParameter() public void CheckResourceExists(T resourceType, string resourceID) { Bundle.GetResources() - .Where(resource => resource.TypeName.Equals(resourceType)) + .Where(resource => resource.ResourceType.Equals(resourceType)) .Where(resource => resource.Id == resourceID) .ToList().Count().ShouldBe(1, "Fail : Linked Resource Not Contained in Response - type : " + resourceType + " - ID : " + resourceID); diff --git a/GPConnect.Provider.AcceptanceTests/Steps/StructuredDiarySteps.cs b/GPConnect.Provider.AcceptanceTests/Steps/StructuredDiarySteps.cs index a237e701..fdbe6fdf 100644 --- a/GPConnect.Provider.AcceptanceTests/Steps/StructuredDiarySteps.cs +++ b/GPConnect.Provider.AcceptanceTests/Steps/StructuredDiarySteps.cs @@ -56,8 +56,8 @@ public void GivenIAddTheInvestigationsParameter() [Then(@"I add the Diary Search date parameter with a past date ""(.*)"" days ago")] public void GivenIaddtheDiarySearchdateparameterwithapastdate(int days) - { - var pastSearchDate = DateTime.UtcNow.AddDays(-days); + { + var pastSearchDate = DateTime.UtcNow.AddDays(-days); var searchBeforeDate = pastSearchDate.ToString("yyyy-MM-dd"); IEnumerable> tuples = new Tuple[] { @@ -65,7 +65,7 @@ public void GivenIaddtheDiarySearchdateparameterwithapastdate(int days) }; _httpContext.HttpRequestConfiguration.BodyParameters.Add(FhirConst.GetStructuredRecordParams.kDiary, tuples); } - + [Then(@"I add the Diary Search date parameter of ""(.*)"" days in future")] public void GivenIaddtheDiarySearchdateparameterofdaysinfuture(int years) { @@ -100,7 +100,7 @@ public void ThenIChecktheDiaryListareValid() { string refToFind = Regex.Replace(entry.Item.Reference, pattern, "$2"); Bundle.GetResources() - .Where(resource => resource.TypeName.Equals(ResourceType.ProcedureRequest)) + .Where(resource => resource.ResourceType.Equals(ResourceType.ProcedureRequest)) .Where(resource => resource.Id == refToFind) .ToList().Count().ShouldBe(1, "ProcedureRequest resource Not Found with id : " + refToFind); Logger.Log.WriteLine("Diary List - Verified the Linked ProcedureRequest's has been included In the Bundle: " + refToFind); @@ -109,7 +109,7 @@ public void ThenIChecktheDiaryListareValid() //Check we found atleast One ProcedureRequest Linked in list found.ShouldBeTrue("Fail : Diary List should be linked to atleast one ProcedureRequest"); - + Logger.Log.WriteLine("Completed Mandatory checks on Diary List"); }); } @@ -178,7 +178,7 @@ public void ThenIChecktheProcedureRequestareValid() //Check authoredOn proc.AuthoredOn.ShouldNotBeNullOrEmpty("Fail : Diary ProcedureRequest - AuthoredOn should be populated with a dateTime"); - + Logger.Log.WriteLine("Diary ProcedureRequest Validated with ID: " + proc.Id); }); } @@ -230,7 +230,8 @@ public void ThenCheckaProblemislinkedtoProcedureRequestandthatitisalsoincluded() } if (found) break; - }; + } + ; found.ShouldBeTrue("Fail : No Problems found to be linked to a ProcedureRequest"); @@ -258,7 +259,7 @@ public void VerifyResourceReferenceExists(string refTypeToFind, string refToFind public void CheckResourceExists(T resourceType, string resourceID) { Bundle.GetResources() - .Where(resource => resource.TypeName.Equals(resourceType)) + .Where(resource => resource.ResourceType.Equals(resourceType)) .Where(resource => resource.Id == resourceID) .ToList().Count().ShouldBe(1, "Fail : Linked Resource Not Contained in Response - type : " + resourceType + " - ID : " + resourceID); @@ -319,7 +320,7 @@ public void GivenIsetaDiarySearchdateto(string searchDate) } - + } } diff --git a/GPConnect.Provider.AcceptanceTests/Steps/StructuredInvestigationsSteps.cs b/GPConnect.Provider.AcceptanceTests/Steps/StructuredInvestigationsSteps.cs index da7d6e4b..d93d63e1 100644 --- a/GPConnect.Provider.AcceptanceTests/Steps/StructuredInvestigationsSteps.cs +++ b/GPConnect.Provider.AcceptanceTests/Steps/StructuredInvestigationsSteps.cs @@ -84,7 +84,7 @@ public void ThenIChecktheInvestigationsListsareValid() { string refToFind = Regex.Replace(entry.Item.Reference, pattern, "$2"); Bundle.GetResources() - .Where(resource => resource.TypeName.Equals(ResourceType.DiagnosticReport)) + .Where(resource => resource.ResourceType.Equals(ResourceType.DiagnosticReport)) .Where(resource => resource.Id == refToFind) .ToList().Count().ShouldBe(1, "DiagnosticReport resource Not Found with id : " + refToFind); Logger.Log.WriteLine("Investigations List - Verified the Linked DiagnosticReport has been included In the Bundle: " + refToFind); @@ -397,7 +397,7 @@ public void VerifyResourceReferenceExists(string refTypeToFind, string refToFind public void CheckResourceExists(T resourceType, string resourceID) { Bundle.GetResources() - .Where(resource => resource.TypeName.Equals(resourceType)) + .Where(resource => resource.ResourceType.Equals(resourceType)) .Where(resource => resource.Id == resourceID) .ToList().Count().ShouldBe(1, "Fail : Linked Resource Not Contained in Response - type : " + resourceType + " - ID : " + resourceID); @@ -520,7 +520,8 @@ public void ThenCheckaProblemislinkedtoanthatisalsoincludedintheresponsewithalis } if (found) break; - }; + } + ; found.ShouldBeTrue("Fail : No Problems found to be linked to a DiagnosticReport"); diff --git a/GPConnect.Provider.AcceptanceTests/Steps/StructuredMedicationSteps.cs b/GPConnect.Provider.AcceptanceTests/Steps/StructuredMedicationSteps.cs index 325426c6..c1d082c3 100644 --- a/GPConnect.Provider.AcceptanceTests/Steps/StructuredMedicationSteps.cs +++ b/GPConnect.Provider.AcceptanceTests/Steps/StructuredMedicationSteps.cs @@ -11,7 +11,7 @@ using static Hl7.Fhir.Model.Parameters; using GPConnect.Provider.AcceptanceTests.Helpers; using GPConnect.Provider.AcceptanceTests.Steps; - using GPConnect.Provider.AcceptanceTests.Logger; + using GPConnect.Provider.AcceptanceTests.Logger; using NUnit.Framework; [Binding] @@ -40,9 +40,9 @@ public void GivenIAddTheMedicationsParameterWithIncludePrescriptionIssuesSetTo(s _httpContext.HttpRequestConfiguration.BodyParameters.Add(FhirConst.GetStructuredRecordParams.kMedication, tuples); } - [Given(@"I add the medications parameter without mandatory partParameter")] - public void GivenIAddTheMedicationsParameterWithoutMandatoryParameter() - { + [Given(@"I add the medications parameter without mandatory partParameter")] + public void GivenIAddTheMedicationsParameterWithoutMandatoryParameter() + { ParameterComponent param = new ParameterComponent(); param.Name = FhirConst.GetStructuredRecordParams.kMedication; _httpContext.HttpRequestConfiguration.BodyParameters.Parameter.Add(param); @@ -78,9 +78,9 @@ public void GivenIAddTheMedicationsParameterIncorrectly() _httpContext.HttpRequestConfiguration.BodyParameters.Parameter.Add(partParam); } - [Given(@"I add an incorrectly named medication parameter")] - public void GivenIAddAnIncorrectlyNamedMedicationParameter() - { + [Given(@"I add an incorrectly named medication parameter")] + public void GivenIAddAnIncorrectlyNamedMedicationParameter() + { IEnumerable> tuples = new Tuple[] { Tuple.Create(FhirConst.GetStructuredRecordParams.kPrescriptionIssues, (Base)new FhirBoolean(false)), }; @@ -128,21 +128,21 @@ public void GivenIAddTheMedicationsParameterWithAStartDate() _httpContext.HttpRequestConfiguration.BodyParameters.Add(FhirConst.GetStructuredRecordParams.kMedication, tuples); } - [Given(@"I add the medications parameter with a start date greater than current date")] - public void GivenIAddTheMedicationsParameterWithAStartDateGreaterThanCurrentDate() - { - var tempDate = DateTime.UtcNow.AddDays(+1); - var startDate = tempDate.ToString("yyyy-MM-dd"); + [Given(@"I add the medications parameter with a start date greater than current date")] + public void GivenIAddTheMedicationsParameterWithAStartDateGreaterThanCurrentDate() + { + var tempDate = DateTime.UtcNow.AddDays(+1); + var startDate = tempDate.ToString("yyyy-MM-dd"); - IEnumerable> tuples = new Tuple[] { - Tuple.Create(FhirConst.GetStructuredRecordParams.kPrescriptionIssues, (Base)new FhirBoolean(false)), + IEnumerable> tuples = new Tuple[] { + Tuple.Create(FhirConst.GetStructuredRecordParams.kPrescriptionIssues, (Base)new FhirBoolean(false)), // Tuple.Create(FhirConst.GetStructuredRecordParams.kMedicationDatePeriod, (Base)TimePeriodHelper.GetTimePeriodStartDateOnlyFormatted("yyyy-MM-dd")) Tuple.Create(FhirConst.GetStructuredRecordParams.kMedicationDatePeriod, (Base)FhirHelper.GetStartDate(startDate)) - }; - _httpContext.HttpRequestConfiguration.BodyParameters.Add(FhirConst.GetStructuredRecordParams.kMedication, tuples); - } + }; + _httpContext.HttpRequestConfiguration.BodyParameters.Add(FhirConst.GetStructuredRecordParams.kMedication, tuples); + } - [Given(@"I add the medications parameter with an end date")] + [Given(@"I add the medications parameter with an end date")] public void GivenIAddTheMedicationsParameterWithAnEndPeriod() { IEnumerable> tuples = new Tuple[] { @@ -161,8 +161,8 @@ public void GivenISetAMedicationsTimeAParameterStartDateToAndEndDateTo(string st }; _httpContext.HttpRequestConfiguration.BodyParameters.Add(FhirConst.GetStructuredRecordParams.kMedication, tuples); } -// github ref 127 -// RMB 5/11/2018 + // github ref 127 + // RMB 5/11/2018 [Given(@"I set a medications period parameter start date to ""([^ ""]*)""")] public void GivenISetAMedicationsTimeAParameterStartDateTo(string startDate) { @@ -180,9 +180,9 @@ public void GivenIaddaduplicatemedicationpartparameter() Tuple.Create(FhirConst.GetStructuredRecordParams.kPrescriptionIssues, (Base)new FhirBoolean(Boolean.Parse("true"))), Tuple.Create(FhirConst.GetStructuredRecordParams.kPrescriptionIssues, (Base)new FhirBoolean(Boolean.Parse("true"))) }; - + _httpContext.HttpRequestConfiguration.BodyParameters.Add(FhirConst.GetStructuredRecordParams.kMedication, tuples); - + } #endregion @@ -192,7 +192,7 @@ public void GivenIaddaduplicatemedicationpartparameter() [Then(@"the List of MedicationStatements should be valid")] public void TheListOfMedicationStatementsShouldBeValid() { - + Lists.ForEach(list => { if (list.Code.Coding.First().Code.Equals(FhirConst.GetSnoMedParams.kMeds)) @@ -277,7 +277,7 @@ public void TheMedicationsShouldBeValid() TheMedicationIdShouldBeValid(); TheMedicationCodeShouldBeValid(); TheMedicationMetadataShouldBeValid(); -// Added 1.2.1 RMB 1/10/2018 + // Added 1.2.1 RMB 1/10/2018 TheMedicationNotInUseShouldBeValid(); } @@ -301,18 +301,18 @@ public void TheMedicationCodeShouldBeValid() medication.Code.Coding.ForEach(coding => { coding.System.ShouldNotBeNull("Code should not be null"); -// Added github ref 85 -// RMB 15/10/2018 + // Added github ref 85 + // RMB 15/10/2018 coding.System.ShouldBeOneOf("http://snomed.info/sct", "http://read.info/readv2", "http://read.info/ctv3", "https://fhir.hl7.org.uk/Id/emis-drug-codes", "https://fhir.hl7.org.uk/Id/egton-codes", "https://fhir.hl7.org.uk/Id/multilex-drug-codes", "https://fhir.hl7.org.uk/Id/resipuk-gemscript-drug-codes"); Extension extension = coding.GetExtension("https://fhir.hl7.org.uk/STU3/StructureDefinition/Extension-coding-sctdescid"); -// extension.ShouldNotBeNull(); -// extension.GetExtension("descriptionId").ShouldNotBeNull(); -// extension.GetExtension("descriptionDisplay").ShouldNotBeNull(); -// -// if (extension.GetExtension("descriptionId").Value.Equals("196421000000109")) -// { -// medication.Code.Text.ShouldNotBeNullOrEmpty(); -// } + // extension.ShouldNotBeNull(); + // extension.GetExtension("descriptionId").ShouldNotBeNull(); + // extension.GetExtension("descriptionDisplay").ShouldNotBeNull(); + // + // if (extension.GetExtension("descriptionId").Value.Equals("196421000000109")) + // { + // medication.Code.Text.ShouldNotBeNullOrEmpty(); + // } }); } }); @@ -327,7 +327,7 @@ public void TheMedicationMetadataShouldBeValid() }); } -// Added 1.2.1 RMB 1/10/2018 + // Added 1.2.1 RMB 1/10/2018 [Then(@"the Medication Not In Use should be valid")] public void TheMedicationNotInUseShouldBeValid() { @@ -348,13 +348,13 @@ public void TheMedicationStatementsShouldBeValid() { TheMedicationStatementIdShouldBeValid(); TheMedicationStatementMetadataShouldBeValid(); - - // Added check for Medication Statement PrescribingAgency is Mandatory RMB 08-08-2016 - TheMedicationStatementPrescribingAgencyShouldBeValid(); - - // Added check for Medication Statement System should be set and be a GUID RMB 08-08-2016 - TheMedicationStatementIdentifierShouldBeValid(); - + + // Added check for Medication Statement PrescribingAgency is Mandatory RMB 08-08-2016 + TheMedicationStatementPrescribingAgencyShouldBeValid(); + + // Added check for Medication Statement System should be set and be a GUID RMB 08-08-2016 + TheMedicationStatementIdentifierShouldBeValid(); + TheMedicationStatementBasedOnShouldNotBeNullAndShouldReferToMedicationRequestWithIntentPlan(); TheMedicationStatementContextShouldBeValid(); TheMedicationStatementStatusShouldbeValid(); @@ -364,7 +364,7 @@ public void TheMedicationStatementsShouldBeValid() TheMedicationStatementTakenShouldbeValid(); TheMedicationStatementDosageTextShouldbeValid(); TheSpecifiedMedicationStatementFieldsShouldBeNull(); -// Added 1.2.1 RMB 1/10/2018 + // Added 1.2.1 RMB 1/10/2018 TheMedicationStatementNotInUseShouldBeValid(); } @@ -392,7 +392,7 @@ public void TheMedicationStatementIdShouldBeValid() }); } - // Added check for MedicationStatement PrescribingAgency is Mandatory RMB 08-08-2016 + // Added check for MedicationStatement PrescribingAgency is Mandatory RMB 08-08-2016 [Then(@"the MedicationStatement PrescribingAgency should be valid")] public void TheMedicationStatementPrescribingAgencyShouldBeValid() { @@ -416,8 +416,8 @@ public void TheMedicationStatementIdentifierShouldBeValid() identifier.Value.ShouldNotBeNullOrEmpty("MedicationStatement Identifier Value Cannot be null or Empty Value"); } }); - } - + } + [Then(@"the Medication Statement Metadata should be valid")] public void TheMedicationStatementMetadataShouldBeValid() { @@ -528,7 +528,7 @@ public void TheMedicationStatementTakenShouldbeValid() { MedicationStatements.ForEach(medStatement => { - // Commented out code added back in 1.2.0 RMB 8/8/2018 + // Commented out code added back in 1.2.0 RMB 8/8/2018 medStatement.Taken.ShouldNotBeNull(); medStatement.Taken.ShouldBeOfType("Medication Taken is of the wrong type"); }); @@ -542,8 +542,8 @@ public void TheMedicationStatementDosageTextShouldbeValid() medStatement.Dosage.ForEach(dosage => { dosage.Text.ShouldNotBeNullOrEmpty(); - -// Added for 1.2.0 RMB 8/8/2018 + + // Added for 1.2.0 RMB 8/8/2018 dosage.Text.Equals("No information available"); }); }); @@ -552,7 +552,7 @@ public void TheMedicationStatementDosageTextShouldbeValid() [Then(@"the MedicationStatement for prescriptions prescribed elsewhere should be valid")] public void TheMedicationStatementForPrescriptionsPrescribedElsewhereShouldBeValid() { - List prescribedElsewhere = MedicationStatements.Where(medStatement => + List prescribedElsewhere = MedicationStatements.Where(medStatement => medStatement.GetExtension(FhirConst.StructureDefinitionSystems.kExtPrescriptionAgency) != null).ToList(); prescribedElsewhere.ForEach(medStatement => @@ -601,9 +601,9 @@ private void TheMedicationStatementDatesAreWithinTheDefaultPeriod(Boolean useSta } [Then(@"the MedicationStatement EffectiveDate is Greater Than Search Date of ""(.*)"" years ago")] - private void TheMedicationStatementEffectiveDateIsGreaterThanSearchDate(int yearsToSearchBack) + private void TheMedicationStatementEffectiveDateIsGreaterThanSearchDate(string searchDateString) { - DateTime searchDate = DateTime.UtcNow.AddYears(-yearsToSearchBack); + DateTime searchDate = DateTime.Parse(searchDateString); MedicationStatements.ForEach(medStatement => { @@ -613,14 +613,14 @@ private void TheMedicationStatementEffectiveDateIsGreaterThanSearchDate(int year { Period effectivePeriod = (Period)medStatement.Effective; var foundValidDateFlag = false; - + //check start and end date and ensure atleast one is greater than search date if (DateTime.Parse(effectivePeriod.Start) >= searchDate || DateTime.Parse(effectivePeriod.End) >= searchDate) { foundValidDateFlag = true; } - if(!foundValidDateFlag) + if (!foundValidDateFlag) Assert.Fail("Effective Date start or end should be greater than search date"); } else @@ -644,7 +644,8 @@ private void TheMedicationStatementEffectiveDateIsGreaterThanSearchDate(int year }); } - private void checkDateIsInRange(Boolean useStart, Boolean useEnd, DateTime toCheck) { + private void checkDateIsInRange(Boolean useStart, Boolean useEnd, DateTime toCheck) + { DateTime start = DateTime.UtcNow.AddYears(-2); DateTime end = DateTime.UtcNow; @@ -662,15 +663,15 @@ private void checkPeriodIsInRange(Boolean useStart, Boolean useEnd, Period perio { DateTime startPeriod = DateTime.Parse(period.Start); -// git hub ref 184 -// RMB 19/2/19 + // git hub ref 184 + // RMB 19/2/19 //DateTime endPeriod = DateTime.Parse(period.End); DateTime endPeriod = DateTime.UtcNow; if (period.End != null) { endPeriod = DateTime.Parse(period.End); - } + } DateTime start = DateTime.UtcNow.AddYears(-2); DateTime end = DateTime.UtcNow; @@ -711,12 +712,12 @@ public void TheMedicationStatementNotInUseShouldBeValid() medStatement.Category.ShouldBeNull("MedicationStatement Category should be Null"); medStatement.InformationSource.ShouldBeNull("MedicationStatement InformationSource should be Null"); medStatement.DerivedFrom.Count().ShouldBe(0); -// medStatement.Taken.ShouldBeNull(); + // medStatement.Taken.ShouldBeNull(); medStatement.ReasonNotTaken.Count().ShouldBe(0); }); } - /* SJD 19/07/2019 removed as not relevant to 'Retrieve the medication structured record section for a patient including prescription issues' test + /* SJD 19/07/2019 removed as not relevant to 'Retrieve the medication structured record section for a patient including prescription issues' test #endregion #region Medication Request Checks @@ -744,7 +745,7 @@ public void TheRelatedMedicationRequestsShouldHaveTheSameAuthoredOnDates() }); } */ - [Then(@"there should only be one order request for acute prescriptions")] + [Then(@"there should only be one order request for acute prescriptions")] public void ThereShouldOnlyBeOneOrderRequestForAcutePrescriptions() { List acuteRequests = MedicationRequests.Where(req => isRequestAnAcutePlan(req).Equals(true)).ToList(); @@ -770,7 +771,7 @@ private Boolean isRequestAnAcutePlan(MedicationRequest request) [Then(@"the Medication Requests should not contain any issues")] public void TheMedicationRequestsShouldNotContainAnyIssues() { - MedicationRequests.Where(req => req.Intent.Equals(MedicationRequest.MedicationRequestIntent.Order)).ToList().ShouldBeEmpty(); + MedicationRequests.Where(req => req.Intent.Equals(MedicationRequest.MedicationRequestIntent.Order)).ToList().ShouldBeEmpty(); } [Then(@"the Medication Requests should be valid")] @@ -779,9 +780,9 @@ public void TheMedicationRequestsShouldBeValid() TheMedicationRequestIdShouldBeValid(); TheMedicationRequestMetadataShouldBeValid(); - // Added RMB 8/8/2018 - TheMedicationRequestIdentifierShouldBeValid(); - + // Added RMB 8/8/2018 + TheMedicationRequestIdentifierShouldBeValid(); + //TheMedicationRequestGroupIdentiferShouldBeValid(); TheMedicationRequestBasedOnShouldBeValid(); TheMedicationRequestStatusShouldbeValid(); @@ -798,7 +799,7 @@ public void TheMedicationRequestsShouldBeValid() TheMedicationRequestAuthoredOnShouldbeValid(); ThereShouldBeAtLeastOneMedicationRequestWithIntentToPlan(); TheSpecifiedMedicationRequestsFieldsShouldBeNull(); -// Added 1.2.1 RMB 1/10/2018 + // Added 1.2.1 RMB 1/10/2018 TheMedicationRequestNotInUseShouldBeValid(); } @@ -811,23 +812,23 @@ public void TheSpecifiedMedicationRequestsFieldsShouldBeNull() medRequest.Category.ShouldBeNull("MedicationRequest Category should be Null"); medRequest.Priority.ShouldBeNull("MedicationRequest Priority should be Null"); medRequest.SupportingInformation.ShouldBeEmpty(); - - // Removed 1.2.0 RMB 8/8/2018 + + // Removed 1.2.0 RMB 8/8/2018 //medRequest.DispenseRequest.ExpectedSupplyDuration.ShouldBeNull(); - + medRequest.Substitution.ShouldBeNull("MedicationRequest Substitution should be Null"); - - // Added RMB 8/8/2018 - medRequest.DetectedIssue.ShouldBeEmpty(); - + + // Added RMB 8/8/2018 + medRequest.DetectedIssue.ShouldBeEmpty(); + medRequest.EventHistory.ShouldBeEmpty(); - + CodeableConcept prescriptionType = (CodeableConcept)medRequest.GetExtension(FhirConst.StructureDefinitionSystems.kMedicationPrescriptionType).Value; if (!prescriptionType.Coding.First().Display.Contains("Repeat")) { - // git hub ref 167 -// RMB 22/1/19 - //medRequest.GroupIdentifier.ShouldBeNull(); + // git hub ref 167 + // RMB 22/1/19 + //medRequest.GroupIdentifier.ShouldBeNull(); } }); } @@ -840,8 +841,8 @@ public void TheMedicationRequestIdShouldBeValid() medRequest.Id.ShouldNotBeNullOrEmpty(); }); } - - // Added RMB 8/8/2018 + + // Added RMB 8/8/2018 [Then(@"the MedicationRequest Identifier should be valid")] public void TheMedicationRequestIdentifierShouldBeValid() { @@ -856,7 +857,7 @@ public void TheMedicationRequestIdentifierShouldBeValid() } }); } - + [Then(@"there should be at least one medication request with intent to plan")] public void ThereShouldBeAtLeastOneMedicationRequestWithIntentToPlan() { @@ -887,11 +888,11 @@ public void TheMedicationRequestBasedOnShouldBeValid() medRequest.BasedOn.ShouldNotBeEmpty(); medRequest.BasedOn.First().Reference.StartsWith("MedicationRequest"); } - else + else { medRequest.BasedOn.ShouldBeEmpty(); } - + }); } @@ -914,23 +915,23 @@ public void TheMedicationRequestStatusShouldbeValid() { MedicationRequests.ForEach(medRequest => { -// git hub ref 170 -// RMB 23/1/19 -// medRequest.Status.ShouldNotBeNull("MedicationRequest Status cannot be null"); - if (medRequest.Status != null) - { - medRequest.Status.ShouldBeOfType($"MedicationRequest Status is not a valid value within the value set {FhirConst.ValueSetSystems.kVsMedicationRequestStatus}"); - medRequest.Status.ShouldBeOneOf(MedicationRequest.MedicationRequestStatus.Active, MedicationRequest.MedicationRequestStatus.Completed, MedicationRequest.MedicationRequestStatus.Stopped); - } - + // git hub ref 170 + // RMB 23/1/19 + // medRequest.Status.ShouldNotBeNull("MedicationRequest Status cannot be null"); + if (medRequest.Status != null) + { + medRequest.Status.ShouldBeOfType($"MedicationRequest Status is not a valid value within the value set {FhirConst.ValueSetSystems.kVsMedicationRequestStatus}"); + medRequest.Status.ShouldBeOneOf(MedicationRequest.MedicationRequestStatus.Active, MedicationRequest.MedicationRequestStatus.Completed, MedicationRequest.MedicationRequestStatus.Stopped); + } + CodeableConcept prescriptionType = (CodeableConcept)medRequest.GetExtension(FhirConst.StructureDefinitionSystems.kMedicationPrescriptionType).Value; -// git hub ref 170 -// RMB 23/1/19 -// if (prescriptionType.Coding.First().Display.Contains("Acute")) -// { -// -// medRequest.Status.ShouldBe(MedicationRequest.MedicationRequestStatus.Completed); -// } + // git hub ref 170 + // RMB 23/1/19 + // if (prescriptionType.Coding.First().Display.Contains("Acute")) + // { + // + // medRequest.Status.ShouldBe(MedicationRequest.MedicationRequestStatus.Completed); + // } }); } @@ -958,7 +959,7 @@ public void TheMedicationRequestMedicationShouldbeValid() medReference.Reference.StartsWith("Medication"); }); } - + [Then(@"the MedicationRequest subject should be valid")] public void TheMedicationRequestSubjectShouldbeValid() { @@ -1007,8 +1008,8 @@ public void TheMedicationRequestDosageInstructionsTextShouldbeValid() { medRequest.DosageInstruction.ShouldHaveSingleItem(); medRequest.DosageInstruction.First().Text.ShouldNotBeNullOrEmpty(); - - // Added for 1.2.0 RMB 8/8/2018 + + // Added for 1.2.0 RMB 8/8/2018 medRequest.DosageInstruction.First().Text.Equals("No information available"); }); } @@ -1027,7 +1028,7 @@ public void TheMedicationRequestDispenseRequestValidityPeriodShouldbeValid() // git hub ref 160 // RMB 14/1/19 //medRequest.DispenseRequest.ValidityPeriod.End.ShouldBeNull(); - } + } }); } @@ -1043,9 +1044,9 @@ public void TheMedicationRequestRepeatInformationShouldbeValid() if ((prescriptionType.Coding.First().Display.Equals("Repeat") || prescriptionType.Coding.First().Display.Equals("Repeat dispensing")) && medRequest.Intent.Equals(MedicationRequest.MedicationRequestIntent.Plan)) { Extension repeatInformation = medRequest.GetExtension(FhirConst.StructureDefinitionSystems.kMedicationRepeatInformation); - + if (repeatInformation != null) - { + { repeatInformation.GetExtension("numberOfRepeatPrescriptionsIssued").ShouldNotBeNull(); repeatInformation.GetExtension("numberOfRepeatPrescriptionsAllowed").ShouldNotBeNull(); } @@ -1075,10 +1076,10 @@ public void TheMedicationRequestPrescriptionTypeShouldbeValid() { Extension prescriptionType = medRequest.GetExtension(FhirConst.StructureDefinitionSystems.kMedicationPrescriptionType); prescriptionType.ShouldNotBeNull(); - -// Added for 1.2.0 RMB 8/8/2018 + + // Added for 1.2.0 RMB 8/8/2018 prescriptionType.Equals("No information available"); - + CodeableConcept prescriptionTypeValue = (CodeableConcept)prescriptionType.Value; prescriptionTypeValue.Coding.First().System.Equals(FhirConst.CodeSystems.kCcPresriptionType); @@ -1090,15 +1091,15 @@ public void TheMedicationRequestStatusReasonShouldbeValid() { MedicationRequests.ForEach(medRequest => { - if((medRequest.Intent.Equals(MedicationRequest.MedicationRequestIntent.Plan)) && (medRequest.Status.Equals(MedicationRequest.MedicationRequestStatus.Stopped))) + if ((medRequest.Intent.Equals(MedicationRequest.MedicationRequestIntent.Plan)) && (medRequest.Status.Equals(MedicationRequest.MedicationRequestStatus.Stopped))) { Extension endReason = medRequest.GetExtension(FhirConst.StructureDefinitionSystems.kMedicationRequestEndReason); endReason.ShouldNotBeNull(); endReason.GetExtension("statusChangeDate").ShouldNotBeNull(); endReason.GetExtension("statusReason").ShouldNotBeNull(); - endReason.GetExtension("statusReason").Equals("No information available"); + endReason.GetExtension("statusReason").Equals("No information available"); } - else if((medRequest.Intent.Equals(MedicationRequest.MedicationRequestIntent.Order)) && (medRequest.Status.Equals(MedicationRequest.MedicationRequestStatus.Stopped))) + else if ((medRequest.Intent.Equals(MedicationRequest.MedicationRequestIntent.Order)) && (medRequest.Status.Equals(MedicationRequest.MedicationRequestStatus.Stopped))) { Extension endReason = medRequest.GetExtension(FhirConst.StructureDefinitionSystems.kMedicationRequestEndReason); endReason.ShouldBeNull(); @@ -1107,7 +1108,7 @@ public void TheMedicationRequestStatusReasonShouldbeValid() }); } -// Added 1.2.1 RMB 1/10/2018 + // Added 1.2.1 RMB 1/10/2018 [Then(@"the MedicationRequest Not In Use should be valid")] public void TheMedicationRequestNotInUseShouldBeValid() { @@ -1125,6 +1126,6 @@ public void TheMedicationRequestNotInUseShouldBeValid() }); } - #endregion - } + #endregion + } } diff --git a/GPConnect.Provider.AcceptanceTests/Steps/StructuredProblemsSteps.cs b/GPConnect.Provider.AcceptanceTests/Steps/StructuredProblemsSteps.cs index df368ddc..330d4210 100644 --- a/GPConnect.Provider.AcceptanceTests/Steps/StructuredProblemsSteps.cs +++ b/GPConnect.Provider.AcceptanceTests/Steps/StructuredProblemsSteps.cs @@ -344,7 +344,8 @@ public void ThenCheckaProblemisLinkedtoaMedicationRequestresourcethathasbeenincl } if (found) break; - }; + } + ; found.ShouldBeTrue("Fail : No Problems found with a linked MedicationRequest"); } @@ -470,7 +471,8 @@ public void ThenCheckaProblemislinkedtoanthatisalsoincludedintheresponsewithalis } if (found) break; - }; + } + ; found.ShouldBeTrue("Fail : No Problems found to be linked to a " + resourceType + " - resource type"); @@ -501,7 +503,8 @@ public void ThenCheckthataProblemislinkedtoaconsultationbutonlyareferenceissenti found = true; } } - }; + } + ; found.ShouldBeTrue("Fail : No Problems found with a Context link to an Encounter as per the data requirements for this test"); @@ -535,7 +538,7 @@ public void ThenCheckthataProblemislinkedtoaconsultationbutonlyareferenceissenti public void CheckResourceExists(T resourceType, string resourceID) { var count = Bundle.GetResources() - .Where(resource => ((Hl7.Fhir.Model.Resource)resource).TypeName.Equals(resourceType)) + .Where(resource => resource.ResourceType.Equals(resourceType)) .Where(resource => ((Hl7.Fhir.Model.Resource)resource).Id == resourceID) .ToList().Count(); diff --git a/GPConnect.Provider.AcceptanceTests/Steps/StructuredReferralsSteps.cs b/GPConnect.Provider.AcceptanceTests/Steps/StructuredReferralsSteps.cs index fa6225e6..bb4ce48a 100644 --- a/GPConnect.Provider.AcceptanceTests/Steps/StructuredReferralsSteps.cs +++ b/GPConnect.Provider.AcceptanceTests/Steps/StructuredReferralsSteps.cs @@ -83,7 +83,7 @@ public void ThenIChecktheReferralsListsareValid() { string refToFind = Regex.Replace(entry.Item.Reference, pattern, "$2"); Bundle.GetResources() - .Where(resource => resource.TypeName.Equals(ResourceType.ReferralRequest)) + .Where(resource => resource.ResourceType.Equals(ResourceType.ReferralRequest)) .Where(resource => resource.Id == refToFind) .ToList().Count().ShouldBe(1, "ReferralRequest resource Not Found with id : " + refToFind); Logger.Log.WriteLine("Referrals List - Verified the Linked ReferralRequest has been included In the Bundle: " + refToFind); @@ -105,7 +105,7 @@ public void ThenIChecktheReferralRequestsareValid() //check atleast one ReferralRequests.ToList().Count().ShouldBeGreaterThan(0, "Error Should be Atleast One ReferralRequest in response as per Data requirements"); - ReferralRequests.ForEach(referalRequest=> + ReferralRequests.ForEach(referalRequest => { //Check Id referalRequest.Id.ShouldNotBeNullOrEmpty(); @@ -230,7 +230,8 @@ public void ThenCheckaProblemislinkedtoReferralRequestandthatitisalsoincluded() } if (found) break; - }; + } + ; found.ShouldBeTrue("Fail : No Problems found to be linked to a ReferralRequest"); @@ -258,7 +259,7 @@ public void VerifyResourceReferenceExists(string refTypeToFind, string refToFind public void CheckResourceExists(T resourceType, string resourceID) { Bundle.GetResources() - .Where(resource => resource.TypeName.Equals(resourceType)) + .Where(resource => resource.ResourceType.Equals(resourceType)) .Where(resource => resource.Id == resourceID) .ToList().Count().ShouldBe(1, "Fail : Linked Resource Not Contained in Response - type : " + resourceType + " - ID : " + resourceID); diff --git a/GPConnect.Provider.AcceptanceTests/StructuredAllergies.feature b/GPConnect.Provider.AcceptanceTests/StructuredAllergies.feature index 01ca8a67..7a986d38 100644 --- a/GPConnect.Provider.AcceptanceTests/StructuredAllergies.feature +++ b/GPConnect.Provider.AcceptanceTests/StructuredAllergies.feature @@ -1,16 +1,16 @@ @Structured @StructuredAllergies @1.5.0-Full-Pack Feature: StructuredAllergies -# These Tests are only Testing this Structured Area in isolation and Not with other Areas or Combinations of Include Parameters -# Tests around Multiple Structured Areas in one Request are tested in the MultipleRequests Feature + # These Tests are only Testing this Structured Area in isolation and Not with other Areas or Combinations of Include Parameters + # Tests around Multiple Structured Areas in one Request are tested in the MultipleRequests Feature - -Scenario Outline: Retrieve the allergy structured record section for a patient including resolved allergies no problems associated - Given I configure the default "GpcGetStructuredRecord" request + + Scenario Outline: Retrieve the allergy structured record section for a patient including resolved allergies no problems associated + Given I configure the default "GpcGetStructuredRecord" request And I add an NHS Number parameter for "" And I add the allergies parameter with resolvedAllergies set to "true" - When I make the "GpcGetStructuredRecord" request - Then the response status code should indicate success + When I make the "GpcGetStructuredRecord" request + Then the response status code should indicate success And the response should be a Bundle resource of type "collection" And the response meta profile should be for "structured" And the patient resource in the bundle should contain meta data profile and version id @@ -30,23 +30,22 @@ Scenario Outline: Retrieve the allergy structured record section for a patient i And check the response does not contain an operation outcome And I Check There is No Problems Secondary Problems List And I Check No Problem Resources are Included - Examples: - | Patient | - | patient3 | - | patient4 | - | patient6 | - | patient7 | - | patient8 | - | patient12 | - | patient13 | - - -Scenario Outline: Retrieve the allergy structured record section for a patient including resolved allergies with linked Problems - Given I configure the default "GpcGetStructuredRecord" request + Examples: + | Patient | + | patient3 | + | patient4 | + | patient6 | + | patient7 | + | patient8 | + | patient12 | + | patient13 | + + Scenario Outline: Retrieve the allergy structured record section for a patient including resolved allergies with linked Problems + Given I configure the default "GpcGetStructuredRecord" request And I add an NHS Number parameter for "" And I add the allergies parameter with resolvedAllergies set to "true" - When I make the "GpcGetStructuredRecord" request - Then the response status code should indicate success + When I make the "GpcGetStructuredRecord" request + Then the response status code should indicate success And the response should be a Bundle resource of type "collection" And the response meta profile should be for "structured" And the patient resource in the bundle should contain meta data profile and version id @@ -69,87 +68,16 @@ Scenario Outline: Retrieve the allergy structured record section for a patient i And I Check The Problems Resources are Valid And I check The Problem Resources Do Not Include Not In Use Fields And Check a Problem is linked to an "AllergyIntolerance" that is also included in the response with its list - Examples: - | Patient | - | patient2 | + Examples: + | Patient | + | patient2 | - -Scenario Outline: Retrieve the allergy structured record for a patient with no problems and excluding resolved allergies - Given I configure the default "GpcGetStructuredRecord" request - And I add an NHS Number parameter for "" - And I add the allergies parameter with resolvedAllergies set to "false" - When I make the "GpcGetStructuredRecord" request - Then the response status code should indicate success - And the response should be a Bundle resource of type "collection" - And the response meta profile should be for "structured" - And the patient resource in the bundle should contain meta data profile and version id - And if the response bundle contains a practitioner resource it should contain meta data profile and version id - And if the response bundle contains an organization resource it should contain meta data profile and version id - And the Patient Id should be valid - And the Practitioner Id should be valid - And the Organization Id should be valid - And the Bundle should be valid for patient "" - And the Bundle should contain "1" lists - And the Bundle should contain a list with the title "Allergies and adverse reactions" - And the Bundle should not contain a list with the title "Ended allergies" - And the AllergyIntolerance should be valid - And the Bundle should contain the correct number of allergies - And the Lists are valid for a patient with allergies - And check the response does not contain an operation outcome - And I Check There is No Problems Secondary Problems List - And I Check No Problem Resources are Included - Examples: - | Patient | - | patient3 | - | patient4 | - | patient6 | - | patient7 | - | patient8 | -# git hub ref 144 | patient11 | - | patient12 | - | patient13 | -## removed github ref 91 | patient15 | - - -Scenario Outline: Retrieve the allergy structured record for a patient with problems linked but excluding resolved allergies - Given I configure the default "GpcGetStructuredRecord" request - And I add an NHS Number parameter for "" - And I add the allergies parameter with resolvedAllergies set to "false" - When I make the "GpcGetStructuredRecord" request - Then the response status code should indicate success - And the response should be a Bundle resource of type "collection" - And the response meta profile should be for "structured" - And the patient resource in the bundle should contain meta data profile and version id - And if the response bundle contains a practitioner resource it should contain meta data profile and version id - And if the response bundle contains an organization resource it should contain meta data profile and version id - And the Patient Id should be valid - And the Practitioner Id should be valid - And the Organization Id should be valid - And the Bundle should be valid for patient "" - And check that the bundle does not contain any duplicate resources - And the Bundle should contain "2" lists - And the Bundle should contain a list with the title "Allergies and adverse reactions" - And the Bundle should not contain a list with the title "Ended allergies" - And the AllergyIntolerance should be valid - And the Bundle should contain the correct number of allergies - And the Lists are valid for a patient with allergies - And check the response does not contain an operation outcome - And I Check The Problems Secondary Problems List - And I Check The Problems Secondary Problems List Does Not Include Not In Use Fields - And I Check The Problems Resources are Valid - And I check The Problem Resources Do Not Include Not In Use Fields - And Check a Problem is linked to an "AllergyIntolerance" that is also included in the response with its list - - Examples: - | Patient | - | patient2 | - -Scenario: Retrieve the allergy structured record section including resolved allergies for a patient without any allergies - Given I configure the default "GpcGetStructuredRecord" request + Scenario: Retrieve the allergy structured record section including resolved allergies for a patient without any allergies + Given I configure the default "GpcGetStructuredRecord" request And I add an NHS Number parameter for "patient1" And I add the allergies parameter with resolvedAllergies set to "true" - When I make the "GpcGetStructuredRecord" request - Then the response status code should indicate success + When I make the "GpcGetStructuredRecord" request + Then the response status code should indicate success And the response should be a Bundle resource of type "collection" And the response meta profile should be for "structured" And the patient resource in the bundle should contain meta data profile and version id @@ -163,221 +91,4 @@ Scenario: Retrieve the allergy structured record section including resolved alle And the Bundle should contain a list with the title "Allergies and adverse reactions" And the Bundle should contain a list with the title "Ended allergies" And the Lists are valid for a patient with no allergies - And the List of AllergyIntolerances should be valid - -Scenario: Retrieve the allergy structured record section excluding resolved allergies for a patient without any allergies - Given I configure the default "GpcGetStructuredRecord" request - And I add an NHS Number parameter for "patient1" - And I add the allergies parameter with resolvedAllergies set to "false" - When I make the "GpcGetStructuredRecord" request - Then the response status code should indicate success - And the response should be a Bundle resource of type "collection" - And the response meta profile should be for "structured" - And the patient resource in the bundle should contain meta data profile and version id - And if the response bundle contains a practitioner resource it should contain meta data profile and version id - And if the response bundle contains an organization resource it should contain meta data profile and version id - And the Patient Id should be valid - And the Practitioner Id should be valid - And the Organization Id should be valid - And the Bundle should be valid for patient "patient1" - And the Bundle should contain "1" lists - And the Bundle should contain a list with the title "Allergies and adverse reactions" - And the Lists are valid for a patient with no allergies - And the List of AllergyIntolerances should be valid - -Scenario: Retrieve the allergy structured record section including resolved allergies for a patient with no allergies coding - Given I configure the default "GpcGetStructuredRecord" request - And I add an NHS Number parameter for "patient5" - And I add the allergies parameter with resolvedAllergies set to "true" - When I make the "GpcGetStructuredRecord" request - Then the response status code should indicate success - And the response should be a Bundle resource of type "collection" - And the response meta profile should be for "structured" - And the patient resource in the bundle should contain meta data profile and version id - And if the response bundle contains a practitioner resource it should contain meta data profile and version id - And if the response bundle contains an organization resource it should contain meta data profile and version id - And the Patient Id should be valid - And the Practitioner Id should be valid - And the Organization Id should be valid - And the Bundle should be valid for patient "patient5" - And the Bundle should contain "2" lists - And the Bundle should contain a list with the title "Allergies and adverse reactions" - And the Bundle should contain a list with the title "Ended allergies" - And the Lists are valid for a patient with explicit no allergies coding - And the List of AllergyIntolerances should be valid - -Scenario: Retrieve the allergy structured record section excluding resolved allergies for a patient with no allergies coding - Given I configure the default "GpcGetStructuredRecord" request - And I add an NHS Number parameter for "patient5" - And I add the allergies parameter with resolvedAllergies set to "false" - When I make the "GpcGetStructuredRecord" request - Then the response status code should indicate success - And the response should be a Bundle resource of type "collection" - And the response meta profile should be for "structured" - And the patient resource in the bundle should contain meta data profile and version id - And if the response bundle contains a practitioner resource it should contain meta data profile and version id - And if the response bundle contains an organization resource it should contain meta data profile and version id - And the Patient Id should be valid - And the Practitioner Id should be valid - And the Organization Id should be valid - And the Bundle should be valid for patient "patient5" - And the Bundle should contain "1" lists - And the Bundle should contain a list with the title "Allergies and adverse reactions" - And the Lists are valid for a patient with explicit no allergies coding - And the List of AllergyIntolerances should be valid - - -Scenario: Retrieve the allergy structured record section for a patient without the resolved allergies parameter expected failure - Given I configure the default "GpcGetStructuredRecord" request - And I add an NHS Number parameter for "patient1" - And I add the allergies parameter without mandatory part parameter - When I make the "GpcGetStructuredRecord" request - Then the response status code should indicate failure - And the response status code should be "422" - And the response should be a OperationOutcome resource with error code "INVALID_PARAMETER" - -#SJD 06/09/2019 #295 this is now accepted under forward compatability for 1.3.0 - -Scenario: Retrieve the allergy structured record with additional include unknown prescription issues parameter expected success with operational outcome - Given I configure the default "GpcGetStructuredRecord" request - And I add an NHS Number parameter for "patient1" - And I add the allergies parameter with mandatory part parameter and includePrescriptionIssues - When I make the "GpcGetStructuredRecord" request - Then the response status code should indicate success - And Check the operation outcome returns the correct text and diagnotics "includePrescriptionIssues" - And Check the number of issues in the operation outcome "1" - -#SJD 06/09/2019 #295 this is now accepted under forward compatability for 1.3.0 -Scenario: Retrieve the allergy structured record section for a patient with an uknown parameter expected success - Given I configure the default "GpcGetStructuredRecord" request - And I add an NHS Number parameter for "patient1" - And I add an unknown allergies parameter name - When I make the "GpcGetStructuredRecord" request - Then the response status code should indicate success - And Check the operation outcome returns the correct text and diagnotics "inlcudeUnknownAllergies" - And Check the number of issues in the operation outcome "1" - -Scenario: Retrieve the allergy structured record section for an invalid NHS number - Given I configure the default "GpcGetStructuredRecord" request - And I add an NHS Number parameter for an invalid NHS Number - And I add the allergies parameter with resolvedAllergies set to "false" - When I make the "GpcGetStructuredRecord" request - Then the response status code should indicate failure - And the response should be a OperationOutcome resource - -Scenario: Retrieve the allergy structured record section for an empty NHS number - Given I configure the default "GpcGetStructuredRecord" request - And I add an NHS Number parameter with an empty NHS Number - And I add the allergies parameter with resolvedAllergies set to "false" - When I make the "GpcGetStructuredRecord" request - Then the response status code should indicate failure - And the response should be a OperationOutcome resource - -Scenario: Retrieve the allergy structured record section for an invalid Identifier System - Given I configure the default "GpcGetStructuredRecord" request - And I add an NHS Number parameter for "patient1" with an invalid Identifier System - And I add the allergies parameter with resolvedAllergies set to "false" - When I make the "GpcGetStructuredRecord" request - Then the response status code should indicate failure - And the response should be a OperationOutcome resource - -Scenario: Retrieve the allergy structured record section for an empty Identifier System -Given I configure the default "GpcGetStructuredRecord" request - And I add an NHS Number parameter for "patient1" with an empty Identifier System - And I add the allergies parameter with resolvedAllergies set to "false" - When I make the "GpcGetStructuredRecord" request - Then the response status code should indicate failure - And the response should be a OperationOutcome resource - - -#SJD 04/10/2019 changed the response code as per specification for invalid parameter -Scenario: Retrieve the allergy structured record section for an invalid parameter type - Given I configure the default "GpcGetStructuredRecord" request - And I add an NHS Number parameter for "patient1" using an invalid parameter type - And I add the allergies parameter with resolvedAllergies set to "false" - When I make the "GpcGetStructuredRecord" request - Then the response status code should indicate failure - And the response status code should be "422" - And the response should be a OperationOutcome resource with error code "INVALID_PARAMETER" - -#SJD 06/09/2019 #295 this is now accepted under forward compatability for 1.3.0 - -Scenario: Retrieve the allergy structured record section for a patient with additional timePeriod parameter expected success - Given I configure the default "GpcGetStructuredRecord" request - And I add an NHS Number parameter for "patient1" - And I add the allergies parameter with mandatory parameter and additional parameter - When I make the "GpcGetStructuredRecord" request - Then the response status code should indicate success - And Check the operation outcome returns the correct text and diagnotics "TimePeriod" - And Check the number of issues in the operation outcome "1" - -#SJD 06/09/2019 #295 this is now accepted under forward compatability for 1.3.0 - -Scenario: Retrieve the allergy structured record section for a patient with additional start date parameter expected success - Given I configure the default "GpcGetStructuredRecord" request - And I add an NHS Number parameter for "patient1" - And I add the allergies parameter with mandatory part parameter start date - When I make the "GpcGetStructuredRecord" request - Then the response status code should indicate success - And Check the operation outcome returns the correct text and diagnotics "TimePeriod" - And Check the number of issues in the operation outcome "1" - -Scenario: Retrieve the allergy structured record section for a patient with recorder - Given I configure the default "GpcGetStructuredRecord" request - And I add an NHS Number parameter for "patient2" - And I add the allergies parameter with resolvedAllergies set to "true" - When I make the "GpcGetStructuredRecord" request - Then the response should contain the recorder reference - -Scenario: Check allergy warning code is populated for a patient - Given I configure the default "GpcGetStructuredRecord" request - And I add an NHS Number parameter for "patient17" - And I add the allergies parameter with resolvedAllergies set to "true" - When I make the "GpcGetStructuredRecord" request - Then the response status code should indicate success - And the Bundle should contain "2" lists - And the Bundle should contain a list with the title "Allergies and adverse reactions" - And the Bundle should contain a list with the title "Ended allergies" - And the Lists are valid for a patient without allergies - - # Added 1.2.0 RMB 15/8/2018 - -Scenario: Check allergy legacy endReason - Given I configure the default "GpcGetStructuredRecord" request - And I add an NHS Number parameter for "patient16" - And I add the allergies parameter with resolvedAllergies set to "true" - When I make the "GpcGetStructuredRecord" request - Then the response status code should indicate success - And the Bundle should contain "2" lists - And the Bundle should contain a list with the title "Allergies and adverse reactions" - And the Bundle should contain a list with the title "Ended allergies" - And the List of AllergyIntolerances should be valid - And the Lists are valid for a patient with legacy endReason - -# Added for github ref 110 (Demonstrator) -# 1.2.1 RMB 15/10/2018 - -Scenario: structured record for a patient that is not in the database - Given I configure the default "GpcGetStructuredRecord" request - And I add an NHS Number parameter for "patientNotInSystem" - And I add the allergies parameter with resolvedAllergies set to "true" - When I make the "GpcGetStructuredRecord" request - Then the response status code should indicate failure - And the response status code should be "404" - And the response should be a OperationOutcome resource with error code "PATIENT_NOT_FOUND" - -#PG 30/8/2019 - #289 - -Scenario Outline: Structured Allergies Patient Has multiple Warnings and Associated Notes - Given I configure the default "GpcGetStructuredRecord" request - And I add an NHS Number parameter for "" - And I add the allergies parameter with resolvedAllergies set to "false" - When I make the "GpcGetStructuredRecord" request - Then the response status code should indicate success - And the Bundle should contain "1" lists - And Check the list contains the following warning "" - And Check the warning "" has associated note "" - Examples: - | Patient | Warning | Note | - |patient16| confidential-items | Items excluded due to confidentiality and/or patient preferences. | - |patient13| data-in-transit | Patient record transfer from previous GP practice not yet complete; information recorded before dd-Mmm-yyyy may be missing. | + And the List of AllergyIntolerances should be valid \ No newline at end of file diff --git a/GPConnect.Provider.AcceptanceTests/StructuredAllergies.feature.cs b/GPConnect.Provider.AcceptanceTests/StructuredAllergies.feature.cs index 0a9c78d7..daff688b 100644 --- a/GPConnect.Provider.AcceptanceTests/StructuredAllergies.feature.cs +++ b/GPConnect.Provider.AcceptanceTests/StructuredAllergies.feature.cs @@ -97,7 +97,7 @@ public void RetrieveTheAllergyStructuredRecordSectionForAPatientIncludingResolve TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the allergy structured record section for a patient including resolved a" + "llergies no problems associated", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 8 -this.ScenarioInitialize(scenarioInfo); + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -107,7 +107,7 @@ public void RetrieveTheAllergyStructuredRecordSectionForAPatientIncludingResolve { this.ScenarioStart(); #line 9 - testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); + testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden #line 10 testRunner.And(string.Format("I add an NHS Number parameter for \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); @@ -116,10 +116,10 @@ public void RetrieveTheAllergyStructuredRecordSectionForAPatientIncludingResolve testRunner.And("I add the allergies parameter with resolvedAllergies set to \"true\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 12 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); + testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden #line 13 - testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); + testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden #line 14 testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); @@ -197,8 +197,8 @@ public void RetrieveTheAllergyStructuredRecordSectionForAPatientIncludingResolve argumentsOfScenario.Add("Patient", patient); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the allergy structured record section for a patient including resolved a" + "llergies with linked Problems", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 44 -this.ScenarioInitialize(scenarioInfo); +#line 43 + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -207,304 +207,89 @@ public void RetrieveTheAllergyStructuredRecordSectionForAPatientIncludingResolve else { this.ScenarioStart(); +#line 44 + testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 45 - testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); + testRunner.And(string.Format("I add an NHS Number parameter for \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 46 - testRunner.And(string.Format("I add an NHS Number parameter for \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + testRunner.And("I add the allergies parameter with resolvedAllergies set to \"true\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 47 - testRunner.And("I add the allergies parameter with resolvedAllergies set to \"true\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden #line 48 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); + testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden #line 49 - testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); -#line hidden -#line 50 testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 51 +#line 50 testRunner.And("the response meta profile should be for \"structured\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 52 +#line 51 testRunner.And("the patient resource in the bundle should contain meta data profile and version i" + "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 53 +#line 52 testRunner.And("if the response bundle contains a practitioner resource it should contain meta da" + "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 54 +#line 53 testRunner.And("if the response bundle contains an organization resource it should contain meta d" + "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 55 +#line 54 testRunner.And("the AllergyIntolerance should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 56 +#line 55 testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 57 +#line 56 testRunner.And("the Practitioner Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 58 +#line 57 testRunner.And("the Organization Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 59 +#line 58 testRunner.And(string.Format("the Bundle should be valid for patient \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 60 +#line 59 testRunner.And("check that the bundle does not contain any duplicate resources", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 61 +#line 60 testRunner.And("the Bundle should contain \"3\" lists", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 62 +#line 61 testRunner.And("the Bundle should contain a list with the title \"Allergies and adverse reactions\"" + "", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 63 +#line 62 testRunner.And("the Bundle should contain a list with the title \"Ended allergies\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 64 - testRunner.And("the Bundle should contain the correct number of allergies", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 65 - testRunner.And("the Lists are valid for a patient with allergies", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 66 - testRunner.And("check the response does not contain an operation outcome", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 67 - testRunner.And("I Check The Problems Secondary Problems List", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 68 - testRunner.And("I Check The Problems Secondary Problems List Does Not Include Not In Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 69 - testRunner.And("I Check The Problems Resources are Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 70 - testRunner.And("I check The Problem Resources Do Not Include Not In Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 71 - testRunner.And("Check a Problem is linked to an \"AllergyIntolerance\" that is also included in the" + - " response with its list", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden - } - this.ScenarioCleanup(); - } - - [NUnit.Framework.TestAttribute()] - [NUnit.Framework.DescriptionAttribute("Retrieve the allergy structured record for a patient with no problems and excludi" + - "ng resolved allergies")] - [NUnit.Framework.TestCaseAttribute("patient3", null)] - [NUnit.Framework.TestCaseAttribute("patient4", null)] - [NUnit.Framework.TestCaseAttribute("patient6", null)] - [NUnit.Framework.TestCaseAttribute("patient7", null)] - [NUnit.Framework.TestCaseAttribute("patient8", null)] - [NUnit.Framework.TestCaseAttribute("patient12", null)] - [NUnit.Framework.TestCaseAttribute("patient13", null)] - public void RetrieveTheAllergyStructuredRecordForAPatientWithNoProblemsAndExcludingResolvedAllergies(string patient, string[] exampleTags) - { - string[] tagsOfScenario = exampleTags; - System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); - argumentsOfScenario.Add("Patient", patient); - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the allergy structured record for a patient with no problems and excludi" + - "ng resolved allergies", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 77 -this.ScenarioInitialize(scenarioInfo); -#line hidden - if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) - { - testRunner.SkipScenario(); - } - else - { - this.ScenarioStart(); -#line 78 - testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); -#line hidden -#line 79 - testRunner.And(string.Format("I add an NHS Number parameter for \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 80 - testRunner.And("I add the allergies parameter with resolvedAllergies set to \"false\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 81 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); -#line hidden -#line 82 - testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); -#line hidden -#line 83 - testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 84 - testRunner.And("the response meta profile should be for \"structured\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 85 - testRunner.And("the patient resource in the bundle should contain meta data profile and version i" + - "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 86 - testRunner.And("if the response bundle contains a practitioner resource it should contain meta da" + - "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 87 - testRunner.And("if the response bundle contains an organization resource it should contain meta d" + - "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 88 - testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 89 - testRunner.And("the Practitioner Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 90 - testRunner.And("the Organization Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 91 - testRunner.And(string.Format("the Bundle should be valid for patient \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 92 - testRunner.And("the Bundle should contain \"1\" lists", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 93 - testRunner.And("the Bundle should contain a list with the title \"Allergies and adverse reactions\"" + - "", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 94 - testRunner.And("the Bundle should not contain a list with the title \"Ended allergies\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 95 - testRunner.And("the AllergyIntolerance should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 96 - testRunner.And("the Bundle should contain the correct number of allergies", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 97 - testRunner.And("the Lists are valid for a patient with allergies", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 98 - testRunner.And("check the response does not contain an operation outcome", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 99 - testRunner.And("I Check There is No Problems Secondary Problems List", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 100 - testRunner.And("I Check No Problem Resources are Included", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden - } - this.ScenarioCleanup(); - } - - [NUnit.Framework.TestAttribute()] - [NUnit.Framework.DescriptionAttribute("Retrieve the allergy structured record for a patient with problems linked but exc" + - "luding resolved allergies")] - [NUnit.Framework.TestCaseAttribute("patient2", null)] - public void RetrieveTheAllergyStructuredRecordForAPatientWithProblemsLinkedButExcludingResolvedAllergies(string patient, string[] exampleTags) - { - string[] tagsOfScenario = exampleTags; - System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); - argumentsOfScenario.Add("Patient", patient); - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the allergy structured record for a patient with problems linked but exc" + - "luding resolved allergies", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 114 -this.ScenarioInitialize(scenarioInfo); -#line hidden - if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) - { - testRunner.SkipScenario(); - } - else - { - this.ScenarioStart(); -#line 115 - testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); -#line hidden -#line 116 - testRunner.And(string.Format("I add an NHS Number parameter for \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 117 - testRunner.And("I add the allergies parameter with resolvedAllergies set to \"false\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 118 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); -#line hidden -#line 119 - testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); -#line hidden -#line 120 - testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 121 - testRunner.And("the response meta profile should be for \"structured\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 122 - testRunner.And("the patient resource in the bundle should contain meta data profile and version i" + - "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 123 - testRunner.And("if the response bundle contains a practitioner resource it should contain meta da" + - "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 124 - testRunner.And("if the response bundle contains an organization resource it should contain meta d" + - "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 125 - testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 126 - testRunner.And("the Practitioner Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 127 - testRunner.And("the Organization Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 128 - testRunner.And(string.Format("the Bundle should be valid for patient \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 129 - testRunner.And("check that the bundle does not contain any duplicate resources", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 130 - testRunner.And("the Bundle should contain \"2\" lists", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 131 - testRunner.And("the Bundle should contain a list with the title \"Allergies and adverse reactions\"" + - "", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 132 - testRunner.And("the Bundle should not contain a list with the title \"Ended allergies\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 133 - testRunner.And("the AllergyIntolerance should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 134 +#line 63 testRunner.And("the Bundle should contain the correct number of allergies", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 135 +#line 64 testRunner.And("the Lists are valid for a patient with allergies", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 136 +#line 65 testRunner.And("check the response does not contain an operation outcome", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 137 +#line 66 testRunner.And("I Check The Problems Secondary Problems List", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 138 +#line 67 testRunner.And("I Check The Problems Secondary Problems List Does Not Include Not In Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 139 +#line 68 testRunner.And("I Check The Problems Resources are Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 140 +#line 69 testRunner.And("I check The Problem Resources Do Not Include Not In Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 141 +#line 70 testRunner.And("Check a Problem is linked to an \"AllergyIntolerance\" that is also included in the" + " response with its list", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden @@ -521,8 +306,8 @@ public void RetrieveTheAllergyStructuredRecordSectionIncludingResolvedAllergiesF System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the allergy structured record section including resolved allergies for a" + " patient without any allergies", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 147 -this.ScenarioInitialize(scenarioInfo); +#line 75 + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -531,966 +316,66 @@ public void RetrieveTheAllergyStructuredRecordSectionIncludingResolvedAllergiesF else { this.ScenarioStart(); -#line 148 - testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 76 + testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 149 +#line 77 testRunner.And("I add an NHS Number parameter for \"patient1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 150 +#line 78 testRunner.And("I add the allergies parameter with resolvedAllergies set to \"true\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 151 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 79 + testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 152 - testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line 80 + testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 153 +#line 81 testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 154 +#line 82 testRunner.And("the response meta profile should be for \"structured\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 155 +#line 83 testRunner.And("the patient resource in the bundle should contain meta data profile and version i" + "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 156 +#line 84 testRunner.And("if the response bundle contains a practitioner resource it should contain meta da" + "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 157 +#line 85 testRunner.And("if the response bundle contains an organization resource it should contain meta d" + "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 158 +#line 86 testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 159 +#line 87 testRunner.And("the Practitioner Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 160 +#line 88 testRunner.And("the Organization Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 161 +#line 89 testRunner.And("the Bundle should be valid for patient \"patient1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 162 +#line 90 testRunner.And("the Bundle should contain \"2\" lists", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 163 +#line 91 testRunner.And("the Bundle should contain a list with the title \"Allergies and adverse reactions\"" + "", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 164 +#line 92 testRunner.And("the Bundle should contain a list with the title \"Ended allergies\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 165 +#line 93 testRunner.And("the Lists are valid for a patient with no allergies", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 166 +#line 94 testRunner.And("the List of AllergyIntolerances should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden - } - this.ScenarioCleanup(); - } - - [NUnit.Framework.TestAttribute()] - [NUnit.Framework.DescriptionAttribute("Retrieve the allergy structured record section excluding resolved allergies for a" + - " patient without any allergies")] - public void RetrieveTheAllergyStructuredRecordSectionExcludingResolvedAllergiesForAPatientWithoutAnyAllergies() - { - string[] tagsOfScenario = ((string[])(null)); - System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the allergy structured record section excluding resolved allergies for a" + - " patient without any allergies", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 168 -this.ScenarioInitialize(scenarioInfo); -#line hidden - if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) - { - testRunner.SkipScenario(); - } - else - { - this.ScenarioStart(); -#line 169 - testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); -#line hidden -#line 170 - testRunner.And("I add an NHS Number parameter for \"patient1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 171 - testRunner.And("I add the allergies parameter with resolvedAllergies set to \"false\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 172 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); -#line hidden -#line 173 - testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); -#line hidden -#line 174 - testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 175 - testRunner.And("the response meta profile should be for \"structured\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 176 - testRunner.And("the patient resource in the bundle should contain meta data profile and version i" + - "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 177 - testRunner.And("if the response bundle contains a practitioner resource it should contain meta da" + - "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 178 - testRunner.And("if the response bundle contains an organization resource it should contain meta d" + - "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 179 - testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 180 - testRunner.And("the Practitioner Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 181 - testRunner.And("the Organization Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 182 - testRunner.And("the Bundle should be valid for patient \"patient1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 183 - testRunner.And("the Bundle should contain \"1\" lists", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 184 - testRunner.And("the Bundle should contain a list with the title \"Allergies and adverse reactions\"" + - "", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 185 - testRunner.And("the Lists are valid for a patient with no allergies", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 186 - testRunner.And("the List of AllergyIntolerances should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden - } - this.ScenarioCleanup(); - } - - [NUnit.Framework.TestAttribute()] - [NUnit.Framework.DescriptionAttribute("Retrieve the allergy structured record section including resolved allergies for a" + - " patient with no allergies coding")] - public void RetrieveTheAllergyStructuredRecordSectionIncludingResolvedAllergiesForAPatientWithNoAllergiesCoding() - { - string[] tagsOfScenario = ((string[])(null)); - System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the allergy structured record section including resolved allergies for a" + - " patient with no allergies coding", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 188 -this.ScenarioInitialize(scenarioInfo); -#line hidden - if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) - { - testRunner.SkipScenario(); - } - else - { - this.ScenarioStart(); -#line 189 - testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); -#line hidden -#line 190 - testRunner.And("I add an NHS Number parameter for \"patient5\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 191 - testRunner.And("I add the allergies parameter with resolvedAllergies set to \"true\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 192 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); -#line hidden -#line 193 - testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); -#line hidden -#line 194 - testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 195 - testRunner.And("the response meta profile should be for \"structured\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 196 - testRunner.And("the patient resource in the bundle should contain meta data profile and version i" + - "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 197 - testRunner.And("if the response bundle contains a practitioner resource it should contain meta da" + - "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 198 - testRunner.And("if the response bundle contains an organization resource it should contain meta d" + - "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 199 - testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 200 - testRunner.And("the Practitioner Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 201 - testRunner.And("the Organization Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 202 - testRunner.And("the Bundle should be valid for patient \"patient5\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 203 - testRunner.And("the Bundle should contain \"2\" lists", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 204 - testRunner.And("the Bundle should contain a list with the title \"Allergies and adverse reactions\"" + - "", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 205 - testRunner.And("the Bundle should contain a list with the title \"Ended allergies\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 206 - testRunner.And("the Lists are valid for a patient with explicit no allergies coding", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 207 - testRunner.And("the List of AllergyIntolerances should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden - } - this.ScenarioCleanup(); - } - - [NUnit.Framework.TestAttribute()] - [NUnit.Framework.DescriptionAttribute("Retrieve the allergy structured record section excluding resolved allergies for a" + - " patient with no allergies coding")] - public void RetrieveTheAllergyStructuredRecordSectionExcludingResolvedAllergiesForAPatientWithNoAllergiesCoding() - { - string[] tagsOfScenario = ((string[])(null)); - System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the allergy structured record section excluding resolved allergies for a" + - " patient with no allergies coding", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 209 -this.ScenarioInitialize(scenarioInfo); -#line hidden - if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) - { - testRunner.SkipScenario(); - } - else - { - this.ScenarioStart(); -#line 210 - testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); -#line hidden -#line 211 - testRunner.And("I add an NHS Number parameter for \"patient5\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 212 - testRunner.And("I add the allergies parameter with resolvedAllergies set to \"false\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 213 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); -#line hidden -#line 214 - testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); -#line hidden -#line 215 - testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 216 - testRunner.And("the response meta profile should be for \"structured\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 217 - testRunner.And("the patient resource in the bundle should contain meta data profile and version i" + - "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 218 - testRunner.And("if the response bundle contains a practitioner resource it should contain meta da" + - "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 219 - testRunner.And("if the response bundle contains an organization resource it should contain meta d" + - "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 220 - testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 221 - testRunner.And("the Practitioner Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 222 - testRunner.And("the Organization Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 223 - testRunner.And("the Bundle should be valid for patient \"patient5\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 224 - testRunner.And("the Bundle should contain \"1\" lists", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 225 - testRunner.And("the Bundle should contain a list with the title \"Allergies and adverse reactions\"" + - "", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 226 - testRunner.And("the Lists are valid for a patient with explicit no allergies coding", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 227 - testRunner.And("the List of AllergyIntolerances should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden - } - this.ScenarioCleanup(); - } - - [NUnit.Framework.TestAttribute()] - [NUnit.Framework.DescriptionAttribute("Retrieve the allergy structured record section for a patient without the resolved" + - " allergies parameter expected failure")] - public void RetrieveTheAllergyStructuredRecordSectionForAPatientWithoutTheResolvedAllergiesParameterExpectedFailure() - { - string[] tagsOfScenario = ((string[])(null)); - System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the allergy structured record section for a patient without the resolved" + - " allergies parameter expected failure", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 230 -this.ScenarioInitialize(scenarioInfo); -#line hidden - if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) - { - testRunner.SkipScenario(); - } - else - { - this.ScenarioStart(); -#line 231 - testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); -#line hidden -#line 232 - testRunner.And("I add an NHS Number parameter for \"patient1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 233 - testRunner.And("I add the allergies parameter without mandatory part parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 234 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); -#line hidden -#line 235 - testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); -#line hidden -#line 236 - testRunner.And("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 237 - testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_PARAM" + - "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden - } - this.ScenarioCleanup(); - } - - [NUnit.Framework.TestAttribute()] - [NUnit.Framework.DescriptionAttribute("Retrieve the allergy structured record with additional include unknown prescripti" + - "on issues parameter expected success with operational outcome")] - public void RetrieveTheAllergyStructuredRecordWithAdditionalIncludeUnknownPrescriptionIssuesParameterExpectedSuccessWithOperationalOutcome() - { - string[] tagsOfScenario = ((string[])(null)); - System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the allergy structured record with additional include unknown prescripti" + - "on issues parameter expected success with operational outcome", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 241 -this.ScenarioInitialize(scenarioInfo); -#line hidden - if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) - { - testRunner.SkipScenario(); - } - else - { - this.ScenarioStart(); -#line 242 - testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); -#line hidden -#line 243 - testRunner.And("I add an NHS Number parameter for \"patient1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 244 - testRunner.And("I add the allergies parameter with mandatory part parameter and includePrescripti" + - "onIssues", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 245 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); -#line hidden -#line 246 - testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); -#line hidden -#line 247 - testRunner.And("Check the operation outcome returns the correct text and diagnotics \"includePresc" + - "riptionIssues\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 248 - testRunner.And("Check the number of issues in the operation outcome \"1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden - } - this.ScenarioCleanup(); - } - - [NUnit.Framework.TestAttribute()] - [NUnit.Framework.DescriptionAttribute("Retrieve the allergy structured record section for a patient with an uknown param" + - "eter expected success")] - public void RetrieveTheAllergyStructuredRecordSectionForAPatientWithAnUknownParameterExpectedSuccess() - { - string[] tagsOfScenario = ((string[])(null)); - System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the allergy structured record section for a patient with an uknown param" + - "eter expected success", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 251 -this.ScenarioInitialize(scenarioInfo); -#line hidden - if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) - { - testRunner.SkipScenario(); - } - else - { - this.ScenarioStart(); -#line 252 - testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); -#line hidden -#line 253 - testRunner.And("I add an NHS Number parameter for \"patient1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 254 - testRunner.And("I add an unknown allergies parameter name", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 255 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); -#line hidden -#line 256 - testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); -#line hidden -#line 257 - testRunner.And("Check the operation outcome returns the correct text and diagnotics \"inlcudeUnkno" + - "wnAllergies\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 258 - testRunner.And("Check the number of issues in the operation outcome \"1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden - } - this.ScenarioCleanup(); - } - - [NUnit.Framework.TestAttribute()] - [NUnit.Framework.DescriptionAttribute("Retrieve the allergy structured record section for an invalid NHS number")] - public void RetrieveTheAllergyStructuredRecordSectionForAnInvalidNHSNumber() - { - string[] tagsOfScenario = ((string[])(null)); - System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the allergy structured record section for an invalid NHS number", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 260 -this.ScenarioInitialize(scenarioInfo); -#line hidden - if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) - { - testRunner.SkipScenario(); - } - else - { - this.ScenarioStart(); -#line 261 - testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); -#line hidden -#line 262 - testRunner.And("I add an NHS Number parameter for an invalid NHS Number", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 263 - testRunner.And("I add the allergies parameter with resolvedAllergies set to \"false\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 264 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); -#line hidden -#line 265 - testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); -#line hidden -#line 266 - testRunner.And("the response should be a OperationOutcome resource", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden - } - this.ScenarioCleanup(); - } - - [NUnit.Framework.TestAttribute()] - [NUnit.Framework.DescriptionAttribute("Retrieve the allergy structured record section for an empty NHS number")] - public void RetrieveTheAllergyStructuredRecordSectionForAnEmptyNHSNumber() - { - string[] tagsOfScenario = ((string[])(null)); - System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the allergy structured record section for an empty NHS number", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 268 -this.ScenarioInitialize(scenarioInfo); -#line hidden - if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) - { - testRunner.SkipScenario(); - } - else - { - this.ScenarioStart(); -#line 269 - testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); -#line hidden -#line 270 - testRunner.And("I add an NHS Number parameter with an empty NHS Number", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 271 - testRunner.And("I add the allergies parameter with resolvedAllergies set to \"false\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 272 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); -#line hidden -#line 273 - testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); -#line hidden -#line 274 - testRunner.And("the response should be a OperationOutcome resource", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden - } - this.ScenarioCleanup(); - } - - [NUnit.Framework.TestAttribute()] - [NUnit.Framework.DescriptionAttribute("Retrieve the allergy structured record section for an invalid Identifier System")] - public void RetrieveTheAllergyStructuredRecordSectionForAnInvalidIdentifierSystem() - { - string[] tagsOfScenario = ((string[])(null)); - System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the allergy structured record section for an invalid Identifier System", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 276 -this.ScenarioInitialize(scenarioInfo); -#line hidden - if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) - { - testRunner.SkipScenario(); - } - else - { - this.ScenarioStart(); -#line 277 - testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); -#line hidden -#line 278 - testRunner.And("I add an NHS Number parameter for \"patient1\" with an invalid Identifier System", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 279 - testRunner.And("I add the allergies parameter with resolvedAllergies set to \"false\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 280 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); -#line hidden -#line 281 - testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); -#line hidden -#line 282 - testRunner.And("the response should be a OperationOutcome resource", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden - } - this.ScenarioCleanup(); - } - - [NUnit.Framework.TestAttribute()] - [NUnit.Framework.DescriptionAttribute("Retrieve the allergy structured record section for an empty Identifier System")] - public void RetrieveTheAllergyStructuredRecordSectionForAnEmptyIdentifierSystem() - { - string[] tagsOfScenario = ((string[])(null)); - System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the allergy structured record section for an empty Identifier System", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 284 -this.ScenarioInitialize(scenarioInfo); -#line hidden - if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) - { - testRunner.SkipScenario(); - } - else - { - this.ScenarioStart(); -#line 285 -testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); -#line hidden -#line 286 - testRunner.And("I add an NHS Number parameter for \"patient1\" with an empty Identifier System", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 287 - testRunner.And("I add the allergies parameter with resolvedAllergies set to \"false\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 288 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); -#line hidden -#line 289 - testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); -#line hidden -#line 290 - testRunner.And("the response should be a OperationOutcome resource", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden - } - this.ScenarioCleanup(); - } - - [NUnit.Framework.TestAttribute()] - [NUnit.Framework.DescriptionAttribute("Retrieve the allergy structured record section for an invalid parameter type")] - public void RetrieveTheAllergyStructuredRecordSectionForAnInvalidParameterType() - { - string[] tagsOfScenario = ((string[])(null)); - System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the allergy structured record section for an invalid parameter type", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 294 -this.ScenarioInitialize(scenarioInfo); -#line hidden - if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) - { - testRunner.SkipScenario(); - } - else - { - this.ScenarioStart(); -#line 295 - testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); -#line hidden -#line 296 - testRunner.And("I add an NHS Number parameter for \"patient1\" using an invalid parameter type", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 297 - testRunner.And("I add the allergies parameter with resolvedAllergies set to \"false\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 298 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); -#line hidden -#line 299 - testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); -#line hidden -#line 300 - testRunner.And("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 301 - testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_PARAM" + - "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden - } - this.ScenarioCleanup(); - } - - [NUnit.Framework.TestAttribute()] - [NUnit.Framework.DescriptionAttribute("Retrieve the allergy structured record section for a patient with additional time" + - "Period parameter expected success")] - public void RetrieveTheAllergyStructuredRecordSectionForAPatientWithAdditionalTimePeriodParameterExpectedSuccess() - { - string[] tagsOfScenario = ((string[])(null)); - System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the allergy structured record section for a patient with additional time" + - "Period parameter expected success", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 305 -this.ScenarioInitialize(scenarioInfo); -#line hidden - if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) - { - testRunner.SkipScenario(); - } - else - { - this.ScenarioStart(); -#line 306 - testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); -#line hidden -#line 307 - testRunner.And("I add an NHS Number parameter for \"patient1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 308 - testRunner.And("I add the allergies parameter with mandatory parameter and additional parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 309 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); -#line hidden -#line 310 - testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); -#line hidden -#line 311 - testRunner.And("Check the operation outcome returns the correct text and diagnotics \"TimePeriod\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 312 - testRunner.And("Check the number of issues in the operation outcome \"1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden - } - this.ScenarioCleanup(); - } - - [NUnit.Framework.TestAttribute()] - [NUnit.Framework.DescriptionAttribute("Retrieve the allergy structured record section for a patient with additional star" + - "t date parameter expected success")] - public void RetrieveTheAllergyStructuredRecordSectionForAPatientWithAdditionalStartDateParameterExpectedSuccess() - { - string[] tagsOfScenario = ((string[])(null)); - System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the allergy structured record section for a patient with additional star" + - "t date parameter expected success", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 316 -this.ScenarioInitialize(scenarioInfo); -#line hidden - if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) - { - testRunner.SkipScenario(); - } - else - { - this.ScenarioStart(); -#line 317 - testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); -#line hidden -#line 318 - testRunner.And("I add an NHS Number parameter for \"patient1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 319 - testRunner.And("I add the allergies parameter with mandatory part parameter start date", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 320 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); -#line hidden -#line 321 - testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); -#line hidden -#line 322 - testRunner.And("Check the operation outcome returns the correct text and diagnotics \"TimePeriod\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 323 - testRunner.And("Check the number of issues in the operation outcome \"1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden - } - this.ScenarioCleanup(); - } - - [NUnit.Framework.TestAttribute()] - [NUnit.Framework.DescriptionAttribute("Retrieve the allergy structured record section for a patient with recorder")] - public void RetrieveTheAllergyStructuredRecordSectionForAPatientWithRecorder() - { - string[] tagsOfScenario = ((string[])(null)); - System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the allergy structured record section for a patient with recorder", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 325 -this.ScenarioInitialize(scenarioInfo); -#line hidden - if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) - { - testRunner.SkipScenario(); - } - else - { - this.ScenarioStart(); -#line 326 - testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); -#line hidden -#line 327 - testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 328 - testRunner.And("I add the allergies parameter with resolvedAllergies set to \"true\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 329 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); -#line hidden -#line 330 - testRunner.Then("the response should contain the recorder reference", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); -#line hidden - } - this.ScenarioCleanup(); - } - - [NUnit.Framework.TestAttribute()] - [NUnit.Framework.DescriptionAttribute("Check allergy warning code is populated for a patient")] - public void CheckAllergyWarningCodeIsPopulatedForAPatient() - { - string[] tagsOfScenario = ((string[])(null)); - System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Check allergy warning code is populated for a patient", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 332 -this.ScenarioInitialize(scenarioInfo); -#line hidden - if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) - { - testRunner.SkipScenario(); - } - else - { - this.ScenarioStart(); -#line 333 - testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); -#line hidden -#line 334 - testRunner.And("I add an NHS Number parameter for \"patient17\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 335 - testRunner.And("I add the allergies parameter with resolvedAllergies set to \"true\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 336 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); -#line hidden -#line 337 - testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); -#line hidden -#line 338 - testRunner.And("the Bundle should contain \"2\" lists", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 339 - testRunner.And("the Bundle should contain a list with the title \"Allergies and adverse reactions\"" + - "", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 340 - testRunner.And("the Bundle should contain a list with the title \"Ended allergies\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 341 - testRunner.And("the Lists are valid for a patient without allergies", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden - } - this.ScenarioCleanup(); - } - - [NUnit.Framework.TestAttribute()] - [NUnit.Framework.DescriptionAttribute("Check allergy legacy endReason")] - public void CheckAllergyLegacyEndReason() - { - string[] tagsOfScenario = ((string[])(null)); - System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Check allergy legacy endReason", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 345 -this.ScenarioInitialize(scenarioInfo); -#line hidden - if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) - { - testRunner.SkipScenario(); - } - else - { - this.ScenarioStart(); -#line 346 - testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); -#line hidden -#line 347 - testRunner.And("I add an NHS Number parameter for \"patient16\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 348 - testRunner.And("I add the allergies parameter with resolvedAllergies set to \"true\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 349 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); -#line hidden -#line 350 - testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); -#line hidden -#line 351 - testRunner.And("the Bundle should contain \"2\" lists", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 352 - testRunner.And("the Bundle should contain a list with the title \"Allergies and adverse reactions\"" + - "", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 353 - testRunner.And("the Bundle should contain a list with the title \"Ended allergies\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 354 - testRunner.And("the List of AllergyIntolerances should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 355 - testRunner.And("the Lists are valid for a patient with legacy endReason", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden - } - this.ScenarioCleanup(); - } - - [NUnit.Framework.TestAttribute()] - [NUnit.Framework.DescriptionAttribute("structured record for a patient that is not in the database")] - public void StructuredRecordForAPatientThatIsNotInTheDatabase() - { - string[] tagsOfScenario = ((string[])(null)); - System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("structured record for a patient that is not in the database", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 360 -this.ScenarioInitialize(scenarioInfo); -#line hidden - if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) - { - testRunner.SkipScenario(); - } - else - { - this.ScenarioStart(); -#line 361 - testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); -#line hidden -#line 362 - testRunner.And("I add an NHS Number parameter for \"patientNotInSystem\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 363 - testRunner.And("I add the allergies parameter with resolvedAllergies set to \"true\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 364 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); -#line hidden -#line 365 - testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); -#line hidden -#line 366 - testRunner.And("the response status code should be \"404\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 367 - testRunner.And("the response should be a OperationOutcome resource with error code \"PATIENT_NOT_F" + - "OUND\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden - } - this.ScenarioCleanup(); - } - - [NUnit.Framework.TestAttribute()] - [NUnit.Framework.DescriptionAttribute("Structured Allergies Patient Has multiple Warnings and Associated Notes")] - [NUnit.Framework.TestCaseAttribute("patient16", "confidential-items", "Items excluded due to confidentiality and/or patient preferences.", null)] - [NUnit.Framework.TestCaseAttribute("patient13", "data-in-transit", "Patient record transfer from previous GP practice not yet complete; information r" + - "ecorded before dd-Mmm-yyyy may be missing.", null)] - public void StructuredAllergiesPatientHasMultipleWarningsAndAssociatedNotes(string patient, string warning, string note, string[] exampleTags) - { - string[] tagsOfScenario = exampleTags; - System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); - argumentsOfScenario.Add("Patient", patient); - argumentsOfScenario.Add("Warning", warning); - argumentsOfScenario.Add("Note", note); - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Structured Allergies Patient Has multiple Warnings and Associated Notes", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 371 -this.ScenarioInitialize(scenarioInfo); -#line hidden - if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) - { - testRunner.SkipScenario(); - } - else - { - this.ScenarioStart(); -#line 372 - testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); -#line hidden -#line 373 - testRunner.And(string.Format("I add an NHS Number parameter for \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 374 - testRunner.And("I add the allergies parameter with resolvedAllergies set to \"false\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 375 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); -#line hidden -#line 376 - testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); -#line hidden -#line 377 - testRunner.And("the Bundle should contain \"1\" lists", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 378 - testRunner.And(string.Format("Check the list contains the following warning \"{0}\"", warning), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 379 - testRunner.And(string.Format("Check the warning \"{0}\" has associated note \"{1}\"", warning, note), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } this.ScenarioCleanup(); diff --git a/GPConnect.Provider.AcceptanceTests/StructuredMedications.feature b/GPConnect.Provider.AcceptanceTests/StructuredMedications.feature index 04d88809..bdbe632c 100644 --- a/GPConnect.Provider.AcceptanceTests/StructuredMedications.feature +++ b/GPConnect.Provider.AcceptanceTests/StructuredMedications.feature @@ -1,16 +1,16 @@ @Structured @StructuredMedications @1.5.0-Full-Pack Feature: StructuredMedications -# These Tests are only Testing this Structured Area in isolation and Not with other Areas or Combinations of Include Parameters -# Tests around Multiple Structured Areas in one Request are tested in the MultipleRequests Feature + # These Tests are only Testing this Structured Area in isolation and Not with other Areas or Combinations of Include Parameters + # Tests around Multiple Structured Areas in one Request are tested in the MultipleRequests Feature + # These are a minimal subset of tests to support the gp-connect-mock-tests A3 - -Scenario Outline: Retrieve the medication structured record section for a patient with no problems and including prescription issues - Given I configure the default "GpcGetStructuredRecord" request + Scenario Outline: Retrieve the medication structured record section for a patient with no problems and including prescription issues + Given I configure the default "GpcGetStructuredRecord" request And I add an NHS Number parameter for "" And I add the medication parameter with includePrescriptionIssues set to "true" - When I make the "GpcGetStructuredRecord" request - Then the response status code should indicate success + When I make the "GpcGetStructuredRecord" request + Then the response status code should indicate success And the response should be a Bundle resource of type "collection" And the response meta profile should be for "structured" And the patient resource in the bundle should contain meta data profile and version id @@ -31,56 +31,19 @@ Scenario Outline: Retrieve the medication structured record section for a patien And I Check There is No Problems Secondary Problems List And I Check No Problem Resources are Included - Examples: - | Patient | - | patient3 | - | patient5 | - | patient12 | - | patient16 | + Examples: + | Patient | + | patient3 | + | patient5 | + | patient12 | + | patient16 | - -Scenario Outline: Retrieve the medication structured record section for a patient with problems linked and including prescription issues - Given I configure the default "GpcGetStructuredRecord" request - And I add an NHS Number parameter for "" - And I add the medication parameter with includePrescriptionIssues set to "true" - When I make the "GpcGetStructuredRecord" request - Then the response status code should indicate success - And the response should be a Bundle resource of type "collection" - And the response meta profile should be for "structured" - And the patient resource in the bundle should contain meta data profile and version id - And if the response bundle contains a practitioner resource it should contain meta data profile and version id - And if the response bundle contains an organization resource it should contain meta data profile and version id - And the Bundle should be valid for patient "" - And check that the bundle does not contain any duplicate resources - And the Bundle should contain "2" lists - And the Medications should be valid - And the Medication Statements should be valid - And the Medication Requests should be valid - And the List of MedicationStatements should be valid - And there should only be one order request for acute prescriptions - And the Patient Id should be valid - And the Practitioner Id should be valid - And the Organization Id should be valid - And check the response does not contain an operation outcome - And I Check The Problems Secondary Problems List - And I Check The Problems Secondary Problems List Does Not Include Not In Use Fields - And I Check The Problems Resources are Valid - And I check The Problem Resources Do Not Include Not In Use Fields - And Check a Problem is Linked to a MedicationRequest resource that has been included in the response - And Check the MedicationRequests have a link to a medication that has been included in response - And Check there is a MedicationStatement resource that is linked to the MedicationRequest and Medication - And Check the Medications List resource has been included in response - Examples: - | Patient | - | patient2 | - - -Scenario Outline: Retrieve the medication structured record for a patient with no problems and excluding prescription issues - Given I configure the default "GpcGetStructuredRecord" request + Scenario Outline: Retrieve the medication structured record for a patient with no problems and excluding prescription issues + Given I configure the default "GpcGetStructuredRecord" request And I add an NHS Number parameter for "" And I add the medication parameter with includePrescriptionIssues set to "false" - When I make the "GpcGetStructuredRecord" request - Then the response status code should indicate success + When I make the "GpcGetStructuredRecord" request + Then the response status code should indicate success And the response should be a Bundle resource of type "collection" And the response meta profile should be for "structured" And the patient resource in the bundle should contain meta data profile and version id @@ -100,75 +63,18 @@ Scenario Outline: Retrieve the medication structured record for a patient with n And check the response does not contain an operation outcome And I Check There is No Problems Secondary Problems List And I Check No Problem Resources are Included - Examples: - | Patient | - | patient3 | - | patient5 | - | patient12 | - - -Scenario Outline: Retrieve the medication structured record for a patient with problems linked and excluding prescription issues - Given I configure the default "GpcGetStructuredRecord" request - And I add an NHS Number parameter for "" - And I add the medication parameter with includePrescriptionIssues set to "false" - When I make the "GpcGetStructuredRecord" request - Then the response status code should indicate success - And the response should be a Bundle resource of type "collection" - And the response meta profile should be for "structured" - And the patient resource in the bundle should contain meta data profile and version id - And if the response bundle contains a practitioner resource it should contain meta data profile and version id - And if the response bundle contains an organization resource it should contain meta data profile and version id - And the Bundle should be valid for patient "" - And check that the bundle does not contain any duplicate resources - And the Bundle should contain "2" lists - And the Medications should be valid - And the Medication Statements should be valid - And the Medication Requests should be valid - And the List of MedicationStatements should be valid - And the Medication Requests should not contain any issues - And the Patient Id should be valid - And the Practitioner Id should be valid - And the Organization Id should be valid - And check the response does not contain an operation outcome - And I Check The Problems Secondary Problems List - And I Check The Problems Secondary Problems List Does Not Include Not In Use Fields - And I Check The Problems Resources are Valid - And I check The Problem Resources Do Not Include Not In Use Fields - And Check a Problem is Linked to a MedicationRequest resource that has been included in the response - And Check the MedicationRequests have a link to a medication that has been included in response - And Check there is a MedicationStatement resource that is linked to the MedicationRequest and Medication - And Check the Medications List resource has been included in response - Examples: - | Patient | - | patient2 | - -Scenario: Retrieve the medication structured record section for a patient with no medications including issues - Given I configure the default "GpcGetStructuredRecord" request - And I add an NHS Number parameter for "patient4" - And I add the medication parameter with includePrescriptionIssues set to "true" - When I make the "GpcGetStructuredRecord" request - Then the response status code should indicate success - And the response should be a Bundle resource of type "collection" - And the response meta profile should be for "structured" - And the patient resource in the bundle should contain meta data profile and version id - And if the response bundle contains a practitioner resource it should contain meta data profile and version id - And if the response bundle contains an organization resource it should contain meta data profile and version id - And the Bundle should be valid for patient "patient4" - And the Bundle should contain "1" lists - And the List of MedicationStatements should be valid - And the Medications should be valid - And the Medication Statements should be valid - And the Medication Requests should be valid - And the Patient Id should be valid - And the Practitioner Id should be valid - And the Organization Id should be valid - -Scenario: Retrieve the medication structured record section for a patient with no medications - Given I configure the default "GpcGetStructuredRecord" request + Examples: + | Patient | + | patient3 | + | patient5 | + | patient12 | + + Scenario: Retrieve the medication structured record section for a patient with no medications + Given I configure the default "GpcGetStructuredRecord" request And I add an NHS Number parameter for "patient4" And I add the medication parameter with includePrescriptionIssues set to "false" - When I make the "GpcGetStructuredRecord" request - Then the response status code should indicate success + When I make the "GpcGetStructuredRecord" request + Then the response status code should indicate success And the response should be a Bundle resource of type "collection" And the response meta profile should be for "structured" And the patient resource in the bundle should contain meta data profile and version id @@ -180,134 +86,33 @@ Scenario: Retrieve the medication structured record section for a patient with n And the Medications should be valid And the Medication Statements should be valid And the Medication Requests should be valid - -Scenario Outline: Retrieve the structured record section for a patient without the medications parameter - Given I configure the default "GpcGetStructuredRecord" request - And I add an NHS Number parameter for "" - When I make the "GpcGetStructuredRecord" request - Then the response status code should indicate success - And the response should be a Bundle resource of type "collection" - And the response meta profile should be for "structured" - And the patient resource in the bundle should contain meta data profile and version id - And if the response bundle contains a practitioner resource it should contain meta data profile and version id - And if the response bundle contains an organization resource it should contain meta data profile and version id - And the Bundle should be valid for patient "" - And the response bundle should not contain any medications data - Examples: - | Patient | - | patient2 | - | patient3 | - | patient5 | - | patient12 | - - -#PG 19-2-2020 - 1.3.2 - param no longer mandatory, so checking call works -Scenario: Retrieve the medication structured record section for a patient without the includePrescriptionIssue parameter - Given I configure the default "GpcGetStructuredRecord" request - And I add an NHS Number parameter for "patient1" - And I add the medications parameter without mandatory partParameter - When I make the "GpcGetStructuredRecord" request - Then the response status code should indicate success - And the response meta profile should be for "structured" - - -#SJD 06/09/2019 #295 this is now accepted under forward compatability for 1.3.0 - -Scenario: Verify that when the medication parameter is labelled incorrectly with correct mandatory partParameter returns success - Given I configure the default "GpcGetStructuredRecord" request - And I add an NHS Number parameter for "patient1" - And I add an incorrectly named medication parameter - When I make the "GpcGetStructuredRecord" request - Then the response status code should indicate success - And Check the operation outcome returns the correct text and diagnotics "includeInvalidMedications" - And Check the number of issues in the operation outcome "1" - -Scenario: Retrieve the medication structured record section for an invalid NHS number - Given I configure the default "GpcGetStructuredRecord" request - And I add an NHS Number parameter for an invalid NHS Number - And I add the medication parameter with includePrescriptionIssues set to "false" - When I make the "GpcGetStructuredRecord" request - Then the response status code should indicate failure - And the response should be a OperationOutcome resource - -Scenario: Retrieve the medication structured record section for an empty NHS number - Given I configure the default "GpcGetStructuredRecord" request - And I add an NHS Number parameter with an empty NHS Number - And I add the medication parameter with includePrescriptionIssues set to "false" - When I make the "GpcGetStructuredRecord" request - Then the response status code should indicate failure - And the response should be a OperationOutcome resource - -Scenario: Retrieve the medication structured record section for an invalid Identifier System - Given I configure the default "GpcGetStructuredRecord" request - And I add an NHS Number parameter for "patient1" with an invalid Identifier System - And I add the medication parameter with includePrescriptionIssues set to "false" - When I make the "GpcGetStructuredRecord" request - Then the response status code should indicate failure - And the response should be a OperationOutcome resource -Scenario: Retrieve the medication structured record section for an empty Identifier System -Given I configure the default "GpcGetStructuredRecord" request - And I add an NHS Number parameter for "patient1" with an empty Identifier System - And I add the medication parameter with includePrescriptionIssues set to "false" - When I make the "GpcGetStructuredRecord" request - Then the response status code should indicate failure - And the response should be a OperationOutcome resource - - -#SJD 04/10/2019 changed the response code as per specification for invalid parameter -Scenario: Retrieve the medication structured record section for an invalid parameter type - Given I configure the default "GpcGetStructuredRecord" request - And I add an NHS Number parameter for "patient1" using an invalid parameter type - And I add the medication parameter with includePrescriptionIssues set to "false" - When I make the "GpcGetStructuredRecord" request - Then the response status code should indicate failure - And the response status code should be "422" - And the response should be a OperationOutcome resource with error code "INVALID_PARAMETER" - -Scenario: Retrieve the medication structured record section for a patient with a timePeriod - Given I configure the default "GpcGetStructuredRecord" request + Scenario: Retrieve the medication structured record section for a patient with a timePeriod + Given I configure the default "GpcGetStructuredRecord" request And I add an NHS Number parameter for "patient2" - And I add the medications parameter to search from "3" years back - When I make the "GpcGetStructuredRecord" request - Then the response status code should indicate success + # fixed date used to match Wiremock mapping + And I set a medications period parameter start date to "2022-09-25" + When I make the "GpcGetStructuredRecord" request + Then the response status code should indicate success And the response should be a Bundle resource of type "collection" And the response meta profile should be for "structured" And the patient resource in the bundle should contain meta data profile and version id And if the response bundle contains a practitioner resource it should contain meta data profile and version id And if the response bundle contains an organization resource it should contain meta data profile and version id - And the Bundle should be valid for patient "patient2" + And the Bundle should be valid for patient "patient2" And the Medications should be valid And the Medication Statements should be valid And the Medication Requests should be valid And the List of MedicationStatements should be valid - And the MedicationStatement EffectiveDate is Greater Than Search Date of "3" years ago - - -Scenario Outline: Retrieve the medication structured record section for a patient with invalid date values - Given I configure the default "GpcGetStructuredRecord" request - And I add an NHS Number parameter for "patient1" - And I set a medications period parameter start date to "" - When I make the "GpcGetStructuredRecord" request - Then the response status code should be "422" - And the response should be a OperationOutcome resource with error code "INVALID_PARAMETER" -Examples: - | StartDate | - | X2014 | - | X2014-02 | - | X2015-10-23T11:08:32 | - | X2015-10-23T11:08:32+00:00 | - | | - | 2014 | - | 2014-02 | - | null | + # fixed date used to match Wiremock mapping + And the MedicationStatement EffectiveDate is Greater Than Search Date of "2022-09-25" years ago -Scenario: Retrieve the medication structured record section for a patient with medication prescribed elsewhere - Given I configure the default "GpcGetStructuredRecord" request + Scenario: Retrieve the medication structured record section for a patient with medication prescribed elsewhere + Given I configure the default "GpcGetStructuredRecord" request And I add an NHS Number parameter for "patient12" And I add the medication parameter with includePrescriptionIssues set to "true" - When I make the "GpcGetStructuredRecord" request - Then the response status code should indicate success + When I make the "GpcGetStructuredRecord" request + Then the response status code should indicate success And the response should be a Bundle resource of type "collection" And the response meta profile should be for "structured" And the patient resource in the bundle should contain meta data profile and version id @@ -319,95 +124,4 @@ Scenario: Retrieve the medication structured record section for a patient with m And the Medication Statements should be valid And the Medication Requests should be valid And the List of MedicationStatements should be valid - And the MedicationStatement for prescriptions prescribed elsewhere should be valid - -Scenario: Check warning code is populated for a patient - Given I configure the default "GpcGetStructuredRecord" request - And I add an NHS Number parameter for "patient2" - And I add the medication parameter with includePrescriptionIssues set to "true" - When I make the "GpcGetStructuredRecord" request - Then the response status code should indicate success - #PG 1.3.2 - Updated to check for extra problems list for this patient. - And the Bundle should contain "2" lists -# RMB 13/9/2018 github ref 84 Replaced 'Medication List' with 'Medications and medical devices' - And the Bundle should contain a list with the title "Medications and medical devices" - And the Lists are valid for a patient without allergies - -# Added for github ref 110 (Demonstrator) -# 1.2.1 RMB 15/10/2018 - -Scenario: Structured record for a patient that is not in the database - Given I configure the default "GpcGetStructuredRecord" request - And I add an NHS Number parameter for "patientNotInSystem" - And I add the medication parameter with includePrescriptionIssues set to "true" - When I make the "GpcGetStructuredRecord" request - Then the response status code should indicate failure - And the response status code should be "404" - And the response should be a OperationOutcome resource with error code "PATIENT_NOT_FOUND" -# -# Added for github ref 129 -# RMB 5/11/2018 -# -Scenario: Structured record for a patient that is deceased - Given I configure the default "GpcGetStructuredRecord" request - And I add an NHS Number parameter for "patient18" - And I add the medication parameter with includePrescriptionIssues set to "true" - When I make the "GpcGetStructuredRecord" request - Then the response status code should indicate failure - And the response status code should be "404" - And the response should be a OperationOutcome resource with error code "PATIENT_NOT_FOUND" - -Scenario: structured record for a patient that has sensitive flag - Given I configure the default "GpcGetStructuredRecord" request - And I add an NHS Number parameter for "patient9" - And I add the medication parameter with includePrescriptionIssues set to "true" - When I make the "GpcGetStructuredRecord" request - Then the response status code should indicate failure - And the response status code should be "404" - And the response should be a OperationOutcome resource with error code "PATIENT_NOT_FOUND" - -Scenario: structured record for a patient that has inactive flag - Given I configure the default "GpcGetStructuredRecord" request - And I add an NHS Number parameter for "patient21" - And I add the medication parameter with includePrescriptionIssues set to "true" - When I make the "GpcGetStructuredRecord" request - Then the response status code should indicate failure - Then the response status code should be "404" - And the response should be a OperationOutcome resource with error code "PATIENT_NOT_FOUND" - - -#PG 6/9/2019 - #289 - -Scenario Outline: Structured Medications Patient Has multiple Warnings and Associated Notes - Given I configure the default "GpcGetStructuredRecord" request - And I add an NHS Number parameter for "patient13" - And I add the medication parameter with includePrescriptionIssues set to "true" - When I make the "GpcGetStructuredRecord" request - Then the response status code should indicate success - And the Bundle should contain "1" lists - And the List of MedicationStatements should be valid - And Check the list contains the following warning "" - And Check the warning "" has associated note "" - Examples: - | Warning | Note | - | data-in-transit | Patient record transfer from previous GP practice not yet complete; information recorded before dd-Mmm-yyyy may be missing. | - - - Scenario: Retrieve the medication structured record with startDate in the future - expected failure - Given I configure the default "GpcGetStructuredRecord" request - And I add an NHS Number parameter for "patient1" - And I add the medications parameter with a start date greater than current date - When I make the "GpcGetStructuredRecord" request - Then the response status code should indicate failure - Then the response status code should be "422" - And the response should be a OperationOutcome resource with error code "INVALID_PARAMETER" - - #Duplicate Part Parm check - Martin Hillyand advised to check INVALID_RESOURCE returned - - Scenario: Attempt to Retrieve medications using duplicate part param expect failure - Given I configure the default "GpcGetStructuredRecord" request - And I add an NHS Number parameter for "patient3" - And I add a duplicate medication part parameter - When I make the "GpcGetStructuredRecord" request - Then the response status code should be "422" - And the response should be a OperationOutcome resource with error code "INVALID_RESOURCE" + And the MedicationStatement for prescriptions prescribed elsewhere should be valid \ No newline at end of file diff --git a/GPConnect.Provider.AcceptanceTests/StructuredMedications.feature.cs b/GPConnect.Provider.AcceptanceTests/StructuredMedications.feature.cs index 04aca3fc..99667905 100644 --- a/GPConnect.Provider.AcceptanceTests/StructuredMedications.feature.cs +++ b/GPConnect.Provider.AcceptanceTests/StructuredMedications.feature.cs @@ -94,7 +94,7 @@ public void RetrieveTheMedicationStructuredRecordSectionForAPatientWithNoProblem TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the medication structured record section for a patient with no problems " + "and including prescription issues", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 8 -this.ScenarioInitialize(scenarioInfo); + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -104,7 +104,7 @@ public void RetrieveTheMedicationStructuredRecordSectionForAPatientWithNoProblem { this.ScenarioStart(); #line 9 - testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); + testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden #line 10 testRunner.And(string.Format("I add an NHS Number parameter for \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); @@ -113,10 +113,10 @@ public void RetrieveTheMedicationStructuredRecordSectionForAPatientWithNoProblem testRunner.And("I add the medication parameter with includePrescriptionIssues set to \"true\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 12 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); + testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden #line 13 - testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); + testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden #line 14 testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); @@ -183,18 +183,20 @@ public void RetrieveTheMedicationStructuredRecordSectionForAPatientWithNoProblem } [NUnit.Framework.TestAttribute()] - [NUnit.Framework.DescriptionAttribute("Retrieve the medication structured record section for a patient with problems lin" + - "ked and including prescription issues")] - [NUnit.Framework.TestCaseAttribute("patient2", null)] - public void RetrieveTheMedicationStructuredRecordSectionForAPatientWithProblemsLinkedAndIncludingPrescriptionIssues(string patient, string[] exampleTags) + [NUnit.Framework.DescriptionAttribute("Retrieve the medication structured record for a patient with no problems and excl" + + "uding prescription issues")] + [NUnit.Framework.TestCaseAttribute("patient3", null)] + [NUnit.Framework.TestCaseAttribute("patient5", null)] + [NUnit.Framework.TestCaseAttribute("patient12", null)] + public void RetrieveTheMedicationStructuredRecordForAPatientWithNoProblemsAndExcludingPrescriptionIssues(string patient, string[] exampleTags) { string[] tagsOfScenario = exampleTags; System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); argumentsOfScenario.Add("Patient", patient); - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the medication structured record section for a patient with problems lin" + - "ked and including prescription issues", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 42 -this.ScenarioInitialize(scenarioInfo); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the medication structured record for a patient with no problems and excl" + + "uding prescription issues", null, tagsOfScenario, argumentsOfScenario, featureTags); +#line 41 + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -203,121 +205,96 @@ public void RetrieveTheMedicationStructuredRecordSectionForAPatientWithProblemsL else { this.ScenarioStart(); +#line 42 + testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden #line 43 - testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); + testRunner.And(string.Format("I add an NHS Number parameter for \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 44 - testRunner.And(string.Format("I add an NHS Number parameter for \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + testRunner.And("I add the medication parameter with includePrescriptionIssues set to \"false\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 45 - testRunner.And("I add the medication parameter with includePrescriptionIssues set to \"true\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden #line 46 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); + testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden #line 47 - testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); -#line hidden -#line 48 testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 49 +#line 48 testRunner.And("the response meta profile should be for \"structured\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 50 +#line 49 testRunner.And("the patient resource in the bundle should contain meta data profile and version i" + "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 51 +#line 50 testRunner.And("if the response bundle contains a practitioner resource it should contain meta da" + "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 52 +#line 51 testRunner.And("if the response bundle contains an organization resource it should contain meta d" + "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 53 +#line 52 testRunner.And(string.Format("the Bundle should be valid for patient \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 54 +#line 53 testRunner.And("check that the bundle does not contain any duplicate resources", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden +#line 54 + testRunner.And("the Bundle should contain \"1\" lists", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 55 - testRunner.And("the Bundle should contain \"2\" lists", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + testRunner.And("the Medications should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 56 - testRunner.And("the Medications should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + testRunner.And("the Medication Statements should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 57 - testRunner.And("the Medication Statements should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + testRunner.And("the Medication Requests should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 58 - testRunner.And("the Medication Requests should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + testRunner.And("the List of MedicationStatements should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 59 - testRunner.And("the List of MedicationStatements should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + testRunner.And("the Medication Requests should not contain any issues", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 60 - testRunner.And("there should only be one order request for acute prescriptions", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 61 - testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + testRunner.And("the Practitioner Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 62 - testRunner.And("the Practitioner Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + testRunner.And("the Organization Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 63 - testRunner.And("the Organization Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + testRunner.And("check the response does not contain an operation outcome", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 64 - testRunner.And("check the response does not contain an operation outcome", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + testRunner.And("I Check There is No Problems Secondary Problems List", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 65 - testRunner.And("I Check The Problems Secondary Problems List", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 66 - testRunner.And("I Check The Problems Secondary Problems List Does Not Include Not In Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 67 - testRunner.And("I Check The Problems Resources are Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 68 - testRunner.And("I check The Problem Resources Do Not Include Not In Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 69 - testRunner.And("Check a Problem is Linked to a MedicationRequest resource that has been included " + - "in the response", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 70 - testRunner.And("Check the MedicationRequests have a link to a medication that has been included i" + - "n response", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 71 - testRunner.And("Check there is a MedicationStatement resource that is linked to the MedicationReq" + - "uest and Medication", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 72 - testRunner.And("Check the Medications List resource has been included in response", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + testRunner.And("I Check No Problem Resources are Included", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] - [NUnit.Framework.DescriptionAttribute("Retrieve the medication structured record for a patient with no problems and excl" + - "uding prescription issues")] - [NUnit.Framework.TestCaseAttribute("patient3", null)] - [NUnit.Framework.TestCaseAttribute("patient5", null)] - [NUnit.Framework.TestCaseAttribute("patient12", null)] - public void RetrieveTheMedicationStructuredRecordForAPatientWithNoProblemsAndExcludingPrescriptionIssues(string patient, string[] exampleTags) + [NUnit.Framework.DescriptionAttribute("Retrieve the medication structured record section for a patient with no medicatio" + + "ns")] + public void RetrieveTheMedicationStructuredRecordSectionForAPatientWithNoMedications() { - string[] tagsOfScenario = exampleTags; + string[] tagsOfScenario = ((string[])(null)); System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); - argumentsOfScenario.Add("Patient", patient); - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the medication structured record for a patient with no problems and excl" + - "uding prescription issues", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 78 -this.ScenarioInitialize(scenarioInfo); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the medication structured record section for a patient with no medicatio" + + "ns", null, tagsOfScenario, argumentsOfScenario, featureTags); +#line 72 + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -326,98 +303,72 @@ public void RetrieveTheMedicationStructuredRecordForAPatientWithNoProblemsAndExc else { this.ScenarioStart(); -#line 79 - testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 73 + testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 80 - testRunner.And(string.Format("I add an NHS Number parameter for \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 74 + testRunner.And("I add an NHS Number parameter for \"patient4\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 81 +#line 75 testRunner.And("I add the medication parameter with includePrescriptionIssues set to \"false\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 82 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 76 + testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 83 - testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line 77 + testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 84 +#line 78 testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 85 +#line 79 testRunner.And("the response meta profile should be for \"structured\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 86 +#line 80 testRunner.And("the patient resource in the bundle should contain meta data profile and version i" + "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 87 +#line 81 testRunner.And("if the response bundle contains a practitioner resource it should contain meta da" + "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 88 +#line 82 testRunner.And("if the response bundle contains an organization resource it should contain meta d" + "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 89 - testRunner.And(string.Format("the Bundle should be valid for patient \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 90 - testRunner.And("check that the bundle does not contain any duplicate resources", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 83 + testRunner.And("the Bundle should be valid for patient \"patient4\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 91 +#line 84 testRunner.And("the Bundle should contain \"1\" lists", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 92 +#line 85 + testRunner.And("the List of MedicationStatements should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden +#line 86 testRunner.And("the Medications should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 93 +#line 87 testRunner.And("the Medication Statements should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 94 +#line 88 testRunner.And("the Medication Requests should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 95 - testRunner.And("the List of MedicationStatements should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 96 - testRunner.And("the Medication Requests should not contain any issues", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 97 - testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 98 - testRunner.And("the Practitioner Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 99 - testRunner.And("the Organization Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 100 - testRunner.And("check the response does not contain an operation outcome", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 101 - testRunner.And("I Check There is No Problems Secondary Problems List", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 102 - testRunner.And("I Check No Problem Resources are Included", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] - [NUnit.Framework.DescriptionAttribute("Retrieve the medication structured record for a patient with problems linked and " + - "excluding prescription issues")] - [NUnit.Framework.TestCaseAttribute("patient2", null)] - public void RetrieveTheMedicationStructuredRecordForAPatientWithProblemsLinkedAndExcludingPrescriptionIssues(string patient, string[] exampleTags) + [NUnit.Framework.DescriptionAttribute("Retrieve the medication structured record section for a patient with a timePeriod" + + "")] + public void RetrieveTheMedicationStructuredRecordSectionForAPatientWithATimePeriod() { - string[] tagsOfScenario = exampleTags; + string[] tagsOfScenario = ((string[])(null)); System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); - argumentsOfScenario.Add("Patient", patient); - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the medication structured record for a patient with problems linked and " + - "excluding prescription issues", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 110 -this.ScenarioInitialize(scenarioInfo); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the medication structured record section for a patient with a timePeriod" + + "", null, tagsOfScenario, argumentsOfScenario, featureTags); +#line 90 + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -426,117 +377,73 @@ public void RetrieveTheMedicationStructuredRecordForAPatientWithProblemsLinkedAn else { this.ScenarioStart(); -#line 111 - testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 91 + testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 112 - testRunner.And(string.Format("I add an NHS Number parameter for \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 92 + testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 113 - testRunner.And("I add the medication parameter with includePrescriptionIssues set to \"false\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 94 + testRunner.And("I set a medications period parameter start date to \"2022-09-25\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 114 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 95 + testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 115 - testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line 96 + testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 116 +#line 97 testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 117 +#line 98 testRunner.And("the response meta profile should be for \"structured\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 118 +#line 99 testRunner.And("the patient resource in the bundle should contain meta data profile and version i" + "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 119 +#line 100 testRunner.And("if the response bundle contains a practitioner resource it should contain meta da" + "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 120 +#line 101 testRunner.And("if the response bundle contains an organization resource it should contain meta d" + "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 121 - testRunner.And(string.Format("the Bundle should be valid for patient \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 122 - testRunner.And("check that the bundle does not contain any duplicate resources", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 123 - testRunner.And("the Bundle should contain \"2\" lists", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 102 + testRunner.And("the Bundle should be valid for patient \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 124 +#line 103 testRunner.And("the Medications should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 125 +#line 104 testRunner.And("the Medication Statements should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 126 +#line 105 testRunner.And("the Medication Requests should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 127 +#line 106 testRunner.And("the List of MedicationStatements should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 128 - testRunner.And("the Medication Requests should not contain any issues", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 129 - testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 130 - testRunner.And("the Practitioner Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 131 - testRunner.And("the Organization Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 132 - testRunner.And("check the response does not contain an operation outcome", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 133 - testRunner.And("I Check The Problems Secondary Problems List", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 134 - testRunner.And("I Check The Problems Secondary Problems List Does Not Include Not In Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 135 - testRunner.And("I Check The Problems Resources are Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 136 - testRunner.And("I check The Problem Resources Do Not Include Not In Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 137 - testRunner.And("Check a Problem is Linked to a MedicationRequest resource that has been included " + - "in the response", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 138 - testRunner.And("Check the MedicationRequests have a link to a medication that has been included i" + - "n response", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 139 - testRunner.And("Check there is a MedicationStatement resource that is linked to the MedicationReq" + - "uest and Medication", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 140 - testRunner.And("Check the Medications List resource has been included in response", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 108 + testRunner.And("the MedicationStatement EffectiveDate is Greater Than Search Date of \"2022-09-25\"" + + " years ago", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } this.ScenarioCleanup(); } [NUnit.Framework.TestAttribute()] - [NUnit.Framework.DescriptionAttribute("Retrieve the medication structured record section for a patient with no medicatio" + - "ns including issues")] - public void RetrieveTheMedicationStructuredRecordSectionForAPatientWithNoMedicationsIncludingIssues() + [NUnit.Framework.DescriptionAttribute("Retrieve the medication structured record section for a patient with medication p" + + "rescribed elsewhere")] + public void RetrieveTheMedicationStructuredRecordSectionForAPatientWithMedicationPrescribedElsewhere() { string[] tagsOfScenario = ((string[])(null)); System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the medication structured record section for a patient with no medicatio" + - "ns including issues", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 145 -this.ScenarioInitialize(scenarioInfo); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the medication structured record section for a patient with medication p" + + "rescribed elsewhere", null, tagsOfScenario, argumentsOfScenario, featureTags); +#line 110 + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -545,1048 +452,59 @@ public void RetrieveTheMedicationStructuredRecordSectionForAPatientWithNoMedicat else { this.ScenarioStart(); -#line 146 - testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 111 + testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 147 - testRunner.And("I add an NHS Number parameter for \"patient4\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 112 + testRunner.And("I add an NHS Number parameter for \"patient12\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 148 +#line 113 testRunner.And("I add the medication parameter with includePrescriptionIssues set to \"true\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 149 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 114 + testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 150 - testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line 115 + testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 151 +#line 116 testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 152 +#line 117 testRunner.And("the response meta profile should be for \"structured\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 153 +#line 118 testRunner.And("the patient resource in the bundle should contain meta data profile and version i" + "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 154 +#line 119 testRunner.And("if the response bundle contains a practitioner resource it should contain meta da" + "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 155 +#line 120 testRunner.And("if the response bundle contains an organization resource it should contain meta d" + "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 156 - testRunner.And("the Bundle should be valid for patient \"patient4\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 121 + testRunner.And("the Bundle should be valid for patient \"patient12\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 157 +#line 122 testRunner.And("the Bundle should contain \"1\" lists", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 158 - testRunner.And("the List of MedicationStatements should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 159 +#line 123 testRunner.And("the Medications should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 160 +#line 124 testRunner.And("the Medication Statements should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 161 +#line 125 testRunner.And("the Medication Requests should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 162 - testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 163 - testRunner.And("the Practitioner Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 164 - testRunner.And("the Organization Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden - } - this.ScenarioCleanup(); - } - - [NUnit.Framework.TestAttribute()] - [NUnit.Framework.DescriptionAttribute("Retrieve the medication structured record section for a patient with no medicatio" + - "ns")] - public void RetrieveTheMedicationStructuredRecordSectionForAPatientWithNoMedications() - { - string[] tagsOfScenario = ((string[])(null)); - System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the medication structured record section for a patient with no medicatio" + - "ns", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 166 -this.ScenarioInitialize(scenarioInfo); +#line 126 + testRunner.And("the List of MedicationStatements should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden - if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) - { - testRunner.SkipScenario(); - } - else - { - this.ScenarioStart(); -#line 167 - testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); -#line hidden -#line 168 - testRunner.And("I add an NHS Number parameter for \"patient4\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 169 - testRunner.And("I add the medication parameter with includePrescriptionIssues set to \"false\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 170 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); -#line hidden -#line 171 - testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); -#line hidden -#line 172 - testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 173 - testRunner.And("the response meta profile should be for \"structured\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 174 - testRunner.And("the patient resource in the bundle should contain meta data profile and version i" + - "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 175 - testRunner.And("if the response bundle contains a practitioner resource it should contain meta da" + - "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 176 - testRunner.And("if the response bundle contains an organization resource it should contain meta d" + - "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 177 - testRunner.And("the Bundle should be valid for patient \"patient4\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 178 - testRunner.And("the Bundle should contain \"1\" lists", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 179 - testRunner.And("the List of MedicationStatements should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 180 - testRunner.And("the Medications should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 181 - testRunner.And("the Medication Statements should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 182 - testRunner.And("the Medication Requests should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden - } - this.ScenarioCleanup(); - } - - [NUnit.Framework.TestAttribute()] - [NUnit.Framework.DescriptionAttribute("Retrieve the structured record section for a patient without the medications para" + - "meter")] - [NUnit.Framework.TestCaseAttribute("patient2", null)] - [NUnit.Framework.TestCaseAttribute("patient3", null)] - [NUnit.Framework.TestCaseAttribute("patient5", null)] - [NUnit.Framework.TestCaseAttribute("patient12", null)] - public void RetrieveTheStructuredRecordSectionForAPatientWithoutTheMedicationsParameter(string patient, string[] exampleTags) - { - string[] tagsOfScenario = exampleTags; - System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); - argumentsOfScenario.Add("Patient", patient); - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the structured record section for a patient without the medications para" + - "meter", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 184 -this.ScenarioInitialize(scenarioInfo); -#line hidden - if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) - { - testRunner.SkipScenario(); - } - else - { - this.ScenarioStart(); -#line 185 - testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); -#line hidden -#line 186 - testRunner.And(string.Format("I add an NHS Number parameter for \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 187 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); -#line hidden -#line 188 - testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); -#line hidden -#line 189 - testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 190 - testRunner.And("the response meta profile should be for \"structured\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 191 - testRunner.And("the patient resource in the bundle should contain meta data profile and version i" + - "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 192 - testRunner.And("if the response bundle contains a practitioner resource it should contain meta da" + - "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 193 - testRunner.And("if the response bundle contains an organization resource it should contain meta d" + - "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 194 - testRunner.And(string.Format("the Bundle should be valid for patient \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 195 - testRunner.And("the response bundle should not contain any medications data", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden - } - this.ScenarioCleanup(); - } - - [NUnit.Framework.TestAttribute()] - [NUnit.Framework.DescriptionAttribute("Retrieve the medication structured record section for a patient without the inclu" + - "dePrescriptionIssue parameter")] - public void RetrieveTheMedicationStructuredRecordSectionForAPatientWithoutTheIncludePrescriptionIssueParameter() - { - string[] tagsOfScenario = ((string[])(null)); - System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the medication structured record section for a patient without the inclu" + - "dePrescriptionIssue parameter", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 205 -this.ScenarioInitialize(scenarioInfo); -#line hidden - if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) - { - testRunner.SkipScenario(); - } - else - { - this.ScenarioStart(); -#line 206 - testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); -#line hidden -#line 207 - testRunner.And("I add an NHS Number parameter for \"patient1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 208 - testRunner.And("I add the medications parameter without mandatory partParameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 209 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); -#line hidden -#line 210 - testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); -#line hidden -#line 211 - testRunner.And("the response meta profile should be for \"structured\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden - } - this.ScenarioCleanup(); - } - - [NUnit.Framework.TestAttribute()] - [NUnit.Framework.DescriptionAttribute("Verify that when the medication parameter is labelled incorrectly with correct ma" + - "ndatory partParameter returns success")] - public void VerifyThatWhenTheMedicationParameterIsLabelledIncorrectlyWithCorrectMandatoryPartParameterReturnsSuccess() - { - string[] tagsOfScenario = ((string[])(null)); - System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Verify that when the medication parameter is labelled incorrectly with correct ma" + - "ndatory partParameter returns success", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 216 -this.ScenarioInitialize(scenarioInfo); -#line hidden - if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) - { - testRunner.SkipScenario(); - } - else - { - this.ScenarioStart(); -#line 217 - testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); -#line hidden -#line 218 - testRunner.And("I add an NHS Number parameter for \"patient1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 219 - testRunner.And("I add an incorrectly named medication parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 220 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); -#line hidden -#line 221 - testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); -#line hidden -#line 222 - testRunner.And("Check the operation outcome returns the correct text and diagnotics \"includeInval" + - "idMedications\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 223 - testRunner.And("Check the number of issues in the operation outcome \"1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden - } - this.ScenarioCleanup(); - } - - [NUnit.Framework.TestAttribute()] - [NUnit.Framework.DescriptionAttribute("Retrieve the medication structured record section for an invalid NHS number")] - public void RetrieveTheMedicationStructuredRecordSectionForAnInvalidNHSNumber() - { - string[] tagsOfScenario = ((string[])(null)); - System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the medication structured record section for an invalid NHS number", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 225 -this.ScenarioInitialize(scenarioInfo); -#line hidden - if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) - { - testRunner.SkipScenario(); - } - else - { - this.ScenarioStart(); -#line 226 - testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); -#line hidden -#line 227 - testRunner.And("I add an NHS Number parameter for an invalid NHS Number", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 228 - testRunner.And("I add the medication parameter with includePrescriptionIssues set to \"false\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 229 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); -#line hidden -#line 230 - testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); -#line hidden -#line 231 - testRunner.And("the response should be a OperationOutcome resource", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden - } - this.ScenarioCleanup(); - } - - [NUnit.Framework.TestAttribute()] - [NUnit.Framework.DescriptionAttribute("Retrieve the medication structured record section for an empty NHS number")] - public void RetrieveTheMedicationStructuredRecordSectionForAnEmptyNHSNumber() - { - string[] tagsOfScenario = ((string[])(null)); - System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the medication structured record section for an empty NHS number", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 233 -this.ScenarioInitialize(scenarioInfo); -#line hidden - if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) - { - testRunner.SkipScenario(); - } - else - { - this.ScenarioStart(); -#line 234 - testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); -#line hidden -#line 235 - testRunner.And("I add an NHS Number parameter with an empty NHS Number", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 236 - testRunner.And("I add the medication parameter with includePrescriptionIssues set to \"false\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 237 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); -#line hidden -#line 238 - testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); -#line hidden -#line 239 - testRunner.And("the response should be a OperationOutcome resource", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden - } - this.ScenarioCleanup(); - } - - [NUnit.Framework.TestAttribute()] - [NUnit.Framework.DescriptionAttribute("Retrieve the medication structured record section for an invalid Identifier Syste" + - "m")] - public void RetrieveTheMedicationStructuredRecordSectionForAnInvalidIdentifierSystem() - { - string[] tagsOfScenario = ((string[])(null)); - System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the medication structured record section for an invalid Identifier Syste" + - "m", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 241 -this.ScenarioInitialize(scenarioInfo); -#line hidden - if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) - { - testRunner.SkipScenario(); - } - else - { - this.ScenarioStart(); -#line 242 - testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); -#line hidden -#line 243 - testRunner.And("I add an NHS Number parameter for \"patient1\" with an invalid Identifier System", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 244 - testRunner.And("I add the medication parameter with includePrescriptionIssues set to \"false\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 245 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); -#line hidden -#line 246 - testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); -#line hidden -#line 247 - testRunner.And("the response should be a OperationOutcome resource", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden - } - this.ScenarioCleanup(); - } - - [NUnit.Framework.TestAttribute()] - [NUnit.Framework.DescriptionAttribute("Retrieve the medication structured record section for an empty Identifier System")] - public void RetrieveTheMedicationStructuredRecordSectionForAnEmptyIdentifierSystem() - { - string[] tagsOfScenario = ((string[])(null)); - System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the medication structured record section for an empty Identifier System", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 249 -this.ScenarioInitialize(scenarioInfo); -#line hidden - if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) - { - testRunner.SkipScenario(); - } - else - { - this.ScenarioStart(); -#line 250 -testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); -#line hidden -#line 251 - testRunner.And("I add an NHS Number parameter for \"patient1\" with an empty Identifier System", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 252 - testRunner.And("I add the medication parameter with includePrescriptionIssues set to \"false\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 253 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); -#line hidden -#line 254 - testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); -#line hidden -#line 255 - testRunner.And("the response should be a OperationOutcome resource", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden - } - this.ScenarioCleanup(); - } - - [NUnit.Framework.TestAttribute()] - [NUnit.Framework.DescriptionAttribute("Retrieve the medication structured record section for an invalid parameter type")] - public void RetrieveTheMedicationStructuredRecordSectionForAnInvalidParameterType() - { - string[] tagsOfScenario = ((string[])(null)); - System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the medication structured record section for an invalid parameter type", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 259 -this.ScenarioInitialize(scenarioInfo); -#line hidden - if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) - { - testRunner.SkipScenario(); - } - else - { - this.ScenarioStart(); -#line 260 - testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); -#line hidden -#line 261 - testRunner.And("I add an NHS Number parameter for \"patient1\" using an invalid parameter type", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 262 - testRunner.And("I add the medication parameter with includePrescriptionIssues set to \"false\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 263 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); -#line hidden -#line 264 - testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); -#line hidden -#line 265 - testRunner.And("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 266 - testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_PARAM" + - "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden - } - this.ScenarioCleanup(); - } - - [NUnit.Framework.TestAttribute()] - [NUnit.Framework.DescriptionAttribute("Retrieve the medication structured record section for a patient with a timePeriod" + - "")] - public void RetrieveTheMedicationStructuredRecordSectionForAPatientWithATimePeriod() - { - string[] tagsOfScenario = ((string[])(null)); - System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the medication structured record section for a patient with a timePeriod" + - "", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 268 -this.ScenarioInitialize(scenarioInfo); -#line hidden - if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) - { - testRunner.SkipScenario(); - } - else - { - this.ScenarioStart(); -#line 269 - testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); -#line hidden -#line 270 - testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 271 - testRunner.And("I add the medications parameter to search from \"3\" years back", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 272 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); -#line hidden -#line 273 - testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); -#line hidden -#line 274 - testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 275 - testRunner.And("the response meta profile should be for \"structured\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 276 - testRunner.And("the patient resource in the bundle should contain meta data profile and version i" + - "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 277 - testRunner.And("if the response bundle contains a practitioner resource it should contain meta da" + - "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 278 - testRunner.And("if the response bundle contains an organization resource it should contain meta d" + - "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 279 - testRunner.And("the Bundle should be valid for patient \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 280 - testRunner.And("the Medications should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 281 - testRunner.And("the Medication Statements should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 282 - testRunner.And("the Medication Requests should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 283 - testRunner.And("the List of MedicationStatements should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 284 - testRunner.And("the MedicationStatement EffectiveDate is Greater Than Search Date of \"3\" years ag" + - "o", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden - } - this.ScenarioCleanup(); - } - - [NUnit.Framework.TestAttribute()] - [NUnit.Framework.DescriptionAttribute("Retrieve the medication structured record section for a patient with invalid date" + - " values")] - [NUnit.Framework.TestCaseAttribute("X2014", null)] - [NUnit.Framework.TestCaseAttribute("X2014-02", null)] - [NUnit.Framework.TestCaseAttribute("X2015-10-23T11:08:32", null)] - [NUnit.Framework.TestCaseAttribute("X2015-10-23T11:08:32+00:00", null)] - [NUnit.Framework.TestCaseAttribute("", null)] - [NUnit.Framework.TestCaseAttribute("2014", null)] - [NUnit.Framework.TestCaseAttribute("2014-02", null)] - [NUnit.Framework.TestCaseAttribute("null", null)] - public void RetrieveTheMedicationStructuredRecordSectionForAPatientWithInvalidDateValues(string startDate, string[] exampleTags) - { - string[] tagsOfScenario = exampleTags; - System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); - argumentsOfScenario.Add("StartDate", startDate); - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the medication structured record section for a patient with invalid date" + - " values", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 287 -this.ScenarioInitialize(scenarioInfo); -#line hidden - if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) - { - testRunner.SkipScenario(); - } - else - { - this.ScenarioStart(); -#line 288 - testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); -#line hidden -#line 289 - testRunner.And("I add an NHS Number parameter for \"patient1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 290 - testRunner.And(string.Format("I set a medications period parameter start date to \"{0}\"", startDate), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 291 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); -#line hidden -#line 292 - testRunner.Then("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); -#line hidden -#line 293 - testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_PARAM" + - "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden - } - this.ScenarioCleanup(); - } - - [NUnit.Framework.TestAttribute()] - [NUnit.Framework.DescriptionAttribute("Retrieve the medication structured record section for a patient with medication p" + - "rescribed elsewhere")] - public void RetrieveTheMedicationStructuredRecordSectionForAPatientWithMedicationPrescribedElsewhere() - { - string[] tagsOfScenario = ((string[])(null)); - System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the medication structured record section for a patient with medication p" + - "rescribed elsewhere", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 305 -this.ScenarioInitialize(scenarioInfo); -#line hidden - if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) - { - testRunner.SkipScenario(); - } - else - { - this.ScenarioStart(); -#line 306 - testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); -#line hidden -#line 307 - testRunner.And("I add an NHS Number parameter for \"patient12\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 308 - testRunner.And("I add the medication parameter with includePrescriptionIssues set to \"true\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 309 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); -#line hidden -#line 310 - testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); -#line hidden -#line 311 - testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 312 - testRunner.And("the response meta profile should be for \"structured\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 313 - testRunner.And("the patient resource in the bundle should contain meta data profile and version i" + - "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 314 - testRunner.And("if the response bundle contains a practitioner resource it should contain meta da" + - "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 315 - testRunner.And("if the response bundle contains an organization resource it should contain meta d" + - "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 316 - testRunner.And("the Bundle should be valid for patient \"patient12\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 317 - testRunner.And("the Bundle should contain \"1\" lists", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 318 - testRunner.And("the Medications should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 319 - testRunner.And("the Medication Statements should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 320 - testRunner.And("the Medication Requests should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 321 - testRunner.And("the List of MedicationStatements should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 322 +#line 127 testRunner.And("the MedicationStatement for prescriptions prescribed elsewhere should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden - } - this.ScenarioCleanup(); - } - - [NUnit.Framework.TestAttribute()] - [NUnit.Framework.DescriptionAttribute("Check warning code is populated for a patient")] - public void CheckWarningCodeIsPopulatedForAPatient() - { - string[] tagsOfScenario = ((string[])(null)); - System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Check warning code is populated for a patient", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 324 -this.ScenarioInitialize(scenarioInfo); -#line hidden - if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) - { - testRunner.SkipScenario(); - } - else - { - this.ScenarioStart(); -#line 325 - testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); -#line hidden -#line 326 - testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 327 - testRunner.And("I add the medication parameter with includePrescriptionIssues set to \"true\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 328 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); -#line hidden -#line 329 - testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); -#line hidden -#line 331 - testRunner.And("the Bundle should contain \"2\" lists", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 333 - testRunner.And("the Bundle should contain a list with the title \"Medications and medical devices\"" + - "", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 334 - testRunner.And("the Lists are valid for a patient without allergies", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden - } - this.ScenarioCleanup(); - } - - [NUnit.Framework.TestAttribute()] - [NUnit.Framework.DescriptionAttribute("Structured record for a patient that is not in the database")] - public void StructuredRecordForAPatientThatIsNotInTheDatabase() - { - string[] tagsOfScenario = ((string[])(null)); - System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Structured record for a patient that is not in the database", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 339 -this.ScenarioInitialize(scenarioInfo); -#line hidden - if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) - { - testRunner.SkipScenario(); - } - else - { - this.ScenarioStart(); -#line 340 - testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); -#line hidden -#line 341 - testRunner.And("I add an NHS Number parameter for \"patientNotInSystem\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 342 - testRunner.And("I add the medication parameter with includePrescriptionIssues set to \"true\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 343 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); -#line hidden -#line 344 - testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); -#line hidden -#line 345 - testRunner.And("the response status code should be \"404\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 346 - testRunner.And("the response should be a OperationOutcome resource with error code \"PATIENT_NOT_F" + - "OUND\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden - } - this.ScenarioCleanup(); - } - - [NUnit.Framework.TestAttribute()] - [NUnit.Framework.DescriptionAttribute("Structured record for a patient that is deceased")] - public void StructuredRecordForAPatientThatIsDeceased() - { - string[] tagsOfScenario = ((string[])(null)); - System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Structured record for a patient that is deceased", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 351 -this.ScenarioInitialize(scenarioInfo); -#line hidden - if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) - { - testRunner.SkipScenario(); - } - else - { - this.ScenarioStart(); -#line 352 - testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); -#line hidden -#line 353 - testRunner.And("I add an NHS Number parameter for \"patient18\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 354 - testRunner.And("I add the medication parameter with includePrescriptionIssues set to \"true\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 355 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); -#line hidden -#line 356 - testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); -#line hidden -#line 357 - testRunner.And("the response status code should be \"404\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 358 - testRunner.And("the response should be a OperationOutcome resource with error code \"PATIENT_NOT_F" + - "OUND\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden - } - this.ScenarioCleanup(); - } - - [NUnit.Framework.TestAttribute()] - [NUnit.Framework.DescriptionAttribute("structured record for a patient that has sensitive flag")] - public void StructuredRecordForAPatientThatHasSensitiveFlag() - { - string[] tagsOfScenario = ((string[])(null)); - System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("structured record for a patient that has sensitive flag", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 360 -this.ScenarioInitialize(scenarioInfo); -#line hidden - if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) - { - testRunner.SkipScenario(); - } - else - { - this.ScenarioStart(); -#line 361 - testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); -#line hidden -#line 362 - testRunner.And("I add an NHS Number parameter for \"patient9\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 363 - testRunner.And("I add the medication parameter with includePrescriptionIssues set to \"true\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 364 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); -#line hidden -#line 365 - testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); -#line hidden -#line 366 - testRunner.And("the response status code should be \"404\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 367 - testRunner.And("the response should be a OperationOutcome resource with error code \"PATIENT_NOT_F" + - "OUND\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden - } - this.ScenarioCleanup(); - } - - [NUnit.Framework.TestAttribute()] - [NUnit.Framework.DescriptionAttribute("structured record for a patient that has inactive flag")] - public void StructuredRecordForAPatientThatHasInactiveFlag() - { - string[] tagsOfScenario = ((string[])(null)); - System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("structured record for a patient that has inactive flag", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 369 -this.ScenarioInitialize(scenarioInfo); -#line hidden - if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) - { - testRunner.SkipScenario(); - } - else - { - this.ScenarioStart(); -#line 370 - testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); -#line hidden -#line 371 - testRunner.And("I add an NHS Number parameter for \"patient21\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 372 - testRunner.And("I add the medication parameter with includePrescriptionIssues set to \"true\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 373 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); -#line hidden -#line 374 - testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); -#line hidden -#line 375 - testRunner.Then("the response status code should be \"404\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); -#line hidden -#line 376 - testRunner.And("the response should be a OperationOutcome resource with error code \"PATIENT_NOT_F" + - "OUND\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden - } - this.ScenarioCleanup(); - } - - [NUnit.Framework.TestAttribute()] - [NUnit.Framework.DescriptionAttribute("Structured Medications Patient Has multiple Warnings and Associated Notes")] - [NUnit.Framework.TestCaseAttribute("data-in-transit", "Patient record transfer from previous GP practice not yet complete; information r" + - "ecorded before dd-Mmm-yyyy may be missing.", null)] - public void StructuredMedicationsPatientHasMultipleWarningsAndAssociatedNotes(string warning, string note, string[] exampleTags) - { - string[] tagsOfScenario = exampleTags; - System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); - argumentsOfScenario.Add("Warning", warning); - argumentsOfScenario.Add("Note", note); - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Structured Medications Patient Has multiple Warnings and Associated Notes", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 381 -this.ScenarioInitialize(scenarioInfo); -#line hidden - if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) - { - testRunner.SkipScenario(); - } - else - { - this.ScenarioStart(); -#line 382 - testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); -#line hidden -#line 383 - testRunner.And("I add an NHS Number parameter for \"patient13\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 384 - testRunner.And("I add the medication parameter with includePrescriptionIssues set to \"true\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 385 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); -#line hidden -#line 386 - testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); -#line hidden -#line 387 - testRunner.And("the Bundle should contain \"1\" lists", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 388 - testRunner.And("the List of MedicationStatements should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 389 - testRunner.And(string.Format("Check the list contains the following warning \"{0}\"", warning), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 390 - testRunner.And(string.Format("Check the warning \"{0}\" has associated note \"{1}\"", warning, note), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden - } - this.ScenarioCleanup(); - } - - [NUnit.Framework.TestAttribute()] - [NUnit.Framework.DescriptionAttribute("Retrieve the medication structured record with startDate in the future - expected" + - " failure")] - public void RetrieveTheMedicationStructuredRecordWithStartDateInTheFuture_ExpectedFailure() - { - string[] tagsOfScenario = ((string[])(null)); - System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the medication structured record with startDate in the future - expected" + - " failure", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 396 - this.ScenarioInitialize(scenarioInfo); -#line hidden - if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) - { - testRunner.SkipScenario(); - } - else - { - this.ScenarioStart(); -#line 397 - testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); -#line hidden -#line 398 - testRunner.And("I add an NHS Number parameter for \"patient1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 399 - testRunner.And("I add the medications parameter with a start date greater than current date", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 400 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); -#line hidden -#line 401 - testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); -#line hidden -#line 402 - testRunner.Then("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); -#line hidden -#line 403 - testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_PARAM" + - "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden - } - this.ScenarioCleanup(); - } - - [NUnit.Framework.TestAttribute()] - [NUnit.Framework.DescriptionAttribute("Attempt to Retrieve medications using duplicate part param expect failure")] - public void AttemptToRetrieveMedicationsUsingDuplicatePartParamExpectFailure() - { - string[] tagsOfScenario = ((string[])(null)); - System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Attempt to Retrieve medications using duplicate part param expect failure", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 407 - this.ScenarioInitialize(scenarioInfo); -#line hidden - if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) - { - testRunner.SkipScenario(); - } - else - { - this.ScenarioStart(); -#line 408 - testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); -#line hidden -#line 409 - testRunner.And("I add an NHS Number parameter for \"patient3\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 410 - testRunner.And("I add a duplicate medication part parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 411 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); -#line hidden -#line 412 - testRunner.Then("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); -#line hidden -#line 413 - testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_RESOU" + - "RCE\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } this.ScenarioCleanup(); From c984c20487dcccd7ed2ede88287aad7497854d9b Mon Sep 17 00:00:00 2001 From: williamjameswillis Date: Wed, 1 Oct 2025 16:41:18 +0100 Subject: [PATCH 08/18] tidy up further FHIR revert --- ...onnect.Provider.AcceptanceTests.dll.config | 16 ++++++++++++++-- .../Helpers/FhirHelper.cs | 19 ++++++++++++------- .../Http/FhirResponse.cs | 2 +- .../Steps/AppointmentsSteps.cs | 2 +- .../Steps/BundleSteps.cs | 8 ++++---- .../Steps/LocationSteps.cs | 2 +- .../Steps/OrganizationSteps.cs | 2 +- .../Steps/StructuredMultipleSteps.cs | 14 +++++++------- .../Steps/StructuredProblemsSteps.cs | 4 +++- 9 files changed, 44 insertions(+), 25 deletions(-) diff --git a/GPConnect.Provider.AcceptanceTests/GPConnect.Provider.AcceptanceTests.dll.config b/GPConnect.Provider.AcceptanceTests/GPConnect.Provider.AcceptanceTests.dll.config index e1961e98..d77df31c 100644 --- a/GPConnect.Provider.AcceptanceTests/GPConnect.Provider.AcceptanceTests.dll.config +++ b/GPConnect.Provider.AcceptanceTests/GPConnect.Provider.AcceptanceTests.dll.config @@ -73,12 +73,24 @@ + + + + - - + + + + + + diff --git a/GPConnect.Provider.AcceptanceTests/Helpers/FhirHelper.cs b/GPConnect.Provider.AcceptanceTests/Helpers/FhirHelper.cs index fe600724..632874c4 100644 --- a/GPConnect.Provider.AcceptanceTests/Helpers/FhirHelper.cs +++ b/GPConnect.Provider.AcceptanceTests/Helpers/FhirHelper.cs @@ -74,7 +74,7 @@ public static Practitioner GetDefaultPractitioner() { new Identifier(FhirConst.IdentifierSystems.kPracSDSUserId, "GCASDS0001"), new Identifier(FhirConst.IdentifierSystems.kPracRoleProfile, "112233445566"), - new Identifier(FhirConst.IdentifierSystems.kGuid, "98ed4f78-814d-4266-8d5b-cde742f3093c") + new Identifier(FhirConst.IdentifierSystems.kGuid, "98ed4f78-814d-4266-8d5b-cde742f3093c") } }; } @@ -161,8 +161,9 @@ public static string ChangeParameterResourceTypeString(string jsonResource, stri { Log.WriteLine("Incomming Json Object = " + jsonResource); dynamic dynamicDeviceObj = JsonConvert.DeserializeObject(jsonResource); - foreach (var parameter in dynamicDeviceObj.parameter) { - parameter.resource.TypeName = newResourceType; + foreach (var parameter in dynamicDeviceObj.parameter) + { + parameter.resource.resourceType = newResourceType; } Log.WriteLine("Converted Type Json Object = " + JsonConvert.SerializeObject(dynamicDeviceObj)); return JsonConvert.SerializeObject(dynamicDeviceObj); @@ -180,11 +181,13 @@ public static string AddFieldToParameterResource(string jsonResource, string new return JsonConvert.SerializeObject(dynamicDeviceObj); } - public static Period GetDefaultTimePeriodForGetCareRecord() { + public static Period GetDefaultTimePeriodForGetCareRecord() + { return new Period(new FhirDateTime(DateTime.Now.AddYears(-2)), new FhirDateTime(DateTime.Now)); } - public static Period GetTimePeriod(string startDate, string endDate) { + public static Period GetTimePeriod(string startDate, string endDate) + { return new Period(new FhirDateTime(startDate), new FhirDateTime(endDate)); } @@ -195,7 +198,8 @@ public static Date GetStartDate(string startDate) return new Date(startDate); } - public static bool isValidNHSNumber(string NHSNumber) { + public static bool isValidNHSNumber(string NHSNumber) + { NHSNumber = NHSNumber.Trim(); @@ -203,7 +207,8 @@ public static bool isValidNHSNumber(string NHSNumber) { { return false; } - else { + else + { string checkDigit = NHSNumber.Substring(NHSNumber.Length - 1, 1); int checkNumber = Convert.ToInt16(checkDigit); diff --git a/GPConnect.Provider.AcceptanceTests/Http/FhirResponse.cs b/GPConnect.Provider.AcceptanceTests/Http/FhirResponse.cs index a57201c9..34203d54 100644 --- a/GPConnect.Provider.AcceptanceTests/Http/FhirResponse.cs +++ b/GPConnect.Provider.AcceptanceTests/Http/FhirResponse.cs @@ -43,7 +43,7 @@ private List GetResources() where T : Resource //Need to consider cases where T isn't in ResourceTypeMap (and implementation!!) var type = typeof(T); - if (Resource.TypeName == "Bundle") + if (Resource.ResourceType == ResourceType.Bundle) { return Entries .Where(entry => entry.Resource.ResourceType.Equals(ResourceTypeMap[type])) diff --git a/GPConnect.Provider.AcceptanceTests/Steps/AppointmentsSteps.cs b/GPConnect.Provider.AcceptanceTests/Steps/AppointmentsSteps.cs index f368fb60..4f524b54 100644 --- a/GPConnect.Provider.AcceptanceTests/Steps/AppointmentsSteps.cs +++ b/GPConnect.Provider.AcceptanceTests/Steps/AppointmentsSteps.cs @@ -49,7 +49,7 @@ public AppointmentsSteps( [Then(@"the Response Resource should be an Appointment")] public void TheResponseResourceShouldBeAnAppointment() { - _httpContext.FhirResponse.Resource.TypeName.ShouldBe("Appointment"); + _httpContext.FhirResponse.Resource.ResourceType.ShouldBe(ResourceType.Appointment, "the Response Resource should be an Appointment."); } [Then(@"the Bundle should contain no Appointments")] diff --git a/GPConnect.Provider.AcceptanceTests/Steps/BundleSteps.cs b/GPConnect.Provider.AcceptanceTests/Steps/BundleSteps.cs index e314a9d1..62cbfecb 100644 --- a/GPConnect.Provider.AcceptanceTests/Steps/BundleSteps.cs +++ b/GPConnect.Provider.AcceptanceTests/Steps/BundleSteps.cs @@ -172,9 +172,9 @@ public void ThenTheResponseBundleShouldContainASingleCompositionResourceAsTheFir _httpContext.FhirResponse.Compositions.Count.ShouldBe(1); _httpContext.FhirResponse.Entries - .Select(entry => entry.Resource.TypeName) + .Select(entry => entry.Resource.ResourceType) .First() - .ShouldBe("Composition"); + .ShouldBe(ResourceType.Composition); } [Then(@"the response bundle should contain the composition resource as the first entry")] @@ -182,9 +182,9 @@ public void ThenTheResponseBundleShouldContainTheCompositionResourceAsTheFirstEn { _httpContext.FhirResponse.Bundle .Entry - .Select(entry => entry.Resource.TypeName) + .Select(entry => entry.Resource.ResourceType) .First() - .ShouldBe("Composition"); + .ShouldBe(ResourceType.Composition); } [Then(@"the response meta profile should be for ""([^""]*)""")] diff --git a/GPConnect.Provider.AcceptanceTests/Steps/LocationSteps.cs b/GPConnect.Provider.AcceptanceTests/Steps/LocationSteps.cs index 8193188c..6b183ace 100644 --- a/GPConnect.Provider.AcceptanceTests/Steps/LocationSteps.cs +++ b/GPConnect.Provider.AcceptanceTests/Steps/LocationSteps.cs @@ -26,7 +26,7 @@ public LocationSteps(HttpContext httpContext, HttpSteps httpSteps) [Then(@"the Response Resource should be a Location")] public void TheResponseResourceShouldBeALocation() { - _httpContext.FhirResponse.Resource.TypeName.ShouldBe("Location"); + _httpContext.FhirResponse.Resource.ResourceType.ShouldBe(ResourceType.Location); var location = (Location)_httpContext.FhirResponse.Resource; diff --git a/GPConnect.Provider.AcceptanceTests/Steps/OrganizationSteps.cs b/GPConnect.Provider.AcceptanceTests/Steps/OrganizationSteps.cs index 617cc1d0..eba42c86 100644 --- a/GPConnect.Provider.AcceptanceTests/Steps/OrganizationSteps.cs +++ b/GPConnect.Provider.AcceptanceTests/Steps/OrganizationSteps.cs @@ -124,7 +124,7 @@ public void TheOrganizationFullUrlShouldBeValid() var organizationEntries = _httpContext .FhirResponse .Entries - .Where(entry => entry.Resource.TypeName == "Organization") + .Where(entry => entry.Resource.ResourceType == ResourceType.Organization) .ToList(); organizationEntries.ForEach(organizationEntry => diff --git a/GPConnect.Provider.AcceptanceTests/Steps/StructuredMultipleSteps.cs b/GPConnect.Provider.AcceptanceTests/Steps/StructuredMultipleSteps.cs index a62a63be..78a7d866 100644 --- a/GPConnect.Provider.AcceptanceTests/Steps/StructuredMultipleSteps.cs +++ b/GPConnect.Provider.AcceptanceTests/Steps/StructuredMultipleSteps.cs @@ -33,7 +33,7 @@ public void checkTheOperationOutcomeReturnsTheCorrectTextAndDiagnostics(string p entries.ForEach(entry => { - if (entry.Resource.TypeName.ToString() == "OperationOutcome") + if (entry.Resource.ResourceType.ToString() == "OperationOutcome") { foreach (var issue in ((Hl7.Fhir.Model.OperationOutcome)entry.Resource).Issue) @@ -64,7 +64,7 @@ public void checkTheOperationOutcomeForEachUnsupportedStructuredRequest() entries.ForEach(entry => { - if (entry.ToString() == "OperationOutcome") + if (entry.Resource.ResourceType.ToString() == "OperationOutcome") { //check number of issues in operation outcome matches expected number if (((Hl7.Fhir.Model.OperationOutcome)entry.Resource).Issue.Count() == parameterList.Count()) @@ -127,7 +127,7 @@ public void checkTheOperationOutcomeReturnsTheCorrectTextAndDiagnostics(string p entries.ForEach(entry => { - if (entry.Resource.TypeName.ToString() == "OperationOutcome") + if (entry.Resource.ResourceType.ToString() == "OperationOutcome") { foreach (var issue in ((Hl7.Fhir.Model.OperationOutcome)entry.Resource).Issue) @@ -159,7 +159,7 @@ public void checkTheOperationOutcomeParameterNotFoundFor(string parameter, strin entries.ForEach(entry => { - if (entry.Resource.TypeName.ToString() == "OperationOutcome") + if (entry.Resource.ResourceType.ToString() == "OperationOutcome") { foreach (var issue in ((Hl7.Fhir.Model.OperationOutcome)entry.Resource).Issue) @@ -190,7 +190,7 @@ public void checkTheOperationOutcomeReturnsInvalidParameterFor(string parameter, entries.ForEach(entry => { - if (entry.Resource.TypeName.ToString() == "OperationOutcome") + if (entry.Resource.ResourceType.ToString() == "OperationOutcome") { foreach (var issue in ((Hl7.Fhir.Model.OperationOutcome)entry.Resource).Issue) @@ -296,7 +296,7 @@ public void checkTheNumberOfIssuesInTheOperationalOutcome(int issueCount) var foundFlag = false; entries.ForEach(entry => { - if (entry.Resource.TypeName.ToString() == "OperationOutcome") + if (entry.Resource.ResourceType.ToString() == "OperationOutcome") { ((OperationOutcome)entry.Resource).Issue.Count().ShouldBe(issueCount); foundFlag = true; @@ -320,7 +320,7 @@ public void checkTheResponseDoesNotContainAnOperationalOutcome() var foundFlag = false; entries.ForEach(entry => { - if (entry.Resource.TypeName.ToString() == "OperationOutcome") + if (entry.Resource.ResourceType.ToString() == "OperationOutcome") { foundFlag = true; } diff --git a/GPConnect.Provider.AcceptanceTests/Steps/StructuredProblemsSteps.cs b/GPConnect.Provider.AcceptanceTests/Steps/StructuredProblemsSteps.cs index 330d4210..40f603fd 100644 --- a/GPConnect.Provider.AcceptanceTests/Steps/StructuredProblemsSteps.cs +++ b/GPConnect.Provider.AcceptanceTests/Steps/StructuredProblemsSteps.cs @@ -92,6 +92,7 @@ public void ThenICheckThePrimaryProblemsList() string guidToFind = entry.Item.Reference.Replace("Condition/", ""); Problems .Where(c => c.Id == guidToFind) + .Where(resource => resource.ResourceType.Equals(ResourceType.Condition)) .Count().ShouldBe(1, "Not Found Reference to Condition"); }); } @@ -143,6 +144,7 @@ public void ThenICheckTheSecondaryProblemsList() string guidToFind = entry.Item.Reference.Replace("Condition/", ""); Problems .Where(c => c.Id == guidToFind) + .Where(resource => resource.ResourceType.Equals(ResourceType.Condition)) .Count().ShouldBe(1, "Not Found Reference to Condition"); }); } @@ -539,7 +541,7 @@ public void CheckResourceExists(T resourceType, string resourceID) { var count = Bundle.GetResources() .Where(resource => resource.ResourceType.Equals(resourceType)) - .Where(resource => ((Hl7.Fhir.Model.Resource)resource).Id == resourceID) + .Where(resource => resource.Id == resourceID) .ToList().Count(); if (count == 1) //only one found From 0b5c2b2e947da594b2f6d1660704713ab6dbaaab Mon Sep 17 00:00:00 2001 From: williamjameswillis Date: Fri, 3 Oct 2025 09:20:52 +0100 Subject: [PATCH 09/18] tidy up config+remove StructuredImmunizations --- ...onnect.Provider.AcceptanceTests.dll.config | 12 ++- .../StructuredImmunizations.feature | 95 +++++++++---------- 2 files changed, 50 insertions(+), 57 deletions(-) diff --git a/GPConnect.Provider.AcceptanceTests/GPConnect.Provider.AcceptanceTests.dll.config b/GPConnect.Provider.AcceptanceTests/GPConnect.Provider.AcceptanceTests.dll.config index d77df31c..8f1f744a 100644 --- a/GPConnect.Provider.AcceptanceTests/GPConnect.Provider.AcceptanceTests.dll.config +++ b/GPConnect.Provider.AcceptanceTests/GPConnect.Provider.AcceptanceTests.dll.config @@ -83,16 +83,18 @@ - + + --> + - - + --> + + + diff --git a/GPConnect.Provider.AcceptanceTests/StructuredImmunizations.feature b/GPConnect.Provider.AcceptanceTests/StructuredImmunizations.feature index 17d84c66..c2718137 100644 --- a/GPConnect.Provider.AcceptanceTests/StructuredImmunizations.feature +++ b/GPConnect.Provider.AcceptanceTests/StructuredImmunizations.feature @@ -1,16 +1,16 @@ @Structured @StructuredImmunizations @1.5.0-Full-Pack Feature: StructuredImmunizations -# These Tests are only Testing this Structured Area in isolation and Not with other Areas or Combinations of Include Parameters -# Tests around Multiple Structured Areas in one Request are tested in the MultipleRequests Feature + # These Tests are only Testing this Structured Area in isolation and Not with other Areas or Combinations of Include Parameters + # Tests around Multiple Structured Areas in one Request are tested in the MultipleRequests Feature - -Scenario: Verify Immunizations structured record for a Patient with Immunizations not linked to any problems - Given I configure the default "GpcGetStructuredRecord" request + + Scenario: Verify Immunizations structured record for a Patient with Immunizations not linked to any problems + Given I configure the default "GpcGetStructuredRecord" request And I add an NHS Number parameter for "patient3" And I add the immunizations parameter - When I make the "GpcGetStructuredRecord" request - Then the response status code should indicate success + When I make the "GpcGetStructuredRecord" request + Then the response status code should indicate success And the response should be a Bundle resource of type "collection" And the response meta profile should be for "structured" And the patient resource in the bundle should contain meta data profile and version id @@ -19,23 +19,23 @@ Scenario: Verify Immunizations structured record for a Patient with Immunization And the Bundle should be valid for patient "patient3" And the Patient Id should be valid And the Practitioner Id should be valid - And the Organization Id should be valid + And the Organization Id should be valid And The Immunization Resources are Valid And The Immunization Resources Do Not Include Not In Use Fields And the Bundle should contain "1" lists And The Immunization List is Valid - And The Structured List Does Not Include Not In Use Fields + And The Structured List Does Not Include Not In Use Fields And I Check There is No Problems Secondary Problems List And I Check No Problem Resources are Included -#PG 19-2-2020 - Added for 1.3.2 - To check that associated problems and the problems list are sent. + #PG 19-2-2020 - Added for 1.3.2 - To check that associated problems and the problems list are sent. -Scenario: Verify Immunizations structured record for a Patient with Immunizations associated to Problems - Given I configure the default "GpcGetStructuredRecord" request + Scenario: Verify Immunizations structured record for a Patient with Immunizations associated to Problems + Given I configure the default "GpcGetStructuredRecord" request And I add an NHS Number parameter for "patient2" And I add the immunizations parameter - When I make the "GpcGetStructuredRecord" request - Then the response status code should indicate success + When I make the "GpcGetStructuredRecord" request + Then the response status code should indicate success And the response should be a Bundle resource of type "collection" And the response meta profile should be for "structured" And the patient resource in the bundle should contain meta data profile and version id @@ -45,12 +45,12 @@ Scenario: Verify Immunizations structured record for a Patient with Immunization And check that the bundle does not contain any duplicate resources And the Patient Id should be valid And the Practitioner Id should be valid - And the Organization Id should be valid + And the Organization Id should be valid And The Immunization Resources are Valid And The Immunization Resources Do Not Include Not In Use Fields And the Bundle should contain "2" lists And The Immunization List is Valid - And The Structured List Does Not Include Not In Use Fields + And The Structured List Does Not Include Not In Use Fields And check the response does not contain an operation outcome And I Check The Problems Secondary Problems List And I Check The Problems Secondary Problems List Does Not Include Not In Use Fields @@ -58,70 +58,61 @@ Scenario: Verify Immunizations structured record for a Patient with Immunization And I check The Problem Resources Do Not Include Not In Use Fields And Check a Problem is linked to an "Immunization" that is also included in the response with its list -Scenario: Retrieve the immunizations structured record section for an invalid NHS number - Given I configure the default "GpcGetStructuredRecord" request + Scenario: Retrieve the immunizations structured record section for an invalid NHS number + Given I configure the default "GpcGetStructuredRecord" request And I add an NHS Number parameter for an invalid NHS Number And I add the immunizations parameter - When I make the "GpcGetStructuredRecord" request - Then the response status code should indicate failure + When I make the "GpcGetStructuredRecord" request + Then the response status code should indicate failure And the response should be a OperationOutcome resource -Scenario: Retrieve the immunizations structured record section for an empty NHS number - Given I configure the default "GpcGetStructuredRecord" request + Scenario: Retrieve the immunizations structured record section for an empty NHS number + Given I configure the default "GpcGetStructuredRecord" request And I add an NHS Number parameter with an empty NHS Number And I add the immunizations parameter - When I make the "GpcGetStructuredRecord" request - Then the response status code should indicate failure + When I make the "GpcGetStructuredRecord" request + Then the response status code should indicate failure And the response should be a OperationOutcome resource -Scenario: Retrieve the immunizations structured record section for an invalid Identifier System - Given I configure the default "GpcGetStructuredRecord" request + Scenario: Retrieve the immunizations structured record section for an invalid Identifier System + Given I configure the default "GpcGetStructuredRecord" request And I add an NHS Number parameter for "patient1" with an invalid Identifier System And I add the immunizations parameter - When I make the "GpcGetStructuredRecord" request - Then the response status code should indicate failure + When I make the "GpcGetStructuredRecord" request + Then the response status code should indicate failure And the response should be a OperationOutcome resource -Scenario: Retrieve the immunizations structured record section for an empty Identifier System -Given I configure the default "GpcGetStructuredRecord" request + Scenario: Retrieve the immunizations structured record section for an empty Identifier System + Given I configure the default "GpcGetStructuredRecord" request And I add an NHS Number parameter for "patient1" with an empty Identifier System And I add the immunizations parameter - When I make the "GpcGetStructuredRecord" request - Then the response status code should indicate failure + When I make the "GpcGetStructuredRecord" request + Then the response status code should indicate failure And the response should be a OperationOutcome resource -Scenario: Retrieve the immunizations structured record for a patient that has sensitive flag - Given I configure the default "GpcGetStructuredRecord" request + Scenario: Retrieve the immunizations structured record for a patient that has sensitive flag + Given I configure the default "GpcGetStructuredRecord" request And I add an NHS Number parameter for "patient9" And I add the immunizations parameter - When I make the "GpcGetStructuredRecord" request - Then the response status code should indicate failure + When I make the "GpcGetStructuredRecord" request + Then the response status code should indicate failure And the response status code should be "404" And the response should be a OperationOutcome resource with error code "PATIENT_NOT_FOUND" -Scenario: Retrieve the immunizations structured record for a patient that has no immunizations - Given I configure the default "GpcGetStructuredRecord" request + Scenario: Retrieve the immunizations structured record for a patient that has no immunizations + Given I configure the default "GpcGetStructuredRecord" request And I add an NHS Number parameter for "patient4" And I add the immunizations parameter - When I make the "GpcGetStructuredRecord" request - Then the response status code should indicate success + When I make the "GpcGetStructuredRecord" request + Then the response status code should indicate success And the response should be a Bundle resource of type "collection" And the response meta profile should be for "structured" And the patient resource in the bundle should contain meta data profile and version id And if the response bundle contains a practitioner resource it should contain meta data profile and version id And if the response bundle contains an organization resource it should contain meta data profile and version id And the Bundle should be valid for patient "patient4" - And the Patient Id should be valid + And the Patient Id should be valid And the Practitioner Id should be valid - And the Organization Id should be valid + And the Organization Id should be valid And check the response does not contain an operation outcome - And check structured list contains a note and emptyReason when no data in section - -Scenario: Retrieve the immunizations structured record with a madeUp partParameter - Given I configure the default "GpcGetStructuredRecord" request - And I add an NHS Number parameter for "patient2" - And I add a madeUp immunizations part parameter - When I make the "GpcGetStructuredRecord" request - Then the response status code should indicate success - And Check the operation outcome returns the correct text and diagnostics includes "includeImmunisations" and "madeUp" - And Check the number of issues in the operation outcome "1" \ No newline at end of file + And check structured list contains a note and emptyReason when no data in section \ No newline at end of file From 188ed34b874a5a9c8b3a54f523d41c2864cac4cf Mon Sep 17 00:00:00 2001 From: williamjameswillis Date: Fri, 3 Oct 2025 12:21:58 +0100 Subject: [PATCH 10/18] clean out auto cs file --- .../StructuredImmunizations.feature.cs | 109 ++++++------------ 1 file changed, 33 insertions(+), 76 deletions(-) diff --git a/GPConnect.Provider.AcceptanceTests/StructuredImmunizations.feature.cs b/GPConnect.Provider.AcceptanceTests/StructuredImmunizations.feature.cs index 921659e6..14aae2eb 100644 --- a/GPConnect.Provider.AcceptanceTests/StructuredImmunizations.feature.cs +++ b/GPConnect.Provider.AcceptanceTests/StructuredImmunizations.feature.cs @@ -89,7 +89,7 @@ public void VerifyImmunizationsStructuredRecordForAPatientWithImmunizationsNotLi TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Verify Immunizations structured record for a Patient with Immunizations not linke" + "d to any problems", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 8 -this.ScenarioInitialize(scenarioInfo); + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -99,7 +99,7 @@ public void VerifyImmunizationsStructuredRecordForAPatientWithImmunizationsNotLi { this.ScenarioStart(); #line 9 - testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); + testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden #line 10 testRunner.And("I add an NHS Number parameter for \"patient3\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); @@ -108,10 +108,10 @@ public void VerifyImmunizationsStructuredRecordForAPatientWithImmunizationsNotLi testRunner.And("I add the immunizations parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 12 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); + testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden #line 13 - testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); + testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden #line 14 testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); @@ -178,7 +178,7 @@ public void VerifyImmunizationsStructuredRecordForAPatientWithImmunizationsAssoc TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Verify Immunizations structured record for a Patient with Immunizations associate" + "d to Problems", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 33 -this.ScenarioInitialize(scenarioInfo); + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -188,7 +188,7 @@ public void VerifyImmunizationsStructuredRecordForAPatientWithImmunizationsAssoc { this.ScenarioStart(); #line 34 - testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); + testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden #line 35 testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); @@ -197,10 +197,10 @@ public void VerifyImmunizationsStructuredRecordForAPatientWithImmunizationsAssoc testRunner.And("I add the immunizations parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 37 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); + testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden #line 38 - testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); + testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden #line 39 testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); @@ -281,7 +281,7 @@ public void RetrieveTheImmunizationsStructuredRecordSectionForAnInvalidNHSNumber System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the immunizations structured record section for an invalid NHS number", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 61 -this.ScenarioInitialize(scenarioInfo); + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -291,7 +291,7 @@ public void RetrieveTheImmunizationsStructuredRecordSectionForAnInvalidNHSNumber { this.ScenarioStart(); #line 62 - testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); + testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden #line 63 testRunner.And("I add an NHS Number parameter for an invalid NHS Number", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); @@ -300,10 +300,10 @@ public void RetrieveTheImmunizationsStructuredRecordSectionForAnInvalidNHSNumber testRunner.And("I add the immunizations parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 65 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); + testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden #line 66 - testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); + testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden #line 67 testRunner.And("the response should be a OperationOutcome resource", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); @@ -320,7 +320,7 @@ public void RetrieveTheImmunizationsStructuredRecordSectionForAnEmptyNHSNumber() System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the immunizations structured record section for an empty NHS number", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 69 -this.ScenarioInitialize(scenarioInfo); + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -330,7 +330,7 @@ public void RetrieveTheImmunizationsStructuredRecordSectionForAnEmptyNHSNumber() { this.ScenarioStart(); #line 70 - testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); + testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden #line 71 testRunner.And("I add an NHS Number parameter with an empty NHS Number", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); @@ -339,10 +339,10 @@ public void RetrieveTheImmunizationsStructuredRecordSectionForAnEmptyNHSNumber() testRunner.And("I add the immunizations parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 73 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); + testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden #line 74 - testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); + testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden #line 75 testRunner.And("the response should be a OperationOutcome resource", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); @@ -361,7 +361,7 @@ public void RetrieveTheImmunizationsStructuredRecordSectionForAnInvalidIdentifie TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the immunizations structured record section for an invalid Identifier Sy" + "stem", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 77 -this.ScenarioInitialize(scenarioInfo); + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -371,7 +371,7 @@ public void RetrieveTheImmunizationsStructuredRecordSectionForAnInvalidIdentifie { this.ScenarioStart(); #line 78 - testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); + testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden #line 79 testRunner.And("I add an NHS Number parameter for \"patient1\" with an invalid Identifier System", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); @@ -380,10 +380,10 @@ public void RetrieveTheImmunizationsStructuredRecordSectionForAnInvalidIdentifie testRunner.And("I add the immunizations parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 81 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); + testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden #line 82 - testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); + testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden #line 83 testRunner.And("the response should be a OperationOutcome resource", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); @@ -402,7 +402,7 @@ public void RetrieveTheImmunizationsStructuredRecordSectionForAnEmptyIdentifierS TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the immunizations structured record section for an empty Identifier Syst" + "em", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 85 -this.ScenarioInitialize(scenarioInfo); + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -412,7 +412,7 @@ public void RetrieveTheImmunizationsStructuredRecordSectionForAnEmptyIdentifierS { this.ScenarioStart(); #line 86 -testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); + testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden #line 87 testRunner.And("I add an NHS Number parameter for \"patient1\" with an empty Identifier System", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); @@ -421,10 +421,10 @@ public void RetrieveTheImmunizationsStructuredRecordSectionForAnEmptyIdentifierS testRunner.And("I add the immunizations parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 89 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); + testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden #line 90 - testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); + testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden #line 91 testRunner.And("the response should be a OperationOutcome resource", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); @@ -443,7 +443,7 @@ public void RetrieveTheImmunizationsStructuredRecordForAPatientThatHasSensitiveF TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the immunizations structured record for a patient that has sensitive fla" + "g", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 93 -this.ScenarioInitialize(scenarioInfo); + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -453,7 +453,7 @@ public void RetrieveTheImmunizationsStructuredRecordForAPatientThatHasSensitiveF { this.ScenarioStart(); #line 94 - testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); + testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden #line 95 testRunner.And("I add an NHS Number parameter for \"patient9\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); @@ -462,10 +462,10 @@ public void RetrieveTheImmunizationsStructuredRecordForAPatientThatHasSensitiveF testRunner.And("I add the immunizations parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 97 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); + testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden #line 98 - testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); + testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden #line 99 testRunner.And("the response status code should be \"404\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); @@ -488,7 +488,7 @@ public void RetrieveTheImmunizationsStructuredRecordForAPatientThatHasNoImmuniza TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the immunizations structured record for a patient that has no immunizati" + "ons", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 102 -this.ScenarioInitialize(scenarioInfo); + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -498,7 +498,7 @@ public void RetrieveTheImmunizationsStructuredRecordForAPatientThatHasNoImmuniza { this.ScenarioStart(); #line 103 - testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); + testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden #line 104 testRunner.And("I add an NHS Number parameter for \"patient4\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); @@ -507,10 +507,10 @@ public void RetrieveTheImmunizationsStructuredRecordForAPatientThatHasNoImmuniza testRunner.And("I add the immunizations parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 106 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); + testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden #line 107 - testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); + testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden #line 108 testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); @@ -534,7 +534,7 @@ public void RetrieveTheImmunizationsStructuredRecordForAPatientThatHasNoImmuniza testRunner.And("the Bundle should be valid for patient \"patient4\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 114 - testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 115 testRunner.And("the Practitioner Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); @@ -547,49 +547,6 @@ public void RetrieveTheImmunizationsStructuredRecordForAPatientThatHasNoImmuniza #line hidden #line 118 testRunner.And("check structured list contains a note and emptyReason when no data in section", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden - } - this.ScenarioCleanup(); - } - - [NUnit.Framework.TestAttribute()] - [NUnit.Framework.DescriptionAttribute("Retrieve the immunizations structured record with a madeUp partParameter")] - public void RetrieveTheImmunizationsStructuredRecordWithAMadeUpPartParameter() - { - string[] tagsOfScenario = ((string[])(null)); - System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the immunizations structured record with a madeUp partParameter", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 120 -this.ScenarioInitialize(scenarioInfo); -#line hidden - if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) - { - testRunner.SkipScenario(); - } - else - { - this.ScenarioStart(); -#line 121 - testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); -#line hidden -#line 122 - testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 123 - testRunner.And("I add a madeUp immunizations part parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 124 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); -#line hidden -#line 125 - testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); -#line hidden -#line 126 - testRunner.And("Check the operation outcome returns the correct text and diagnostics includes \"in" + - "cludeImmunisations\" and \"madeUp\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden -#line 127 - testRunner.And("Check the number of issues in the operation outcome \"1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } this.ScenarioCleanup(); From b9e12a4ba4647480ae0922a1cb5e8be9ede2193b Mon Sep 17 00:00:00 2001 From: williamjameswillis Date: Fri, 3 Oct 2025 15:12:55 +0100 Subject: [PATCH 11/18] ongoing work for scal mappings --- Data/NHSNoMap.csv | 1 + .../Steps/StructuredProblemsSteps.cs | 4 +- .../StructuredAllergies.feature | 11 +- .../StructuredAllergies.feature.cs | 108 +++---- .../StructuredImmunizations.feature | 25 ++ .../StructuredMedications.feature | 39 ++- .../StructuredMedications.feature.cs | 266 +++++++++++++----- 7 files changed, 319 insertions(+), 135 deletions(-) diff --git a/Data/NHSNoMap.csv b/Data/NHSNoMap.csv index 44c63d0c..ec8f8ddd 100644 --- a/Data/NHSNoMap.csv +++ b/Data/NHSNoMap.csv @@ -23,3 +23,4 @@ patient21,9690938142 patient30,9690937367 patient31,9690938223 patient32,9690937340 +patient33,9690937316 diff --git a/GPConnect.Provider.AcceptanceTests/Steps/StructuredProblemsSteps.cs b/GPConnect.Provider.AcceptanceTests/Steps/StructuredProblemsSteps.cs index 40f603fd..c78e7886 100644 --- a/GPConnect.Provider.AcceptanceTests/Steps/StructuredProblemsSteps.cs +++ b/GPConnect.Provider.AcceptanceTests/Steps/StructuredProblemsSteps.cs @@ -91,8 +91,8 @@ public void ThenICheckThePrimaryProblemsList() { string guidToFind = entry.Item.Reference.Replace("Condition/", ""); Problems - .Where(c => c.Id == guidToFind) .Where(resource => resource.ResourceType.Equals(ResourceType.Condition)) + .Where(c => c.Id == guidToFind) .Count().ShouldBe(1, "Not Found Reference to Condition"); }); } @@ -143,8 +143,8 @@ public void ThenICheckTheSecondaryProblemsList() { string guidToFind = entry.Item.Reference.Replace("Condition/", ""); Problems - .Where(c => c.Id == guidToFind) .Where(resource => resource.ResourceType.Equals(ResourceType.Condition)) + .Where(c => c.Id == guidToFind) .Count().ShouldBe(1, "Not Found Reference to Condition"); }); } diff --git a/GPConnect.Provider.AcceptanceTests/StructuredAllergies.feature b/GPConnect.Provider.AcceptanceTests/StructuredAllergies.feature index 7a986d38..e0630dc1 100644 --- a/GPConnect.Provider.AcceptanceTests/StructuredAllergies.feature +++ b/GPConnect.Provider.AcceptanceTests/StructuredAllergies.feature @@ -39,6 +39,7 @@ Feature: StructuredAllergies | patient8 | | patient12 | | patient13 | + | patient24 | Scenario Outline: Retrieve the allergy structured record section for a patient including resolved allergies with linked Problems Given I configure the default "GpcGetStructuredRecord" request @@ -74,7 +75,7 @@ Feature: StructuredAllergies Scenario: Retrieve the allergy structured record section including resolved allergies for a patient without any allergies Given I configure the default "GpcGetStructuredRecord" request - And I add an NHS Number parameter for "patient1" + And I add an NHS Number parameter for "" And I add the allergies parameter with resolvedAllergies set to "true" When I make the "GpcGetStructuredRecord" request Then the response status code should indicate success @@ -86,9 +87,13 @@ Feature: StructuredAllergies And the Patient Id should be valid And the Practitioner Id should be valid And the Organization Id should be valid - And the Bundle should be valid for patient "patient1" + And the Bundle should be valid for patient "" And the Bundle should contain "2" lists And the Bundle should contain a list with the title "Allergies and adverse reactions" And the Bundle should contain a list with the title "Ended allergies" And the Lists are valid for a patient with no allergies - And the List of AllergyIntolerances should be valid \ No newline at end of file + And the List of AllergyIntolerances should be valid + Examples: + | Patient | + | patient1 | + | patient5 | \ No newline at end of file diff --git a/GPConnect.Provider.AcceptanceTests/StructuredAllergies.feature.cs b/GPConnect.Provider.AcceptanceTests/StructuredAllergies.feature.cs index daff688b..c9037f3f 100644 --- a/GPConnect.Provider.AcceptanceTests/StructuredAllergies.feature.cs +++ b/GPConnect.Provider.AcceptanceTests/StructuredAllergies.feature.cs @@ -89,6 +89,7 @@ public void ScenarioCleanup() [NUnit.Framework.TestCaseAttribute("patient8", null)] [NUnit.Framework.TestCaseAttribute("patient12", null)] [NUnit.Framework.TestCaseAttribute("patient13", null)] + [NUnit.Framework.TestCaseAttribute("patient24", null)] public void RetrieveTheAllergyStructuredRecordSectionForAPatientIncludingResolvedAllergiesNoProblemsAssociated(string patient, string[] exampleTags) { string[] tagsOfScenario = exampleTags; @@ -197,7 +198,7 @@ public void RetrieveTheAllergyStructuredRecordSectionForAPatientIncludingResolve argumentsOfScenario.Add("Patient", patient); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the allergy structured record section for a patient including resolved a" + "llergies with linked Problems", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 43 +#line 44 this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) @@ -207,89 +208,89 @@ public void RetrieveTheAllergyStructuredRecordSectionForAPatientIncludingResolve else { this.ScenarioStart(); -#line 44 +#line 45 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 45 +#line 46 testRunner.And(string.Format("I add an NHS Number parameter for \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 46 +#line 47 testRunner.And("I add the allergies parameter with resolvedAllergies set to \"true\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 47 +#line 48 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 48 +#line 49 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 49 +#line 50 testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 50 +#line 51 testRunner.And("the response meta profile should be for \"structured\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 51 +#line 52 testRunner.And("the patient resource in the bundle should contain meta data profile and version i" + "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 52 +#line 53 testRunner.And("if the response bundle contains a practitioner resource it should contain meta da" + "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 53 +#line 54 testRunner.And("if the response bundle contains an organization resource it should contain meta d" + "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 54 +#line 55 testRunner.And("the AllergyIntolerance should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 55 +#line 56 testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 56 +#line 57 testRunner.And("the Practitioner Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 57 +#line 58 testRunner.And("the Organization Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 58 +#line 59 testRunner.And(string.Format("the Bundle should be valid for patient \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 59 +#line 60 testRunner.And("check that the bundle does not contain any duplicate resources", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 60 +#line 61 testRunner.And("the Bundle should contain \"3\" lists", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 61 +#line 62 testRunner.And("the Bundle should contain a list with the title \"Allergies and adverse reactions\"" + "", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 62 +#line 63 testRunner.And("the Bundle should contain a list with the title \"Ended allergies\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 63 +#line 64 testRunner.And("the Bundle should contain the correct number of allergies", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 64 +#line 65 testRunner.And("the Lists are valid for a patient with allergies", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 65 +#line 66 testRunner.And("check the response does not contain an operation outcome", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 66 +#line 67 testRunner.And("I Check The Problems Secondary Problems List", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 67 +#line 68 testRunner.And("I Check The Problems Secondary Problems List Does Not Include Not In Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 68 +#line 69 testRunner.And("I Check The Problems Resources are Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 69 +#line 70 testRunner.And("I check The Problem Resources Do Not Include Not In Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 70 +#line 71 testRunner.And("Check a Problem is linked to an \"AllergyIntolerance\" that is also included in the" + " response with its list", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden @@ -300,13 +301,16 @@ public void RetrieveTheAllergyStructuredRecordSectionForAPatientIncludingResolve [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Retrieve the allergy structured record section including resolved allergies for a" + " patient without any allergies")] - public void RetrieveTheAllergyStructuredRecordSectionIncludingResolvedAllergiesForAPatientWithoutAnyAllergies() + [NUnit.Framework.TestCaseAttribute("patient1", null)] + [NUnit.Framework.TestCaseAttribute("patient5", null)] + public void RetrieveTheAllergyStructuredRecordSectionIncludingResolvedAllergiesForAPatientWithoutAnyAllergies(string patient, string[] exampleTags) { - string[] tagsOfScenario = ((string[])(null)); + string[] tagsOfScenario = exampleTags; System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("Patient", patient); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the allergy structured record section including resolved allergies for a" + " patient without any allergies", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 75 +#line 76 this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) @@ -316,65 +320,65 @@ public void RetrieveTheAllergyStructuredRecordSectionIncludingResolvedAllergiesF else { this.ScenarioStart(); -#line 76 - testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); -#line hidden #line 77 - testRunner.And("I add an NHS Number parameter for \"patient1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden #line 78 - testRunner.And("I add the allergies parameter with resolvedAllergies set to \"true\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + testRunner.And(string.Format("I add an NHS Number parameter for \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 79 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); + testRunner.And("I add the allergies parameter with resolvedAllergies set to \"true\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 80 - testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); + testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden #line 81 - testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden #line 82 - testRunner.And("the response meta profile should be for \"structured\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 83 + testRunner.And("the response meta profile should be for \"structured\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden +#line 84 testRunner.And("the patient resource in the bundle should contain meta data profile and version i" + "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 84 +#line 85 testRunner.And("if the response bundle contains a practitioner resource it should contain meta da" + "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 85 +#line 86 testRunner.And("if the response bundle contains an organization resource it should contain meta d" + "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 86 - testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden #line 87 - testRunner.And("the Practitioner Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 88 - testRunner.And("the Organization Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + testRunner.And("the Practitioner Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 89 - testRunner.And("the Bundle should be valid for patient \"patient1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + testRunner.And("the Organization Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 90 - testRunner.And("the Bundle should contain \"2\" lists", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + testRunner.And(string.Format("the Bundle should be valid for patient \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 91 + testRunner.And("the Bundle should contain \"2\" lists", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden +#line 92 testRunner.And("the Bundle should contain a list with the title \"Allergies and adverse reactions\"" + "", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 92 +#line 93 testRunner.And("the Bundle should contain a list with the title \"Ended allergies\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 93 +#line 94 testRunner.And("the Lists are valid for a patient with no allergies", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 94 +#line 95 testRunner.And("the List of AllergyIntolerances should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } diff --git a/GPConnect.Provider.AcceptanceTests/StructuredImmunizations.feature b/GPConnect.Provider.AcceptanceTests/StructuredImmunizations.feature index c2718137..ad29bce1 100644 --- a/GPConnect.Provider.AcceptanceTests/StructuredImmunizations.feature +++ b/GPConnect.Provider.AcceptanceTests/StructuredImmunizations.feature @@ -28,6 +28,31 @@ Feature: StructuredImmunizations And I Check There is No Problems Secondary Problems List And I Check No Problem Resources are Included + Scenario: Retrieve immunizations structured record for a patient with records with the NotGiven and includeStatus parameters + Given I configure the default "GpcGetStructuredRecord" request + And I add an NHS Number parameter for "patient2" + And I add the immunizations parameter + And I add a NotGiven immunizations part parameter + And I add a Dissent immunizations part parameter + When I make the "GpcGetStructuredRecord" request + Then the response status code should indicate success + And the response should be a Bundle resource of type "collection" + And the response meta profile should be for "structured" + And the patient resource in the bundle should contain meta data profile and version id + And if the response bundle contains a practitioner resource it should contain meta data profile and version id + And if the response bundle contains an organization resource it should contain meta data profile and version id + And the Bundle should be valid for patient "patient2" + And the Patient Id should be valid + And the Practitioner Id should be valid + And the Organization Id should be valid + And The Immunization Resources are Valid + And The Immunization Resources Do Not Include Not In Use Fields + And the Bundle should contain "1" lists + And The Immunization List is Valid + And The Structured List Does Not Include Not In Use Fields + And I Check There is No Problems Secondary Problems List + And I Check No Problem Resources are Included + #PG 19-2-2020 - Added for 1.3.2 - To check that associated problems and the problems list are sent. Scenario: Verify Immunizations structured record for a Patient with Immunizations associated to Problems diff --git a/GPConnect.Provider.AcceptanceTests/StructuredMedications.feature b/GPConnect.Provider.AcceptanceTests/StructuredMedications.feature index bdbe632c..23c58348 100644 --- a/GPConnect.Provider.AcceptanceTests/StructuredMedications.feature +++ b/GPConnect.Provider.AcceptanceTests/StructuredMedications.feature @@ -30,7 +30,6 @@ Feature: StructuredMedications And check the response does not contain an operation outcome And I Check There is No Problems Secondary Problems List And I Check No Problem Resources are Included - Examples: | Patient | | patient3 | @@ -38,6 +37,43 @@ Feature: StructuredMedications | patient12 | | patient16 | + Scenario Outline: Retrieve the medication structured record section for a patient with no problems linked and including prescription issues + Given I configure the default "GpcGetStructuredRecord" request + And I add an NHS Number parameter for "" + And I add the medication parameter with includePrescriptionIssues set to "true" + When I make the "GpcGetStructuredRecord" request + Then the response status code should indicate success + And the response should be a Bundle resource of type "collection" + And the response meta profile should be for "structured" + And the patient resource in the bundle should contain meta data profile and version id + And if the response bundle contains a practitioner resource it should contain meta data profile and version id + And if the response bundle contains an organization resource it should contain meta data profile and version id + And the Bundle should be valid for patient "" + And check that the bundle does not contain any duplicate resources + And the Bundle should contain "2" lists + And the Medications should be valid + And the Medication Statements should be valid + And the Medication Requests should be valid + And the List of MedicationStatements should be valid + And there should only be one order request for acute prescriptions + And the Patient Id should be valid + And the Practitioner Id should be valid + And the Organization Id should be valid + And check the response does not contain an operation outcome + # And I Check The Problems Secondary Problems List + # And I Check The Problems Secondary Problems List Does Not Include Not In Use Fields + # And I Check The Problems Resources are Valid + # And I check The Problem Resources Do Not Include Not In Use Fields + # And Check a Problem is Linked to a MedicationRequest resource that has been included in the response + And I Check There is No Problems Secondary Problems List + And I Check No Problem Resources are Included + And Check the MedicationRequests have a link to a medication that has been included in response + And Check there is a MedicationStatement resource that is linked to the MedicationRequest and Medication + And Check the Medications List resource has been included in response + Examples: + | Patient | + | patient33 | + Scenario Outline: Retrieve the medication structured record for a patient with no problems and excluding prescription issues Given I configure the default "GpcGetStructuredRecord" request And I add an NHS Number parameter for "" @@ -68,6 +104,7 @@ Feature: StructuredMedications | patient3 | | patient5 | | patient12 | + | patient33 | Scenario: Retrieve the medication structured record section for a patient with no medications Given I configure the default "GpcGetStructuredRecord" request diff --git a/GPConnect.Provider.AcceptanceTests/StructuredMedications.feature.cs b/GPConnect.Provider.AcceptanceTests/StructuredMedications.feature.cs index 99667905..e063dbad 100644 --- a/GPConnect.Provider.AcceptanceTests/StructuredMedications.feature.cs +++ b/GPConnect.Provider.AcceptanceTests/StructuredMedications.feature.cs @@ -182,12 +182,124 @@ public void RetrieveTheMedicationStructuredRecordSectionForAPatientWithNoProblem this.ScenarioCleanup(); } + [NUnit.Framework.TestAttribute()] + [NUnit.Framework.DescriptionAttribute("Retrieve the medication structured record section for a patient with no problems " + + "linked and including prescription issues")] + [NUnit.Framework.TestCaseAttribute("patient33", null)] + public void RetrieveTheMedicationStructuredRecordSectionForAPatientWithNoProblemsLinkedAndIncludingPrescriptionIssues(string patient, string[] exampleTags) + { + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("Patient", patient); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the medication structured record section for a patient with no problems " + + "linked and including prescription issues", null, tagsOfScenario, argumentsOfScenario, featureTags); +#line 40 + this.ScenarioInitialize(scenarioInfo); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); +#line 41 + testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden +#line 42 + testRunner.And(string.Format("I add an NHS Number parameter for \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden +#line 43 + testRunner.And("I add the medication parameter with includePrescriptionIssues set to \"true\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden +#line 44 + testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden +#line 45 + testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden +#line 46 + testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden +#line 47 + testRunner.And("the response meta profile should be for \"structured\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden +#line 48 + testRunner.And("the patient resource in the bundle should contain meta data profile and version i" + + "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden +#line 49 + testRunner.And("if the response bundle contains a practitioner resource it should contain meta da" + + "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden +#line 50 + testRunner.And("if the response bundle contains an organization resource it should contain meta d" + + "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden +#line 51 + testRunner.And(string.Format("the Bundle should be valid for patient \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden +#line 52 + testRunner.And("check that the bundle does not contain any duplicate resources", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden +#line 53 + testRunner.And("the Bundle should contain \"2\" lists", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden +#line 54 + testRunner.And("the Medications should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden +#line 55 + testRunner.And("the Medication Statements should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden +#line 56 + testRunner.And("the Medication Requests should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden +#line 57 + testRunner.And("the List of MedicationStatements should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden +#line 58 + testRunner.And("there should only be one order request for acute prescriptions", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden +#line 59 + testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden +#line 60 + testRunner.And("the Practitioner Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden +#line 61 + testRunner.And("the Organization Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden +#line 62 + testRunner.And("check the response does not contain an operation outcome", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden +#line 68 + testRunner.And("I Check There is No Problems Secondary Problems List", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden +#line 69 + testRunner.And("I Check No Problem Resources are Included", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden +#line 70 + testRunner.And("Check the MedicationRequests have a link to a medication that has been included i" + + "n response", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden +#line 71 + testRunner.And("Check there is a MedicationStatement resource that is linked to the MedicationReq" + + "uest and Medication", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden +#line 72 + testRunner.And("Check the Medications List resource has been included in response", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden + } + this.ScenarioCleanup(); + } + [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Retrieve the medication structured record for a patient with no problems and excl" + "uding prescription issues")] [NUnit.Framework.TestCaseAttribute("patient3", null)] [NUnit.Framework.TestCaseAttribute("patient5", null)] [NUnit.Framework.TestCaseAttribute("patient12", null)] + [NUnit.Framework.TestCaseAttribute("patient33", null)] public void RetrieveTheMedicationStructuredRecordForAPatientWithNoProblemsAndExcludingPrescriptionIssues(string patient, string[] exampleTags) { string[] tagsOfScenario = exampleTags; @@ -195,7 +307,7 @@ public void RetrieveTheMedicationStructuredRecordForAPatientWithNoProblemsAndExc argumentsOfScenario.Add("Patient", patient); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the medication structured record for a patient with no problems and excl" + "uding prescription issues", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 41 +#line 77 this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) @@ -205,79 +317,79 @@ public void RetrieveTheMedicationStructuredRecordForAPatientWithNoProblemsAndExc else { this.ScenarioStart(); -#line 42 +#line 78 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 43 +#line 79 testRunner.And(string.Format("I add an NHS Number parameter for \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 44 +#line 80 testRunner.And("I add the medication parameter with includePrescriptionIssues set to \"false\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 45 +#line 81 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 46 +#line 82 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 47 +#line 83 testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 48 +#line 84 testRunner.And("the response meta profile should be for \"structured\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 49 +#line 85 testRunner.And("the patient resource in the bundle should contain meta data profile and version i" + "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 50 +#line 86 testRunner.And("if the response bundle contains a practitioner resource it should contain meta da" + "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 51 +#line 87 testRunner.And("if the response bundle contains an organization resource it should contain meta d" + "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 52 +#line 88 testRunner.And(string.Format("the Bundle should be valid for patient \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 53 +#line 89 testRunner.And("check that the bundle does not contain any duplicate resources", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 54 +#line 90 testRunner.And("the Bundle should contain \"1\" lists", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 55 +#line 91 testRunner.And("the Medications should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 56 +#line 92 testRunner.And("the Medication Statements should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 57 +#line 93 testRunner.And("the Medication Requests should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 58 +#line 94 testRunner.And("the List of MedicationStatements should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 59 +#line 95 testRunner.And("the Medication Requests should not contain any issues", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 60 +#line 96 testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 61 +#line 97 testRunner.And("the Practitioner Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 62 +#line 98 testRunner.And("the Organization Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 63 +#line 99 testRunner.And("check the response does not contain an operation outcome", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 64 +#line 100 testRunner.And("I Check There is No Problems Secondary Problems List", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 65 +#line 101 testRunner.And("I Check No Problem Resources are Included", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } @@ -293,7 +405,7 @@ public void RetrieveTheMedicationStructuredRecordSectionForAPatientWithNoMedicat System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the medication structured record section for a patient with no medicatio" + "ns", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 72 +#line 109 this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) @@ -303,55 +415,55 @@ public void RetrieveTheMedicationStructuredRecordSectionForAPatientWithNoMedicat else { this.ScenarioStart(); -#line 73 +#line 110 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 74 +#line 111 testRunner.And("I add an NHS Number parameter for \"patient4\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 75 +#line 112 testRunner.And("I add the medication parameter with includePrescriptionIssues set to \"false\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 76 +#line 113 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 77 +#line 114 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 78 +#line 115 testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 79 +#line 116 testRunner.And("the response meta profile should be for \"structured\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 80 +#line 117 testRunner.And("the patient resource in the bundle should contain meta data profile and version i" + "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 81 +#line 118 testRunner.And("if the response bundle contains a practitioner resource it should contain meta da" + "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 82 +#line 119 testRunner.And("if the response bundle contains an organization resource it should contain meta d" + "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 83 +#line 120 testRunner.And("the Bundle should be valid for patient \"patient4\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 84 +#line 121 testRunner.And("the Bundle should contain \"1\" lists", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 85 +#line 122 testRunner.And("the List of MedicationStatements should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 86 +#line 123 testRunner.And("the Medications should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 87 +#line 124 testRunner.And("the Medication Statements should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 88 +#line 125 testRunner.And("the Medication Requests should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } @@ -367,7 +479,7 @@ public void RetrieveTheMedicationStructuredRecordSectionForAPatientWithATimePeri System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the medication structured record section for a patient with a timePeriod" + "", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 90 +#line 127 this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) @@ -377,55 +489,55 @@ public void RetrieveTheMedicationStructuredRecordSectionForAPatientWithATimePeri else { this.ScenarioStart(); -#line 91 +#line 128 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 92 +#line 129 testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 94 +#line 131 testRunner.And("I set a medications period parameter start date to \"2022-09-25\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 95 +#line 132 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 96 +#line 133 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 97 +#line 134 testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 98 +#line 135 testRunner.And("the response meta profile should be for \"structured\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 99 +#line 136 testRunner.And("the patient resource in the bundle should contain meta data profile and version i" + "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 100 +#line 137 testRunner.And("if the response bundle contains a practitioner resource it should contain meta da" + "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 101 +#line 138 testRunner.And("if the response bundle contains an organization resource it should contain meta d" + "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 102 +#line 139 testRunner.And("the Bundle should be valid for patient \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 103 +#line 140 testRunner.And("the Medications should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 104 +#line 141 testRunner.And("the Medication Statements should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 105 +#line 142 testRunner.And("the Medication Requests should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 106 +#line 143 testRunner.And("the List of MedicationStatements should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 108 +#line 145 testRunner.And("the MedicationStatement EffectiveDate is Greater Than Search Date of \"2022-09-25\"" + " years ago", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden @@ -442,7 +554,7 @@ public void RetrieveTheMedicationStructuredRecordSectionForAPatientWithMedicatio System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the medication structured record section for a patient with medication p" + "rescribed elsewhere", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 110 +#line 147 this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) @@ -452,58 +564,58 @@ public void RetrieveTheMedicationStructuredRecordSectionForAPatientWithMedicatio else { this.ScenarioStart(); -#line 111 +#line 148 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 112 +#line 149 testRunner.And("I add an NHS Number parameter for \"patient12\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 113 +#line 150 testRunner.And("I add the medication parameter with includePrescriptionIssues set to \"true\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 114 +#line 151 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 115 +#line 152 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 116 +#line 153 testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 117 +#line 154 testRunner.And("the response meta profile should be for \"structured\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 118 +#line 155 testRunner.And("the patient resource in the bundle should contain meta data profile and version i" + "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 119 +#line 156 testRunner.And("if the response bundle contains a practitioner resource it should contain meta da" + "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 120 +#line 157 testRunner.And("if the response bundle contains an organization resource it should contain meta d" + "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 121 +#line 158 testRunner.And("the Bundle should be valid for patient \"patient12\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 122 +#line 159 testRunner.And("the Bundle should contain \"1\" lists", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 123 +#line 160 testRunner.And("the Medications should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 124 +#line 161 testRunner.And("the Medication Statements should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 125 +#line 162 testRunner.And("the Medication Requests should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 126 +#line 163 testRunner.And("the List of MedicationStatements should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 127 +#line 164 testRunner.And("the MedicationStatement for prescriptions prescribed elsewhere should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } From 33880e466baad67bdf1eaa76a1e2a7c3da1e897e Mon Sep 17 00:00:00 2001 From: williamjameswillis Date: Mon, 6 Oct 2025 14:17:27 +0100 Subject: [PATCH 12/18] build out new tests to meet SCAL 1.5 --- .../AppointmentRead.feature | 210 +++--- .../AppointmentRead.feature.cs | 284 +++---- .../Helpers/FhirHelper.cs | 14 + .../Steps/StructuredConsultationsSteps.cs | 9 - .../Steps/StructuredInvestigationsSteps.cs | 21 + .../Steps/StructuredReferralsSteps.cs | 21 + .../Steps/StructuredUncategorisedSteps.cs | 217 +++--- .../StructuredDocuments.feature | 465 ++++++------ .../StructuredDocuments.feature.cs | 707 ++++++++++-------- .../StructuredImmunizations.feature.cs | 247 ++++-- .../StructuredInvestigations.feature | 187 ++--- .../StructuredInvestigations.feature.cs | 268 ++++--- .../StructuredMedications.feature | 8 +- .../StructuredMedications.feature.cs | 175 +++-- .../StructuredReferrals.feature | 181 +++-- .../StructuredReferrals.feature.cs | 266 ++++--- .../StructuredUncategorised.feature | 152 ++-- .../StructuredUncategorised.feature.cs | 192 +++-- 18 files changed, 2056 insertions(+), 1568 deletions(-) diff --git a/GPConnect.Provider.AcceptanceTests/AppointmentRead.feature b/GPConnect.Provider.AcceptanceTests/AppointmentRead.feature index 51b2a5ac..d85a2f02 100644 --- a/GPConnect.Provider.AcceptanceTests/AppointmentRead.feature +++ b/GPConnect.Provider.AcceptanceTests/AppointmentRead.feature @@ -1,108 +1,110 @@ @appointment @1.5.0-Full-Pack Feature: AppointmentRead -Scenario Outline: I perform a successful Read appointment - Given I create an Appointment for Patient "" + Scenario Outline: I perform a successful Read appointment + Given I create an Appointment for Patient "" And I store the Created Appointment - Given I configure the default "AppointmentRead" request - When I make the "AppointmentRead" request - Then the response status code should indicate success + Given I configure the default "AppointmentRead" request + When I make the "AppointmentRead" request + Then the response status code should indicate success And the Response Resource should be an Appointment And the Appointments returned must be in the future And the Appointment Id should be valid And the Appointment Metadata should be valid And the Appointment DeliveryChannel must be valid And the Appointment PractitionerRole must be valid -# git hub ref 120 -# RMB 25/10/2018 + # git hub ref 120 + # RMB 25/10/2018 And the Appointment Not In Use should be valid - Examples: - | PatientName | - | patient1 | - | patient2 | - | patient3 | - -Scenario Outline: I perform a successful Read appointment with Extensions - Given I create an Appointment for Patient "" - And I create an Appointment with org type "" with channel "" with prac role "" + Examples: + | PatientName | + | patient1 | + | patient2 | + | patient3 | + + Scenario Outline: I perform a successful Read appointment with Extensions + Given I create an Appointment for Patient "" + And I create an Appointment with org type "" with channel "" with prac role "" And I store the Created Appointment - Given I configure the default "AppointmentRead" request - When I make the "AppointmentRead" request - Then the response status code should indicate success + Given I configure the default "AppointmentRead" request + When I make the "AppointmentRead" request + Then the response status code should indicate success And the Response Resource should be an Appointment And the Appointments returned must be in the future And the Appointment Id should be valid And the Appointment Metadata should be valid And the Appointment DeliveryChannel must be present And the Appointment PractitionerRole must be present - Examples: - | PatientName | OrgType | DeliveryChannel | PracRole | - | patient1 | true | true | true | - -Scenario: I perform a successful Read appointment with JWT Org Different -# git hub ref 177 -# RMB 31/1/19 - Given I create an Appointment for Patient "patient1" and Organization Code "ORG3" + Examples: + | PatientName | OrgType | DeliveryChannel | PracRole | + | patient1 | true | true | true | + + Scenario: I perform a successful Read appointment with JWT Org Different + # git hub ref 177 + # RMB 31/1/19 + Given I create an Appointment for Patient "patient1" and Organization Code "ORG3" And I store the Created Appointment - Given I configure the default "AppointmentRead" request - When I make the "AppointmentRead" request - Then the response status code should indicate success + Given I configure the default "AppointmentRead" request + When I make the "AppointmentRead" request + Then the response status code should indicate success And the Response Resource should be an Appointment And the Appointment Organisation Code should equal "ORG1" -Scenario Outline: Read appointment invalid appointment id - Given I create an Appointment for Patient "patient1" + Scenario Outline: Read appointment invalid appointment id + Given I create an Appointment for Patient "patient1" And I store the Created Appointment - Given I configure the default "AppointmentRead" request + Given I configure the default "AppointmentRead" request And I set the Read Operation logical identifier used in the request to "" - When I make the "AppointmentRead" request - Then the response status code should be "404" + When I make the "AppointmentRead" request + Then the response status code should be "404" And the response body should be FHIR JSON - Examples: - | id | - | Invalid4321 | - | 8888888888 | - | | - -Scenario Outline: Read appointment using the _format parameter to request response format - Given I create an Appointment for Patient "patient1" + + Examples: + | id | + | Invalid4321 | + | 8888888888 | + | | + + + Scenario Outline: Read appointment using the _format parameter to request response format + Given I create an Appointment for Patient "patient1" And I store the Created Appointment - Given I configure the default "AppointmentRead" request + Given I configure the default "AppointmentRead" request And I add the parameter "_format" with the value "" - When I make the "AppointmentRead" request - Then the response status code should indicate success + When I make the "AppointmentRead" request + Then the response status code should indicate success And the response body should be FHIR And the Response Resource should be an Appointment - Examples: - | Parameter | BodyFormat | - | application/fhir+json | JSON | - | application/fhir+xml | XML | + Examples: + | Parameter | BodyFormat | + | application/fhir+json | JSON | + | application/fhir+xml | XML | -Scenario Outline: Read appointment using the _format parameter and accept header to request response format - Given I create an Appointment for Patient "patient1" + Scenario Outline: Read appointment using the _format parameter and accept header to request response format + Given I create an Appointment for Patient "patient1" And I store the Created Appointment - Given I configure the default "AppointmentRead" request + Given I configure the default "AppointmentRead" request And I set the Accept header to "
" And I add the parameter "_format" with the value "" - When I make the "AppointmentRead" request - Then the response status code should indicate success + When I make the "AppointmentRead" request + Then the response status code should indicate success And the response body should be FHIR And the Response Resource should be an Appointment - Examples: - | Header | Parameter | BodyFormat | - | application/fhir+json | application/fhir+json | JSON | - | application/fhir+json | application/fhir+xml | XML | - | application/fhir+xml | application/fhir+json | JSON | - | application/fhir+xml | application/fhir+xml | XML | - -Scenario Outline: Read appointment ensure response appointments contain the manadatory elements - Given I create an Appointment for Patient "patient1" + Examples: + | Header | Parameter | BodyFormat | + | application/fhir+json | application/fhir+json | JSON | + | application/fhir+json | application/fhir+xml | XML | + | application/fhir+xml | application/fhir+json | JSON | + | application/fhir+xml | application/fhir+xml | XML | + + Scenario Outline: Read appointment ensure response appointments contain the manadatory elements + Given I create an Appointment for Patient "patient1" And I store the Created Appointment - Given I configure the default "AppointmentRead" request + Given I configure the default "AppointmentRead" request And I set the Accept header to "
" - When I make the "AppointmentRead" request - Then the response status code should indicate success + When I make the "AppointmentRead" request + Then the response status code should indicate success And the response body should be FHIR And the Response Resource should be an Appointment And the Appointment Status should be valid @@ -118,43 +120,43 @@ Scenario Outline: Read appointment ensure response appointments contain the mana And the Response should contain the ETag header matching the Resource Version Id And the Appointment booking organization extension and contained resource must be valid And the appointment reason must not be included - Examples: - | Header | BodyFormat | - | application/fhir+json | JSON | - | application/fhir+xml | XML | - -Scenario: Read appointment valid response check caching headers exist - Given I create an Appointment for Patient "patient1" + Examples: + | Header | BodyFormat | + | application/fhir+json | JSON | + | application/fhir+xml | XML | + + Scenario: Read appointment valid response check caching headers exist + Given I create an Appointment for Patient "patient1" And I store the Created Appointment - Given I configure the default "AppointmentRead" request - When I make the "AppointmentRead" request - Then the response status code should indicate success + Given I configure the default "AppointmentRead" request + When I make the "AppointmentRead" request + Then the response status code should indicate success And the Response Resource should be an Appointment And the required cacheing headers should be present in the response -Scenario:Read appointment invalid response check caching headers exist - Given I create an Appointment for Patient "patient1" + Scenario:Read appointment invalid response check caching headers exist + Given I create an Appointment for Patient "patient1" And I store the Created Appointment - Given I configure the default "AppointmentRead" request + Given I configure the default "AppointmentRead" request And I set the Read Operation logical identifier used in the request to "555555" - When I make the "AppointmentRead" request - Then the response status code should be "404" + When I make the "AppointmentRead" request + Then the response status code should be "404" And the response body should be FHIR JSON -# git hub ref 171 -# RMB 22/1/19 -Scenario: CapabilityStatement profile supports the read appointment operation - Given I configure the default "MetadataRead" request - When I make the "MetadataRead" request - Then the response status code should indicate success + # git hub ref 171 + # RMB 22/1/19 + Scenario: CapabilityStatement profile supports the read appointment operation + Given I configure the default "MetadataRead" request + When I make the "MetadataRead" request + Then the response status code should indicate success And the CapabilityStatement REST Resources should contain the "Appointment" Resource with the "Read" Interaction -Scenario Outline: Read a patient’s appointments expecting servicecategory is populated - Given I create an Appointment in "2" days time for Patient "patient1" and Organization Code "ORG1" + Scenario Outline: Read a patient’s appointments expecting servicecategory is populated + Given I create an Appointment in "2" days time for Patient "patient1" and Organization Code "ORG1" And I store the Created Appointment - Given I configure the default "AppointmentRead" request - When I make the "AppointmentRead" request - Then the response status code should indicate success + Given I configure the default "AppointmentRead" request + When I make the "AppointmentRead" request + Then the response status code should indicate success And the Response Resource should be an Appointment And the Appointments returned must be in the future And the Appointment Id should be valid @@ -162,17 +164,17 @@ Scenario Outline: Read a patient’s appointments expecting servicecategory is p And the Appointment DeliveryChannel must be present And the Appointment PractitionerRole must be present And One Appointment contains serviceCategory element - Examples: - | PatientName | OrgType | DeliveryChannel | PracRole | - | patient1 | true | true | true | + Examples: + | PatientName | OrgType | DeliveryChannel | PracRole | + | patient1 | true | true | true | -Scenario Outline: Read a patient’s appointments expecting serviceType is populated - Given I create an Appointment in "2" days time for Patient "patient1" and Organization Code "ORG1" + Scenario Outline: Read a patient’s appointments expecting serviceType is populated + Given I create an Appointment in "2" days time for Patient "patient1" and Organization Code "ORG1" And I store the Created Appointment - Given I configure the default "AppointmentRead" request - When I make the "AppointmentRead" request - Then the response status code should indicate success + Given I configure the default "AppointmentRead" request + When I make the "AppointmentRead" request + Then the response status code should indicate success And the Response Resource should be an Appointment And the Appointments returned must be in the future And the Appointment Id should be valid @@ -180,6 +182,6 @@ Scenario Outline: Read a patient’s appointments expecting serviceType is popul And the Appointment DeliveryChannel must be present And the Appointment PractitionerRole must be present And One Appointment contains serviceType element - Examples: - | PatientName | OrgType | DeliveryChannel | PracRole | - | patient1 | true | true | true | + Examples: + | PatientName | OrgType | DeliveryChannel | PracRole | + | patient1 | true | true | true | diff --git a/GPConnect.Provider.AcceptanceTests/AppointmentRead.feature.cs b/GPConnect.Provider.AcceptanceTests/AppointmentRead.feature.cs index c6e84501..9ba10d2e 100644 --- a/GPConnect.Provider.AcceptanceTests/AppointmentRead.feature.cs +++ b/GPConnect.Provider.AcceptanceTests/AppointmentRead.feature.cs @@ -89,7 +89,7 @@ public void IPerformASuccessfulReadAppointment(string patientName, string[] exam argumentsOfScenario.Add("PatientName", patientName); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("I perform a successful Read appointment", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 4 -this.ScenarioInitialize(scenarioInfo); + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -99,19 +99,19 @@ public void IPerformASuccessfulReadAppointment(string patientName, string[] exam { this.ScenarioStart(); #line 5 - testRunner.Given(string.Format("I create an Appointment for Patient \"{0}\"", patientName), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); + testRunner.Given(string.Format("I create an Appointment for Patient \"{0}\"", patientName), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden #line 6 testRunner.And("I store the Created Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 7 - testRunner.Given("I configure the default \"AppointmentRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); + testRunner.Given("I configure the default \"AppointmentRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden #line 8 - testRunner.When("I make the \"AppointmentRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); + testRunner.When("I make the \"AppointmentRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden #line 9 - testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); + testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden #line 10 testRunner.And("the Response Resource should be an Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); @@ -151,7 +151,7 @@ public void IPerformASuccessfulReadAppointmentWithExtensions(string patientName, argumentsOfScenario.Add("PracRole", pracRole); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("I perform a successful Read appointment with Extensions", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 25 -this.ScenarioInitialize(scenarioInfo); + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -161,7 +161,7 @@ public void IPerformASuccessfulReadAppointmentWithExtensions(string patientName, { this.ScenarioStart(); #line 26 - testRunner.Given(string.Format("I create an Appointment for Patient \"{0}\"", patientName), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); + testRunner.Given(string.Format("I create an Appointment for Patient \"{0}\"", patientName), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden #line 27 testRunner.And(string.Format("I create an Appointment with org type \"{0}\" with channel \"{1}\" with prac role \"{2" + @@ -171,13 +171,13 @@ public void IPerformASuccessfulReadAppointmentWithExtensions(string patientName, testRunner.And("I store the Created Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 29 - testRunner.Given("I configure the default \"AppointmentRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); + testRunner.Given("I configure the default \"AppointmentRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden #line 30 - testRunner.When("I make the \"AppointmentRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); + testRunner.When("I make the \"AppointmentRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden #line 31 - testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); + testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden #line 32 testRunner.And("the Response Resource should be an Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); @@ -209,7 +209,7 @@ public void IPerformASuccessfulReadAppointmentWithJWTOrgDifferent() System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("I perform a successful Read appointment with JWT Org Different", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 42 -this.ScenarioInitialize(scenarioInfo); + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -219,19 +219,19 @@ public void IPerformASuccessfulReadAppointmentWithJWTOrgDifferent() { this.ScenarioStart(); #line 45 - testRunner.Given("I create an Appointment for Patient \"patient1\" and Organization Code \"ORG3\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); + testRunner.Given("I create an Appointment for Patient \"patient1\" and Organization Code \"ORG3\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden #line 46 testRunner.And("I store the Created Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 47 - testRunner.Given("I configure the default \"AppointmentRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); + testRunner.Given("I configure the default \"AppointmentRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden #line 48 - testRunner.When("I make the \"AppointmentRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); + testRunner.When("I make the \"AppointmentRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden #line 49 - testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); + testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden #line 50 testRunner.And("the Response Resource should be an Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); @@ -255,7 +255,7 @@ public void ReadAppointmentInvalidAppointmentId(string id, string[] exampleTags) argumentsOfScenario.Add("id", id); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Read appointment invalid appointment id", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 53 -this.ScenarioInitialize(scenarioInfo); + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -265,22 +265,22 @@ public void ReadAppointmentInvalidAppointmentId(string id, string[] exampleTags) { this.ScenarioStart(); #line 54 - testRunner.Given("I create an Appointment for Patient \"patient1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); + testRunner.Given("I create an Appointment for Patient \"patient1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden #line 55 testRunner.And("I store the Created Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 56 - testRunner.Given("I configure the default \"AppointmentRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); + testRunner.Given("I configure the default \"AppointmentRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden #line 57 testRunner.And(string.Format("I set the Read Operation logical identifier used in the request to \"{0}\"", id), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 58 - testRunner.When("I make the \"AppointmentRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); + testRunner.When("I make the \"AppointmentRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden #line 59 - testRunner.Then("the response status code should be \"404\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); + testRunner.Then("the response status code should be \"404\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden #line 60 testRunner.And("the response body should be FHIR JSON", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); @@ -300,8 +300,8 @@ public void ReadAppointmentUsingThe_FormatParameterToRequestResponseFormat(strin argumentsOfScenario.Add("Parameter", parameter); argumentsOfScenario.Add("BodyFormat", bodyFormat); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Read appointment using the _format parameter to request response format", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 67 -this.ScenarioInitialize(scenarioInfo); +#line 69 + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -310,28 +310,28 @@ public void ReadAppointmentUsingThe_FormatParameterToRequestResponseFormat(strin else { this.ScenarioStart(); -#line 68 - testRunner.Given("I create an Appointment for Patient \"patient1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); -#line hidden -#line 69 - testRunner.And("I store the Created Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden #line 70 - testRunner.Given("I configure the default \"AppointmentRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); + testRunner.Given("I create an Appointment for Patient \"patient1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden #line 71 - testRunner.And(string.Format("I add the parameter \"_format\" with the value \"{0}\"", parameter), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + testRunner.And("I store the Created Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 72 - testRunner.When("I make the \"AppointmentRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); + testRunner.Given("I configure the default \"AppointmentRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden #line 73 - testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); + testRunner.And(string.Format("I add the parameter \"_format\" with the value \"{0}\"", parameter), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 74 - testRunner.And(string.Format("the response body should be FHIR {0}", bodyFormat), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + testRunner.When("I make the \"AppointmentRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden #line 75 + testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden +#line 76 + testRunner.And(string.Format("the response body should be FHIR {0}", bodyFormat), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden +#line 77 testRunner.And("the Response Resource should be an Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } @@ -354,8 +354,8 @@ public void ReadAppointmentUsingThe_FormatParameterAndAcceptHeaderToRequestRespo argumentsOfScenario.Add("BodyFormat", bodyFormat); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Read appointment using the _format parameter and accept header to request respons" + "e format", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 82 -this.ScenarioInitialize(scenarioInfo); +#line 84 + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -364,31 +364,31 @@ public void ReadAppointmentUsingThe_FormatParameterAndAcceptHeaderToRequestRespo else { this.ScenarioStart(); -#line 83 - testRunner.Given("I create an Appointment for Patient \"patient1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); -#line hidden -#line 84 - testRunner.And("I store the Created Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden #line 85 - testRunner.Given("I configure the default \"AppointmentRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); + testRunner.Given("I create an Appointment for Patient \"patient1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden #line 86 - testRunner.And(string.Format("I set the Accept header to \"{0}\"", header), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + testRunner.And("I store the Created Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 87 - testRunner.And(string.Format("I add the parameter \"_format\" with the value \"{0}\"", parameter), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + testRunner.Given("I configure the default \"AppointmentRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden #line 88 - testRunner.When("I make the \"AppointmentRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); + testRunner.And(string.Format("I set the Accept header to \"{0}\"", header), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 89 - testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); + testRunner.And(string.Format("I add the parameter \"_format\" with the value \"{0}\"", parameter), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 90 - testRunner.And(string.Format("the response body should be FHIR {0}", bodyFormat), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + testRunner.When("I make the \"AppointmentRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden #line 91 + testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden +#line 92 + testRunner.And(string.Format("the response body should be FHIR {0}", bodyFormat), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden +#line 93 testRunner.And("the Response Resource should be an Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } @@ -406,8 +406,8 @@ public void ReadAppointmentEnsureResponseAppointmentsContainTheManadatoryElement argumentsOfScenario.Add("Header", header); argumentsOfScenario.Add("BodyFormat", bodyFormat); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Read appointment ensure response appointments contain the manadatory elements", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 99 -this.ScenarioInitialize(scenarioInfo); +#line 101 + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -416,68 +416,68 @@ public void ReadAppointmentEnsureResponseAppointmentsContainTheManadatoryElement else { this.ScenarioStart(); -#line 100 - testRunner.Given("I create an Appointment for Patient \"patient1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); -#line hidden -#line 101 - testRunner.And("I store the Created Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden #line 102 - testRunner.Given("I configure the default \"AppointmentRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); + testRunner.Given("I create an Appointment for Patient \"patient1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden #line 103 - testRunner.And(string.Format("I set the Accept header to \"{0}\"", header), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + testRunner.And("I store the Created Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 104 - testRunner.When("I make the \"AppointmentRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); + testRunner.Given("I configure the default \"AppointmentRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden #line 105 - testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); + testRunner.And(string.Format("I set the Accept header to \"{0}\"", header), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 106 - testRunner.And(string.Format("the response body should be FHIR {0}", bodyFormat), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + testRunner.When("I make the \"AppointmentRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden #line 107 - testRunner.And("the Response Resource should be an Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden #line 108 - testRunner.And("the Appointment Status should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + testRunner.And(string.Format("the response body should be FHIR {0}", bodyFormat), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 109 - testRunner.And("the Appointment Start should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + testRunner.And("the Response Resource should be an Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 110 - testRunner.And("the Appointment End should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + testRunner.And("the Appointment Status should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 111 - testRunner.And("the Appointment Slots should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + testRunner.And("the Appointment Start should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 112 - testRunner.And("the Appointment Participants should be valid and resolvable", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + testRunner.And("the Appointment End should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 113 - testRunner.And("the Appointment Description must be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + testRunner.And("the Appointment Slots should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 114 - testRunner.And("the Appointment Created must be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + testRunner.And("the Appointment Participants should be valid and resolvable", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 115 - testRunner.And("the Appointment Identifiers should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + testRunner.And("the Appointment Description must be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 116 - testRunner.And("the Appointment Priority should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + testRunner.And("the Appointment Created must be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 117 - testRunner.And("the Appointment Participant Type and Actor should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + testRunner.And("the Appointment Identifiers should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 118 - testRunner.And("the Response should contain the ETag header matching the Resource Version Id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + testRunner.And("the Appointment Priority should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 119 + testRunner.And("the Appointment Participant Type and Actor should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden +#line 120 + testRunner.And("the Response should contain the ETag header matching the Resource Version Id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden +#line 121 testRunner.And("the Appointment booking organization extension and contained resource must be val" + "id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 120 +#line 122 testRunner.And("the appointment reason must not be included", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } @@ -491,8 +491,8 @@ public void ReadAppointmentValidResponseCheckCachingHeadersExist() string[] tagsOfScenario = ((string[])(null)); System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Read appointment valid response check caching headers exist", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 126 -this.ScenarioInitialize(scenarioInfo); +#line 128 + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -501,25 +501,25 @@ public void ReadAppointmentValidResponseCheckCachingHeadersExist() else { this.ScenarioStart(); -#line 127 - testRunner.Given("I create an Appointment for Patient \"patient1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); -#line hidden -#line 128 - testRunner.And("I store the Created Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden #line 129 - testRunner.Given("I configure the default \"AppointmentRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); + testRunner.Given("I create an Appointment for Patient \"patient1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden #line 130 - testRunner.When("I make the \"AppointmentRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); + testRunner.And("I store the Created Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 131 - testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); + testRunner.Given("I configure the default \"AppointmentRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden #line 132 - testRunner.And("the Response Resource should be an Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + testRunner.When("I make the \"AppointmentRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden #line 133 + testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden +#line 134 + testRunner.And("the Response Resource should be an Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden +#line 135 testRunner.And("the required cacheing headers should be present in the response", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } @@ -533,8 +533,8 @@ public void ReadAppointmentInvalidResponseCheckCachingHeadersExist() string[] tagsOfScenario = ((string[])(null)); System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Read appointment invalid response check caching headers exist", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 135 -this.ScenarioInitialize(scenarioInfo); +#line 137 + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -543,25 +543,25 @@ public void ReadAppointmentInvalidResponseCheckCachingHeadersExist() else { this.ScenarioStart(); -#line 136 - testRunner.Given("I create an Appointment for Patient \"patient1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); -#line hidden -#line 137 - testRunner.And("I store the Created Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden #line 138 - testRunner.Given("I configure the default \"AppointmentRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); + testRunner.Given("I create an Appointment for Patient \"patient1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden #line 139 - testRunner.And("I set the Read Operation logical identifier used in the request to \"555555\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + testRunner.And("I store the Created Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 140 - testRunner.When("I make the \"AppointmentRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); + testRunner.Given("I configure the default \"AppointmentRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden #line 141 - testRunner.Then("the response status code should be \"404\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); + testRunner.And("I set the Read Operation logical identifier used in the request to \"555555\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 142 + testRunner.When("I make the \"AppointmentRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden +#line 143 + testRunner.Then("the response status code should be \"404\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden +#line 144 testRunner.And("the response body should be FHIR JSON", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } @@ -575,8 +575,8 @@ public void CapabilityStatementProfileSupportsTheReadAppointmentOperation() string[] tagsOfScenario = ((string[])(null)); System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("CapabilityStatement profile supports the read appointment operation", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 146 -this.ScenarioInitialize(scenarioInfo); +#line 148 + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -585,16 +585,16 @@ public void CapabilityStatementProfileSupportsTheReadAppointmentOperation() else { this.ScenarioStart(); -#line 147 - testRunner.Given("I configure the default \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); -#line hidden -#line 148 - testRunner.When("I make the \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); -#line hidden #line 149 - testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); + testRunner.Given("I configure the default \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden #line 150 + testRunner.When("I make the \"MetadataRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden +#line 151 + testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden +#line 152 testRunner.And("the CapabilityStatement REST Resources should contain the \"Appointment\" Resource " + "with the \"Read\" Interaction", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden @@ -614,8 +614,8 @@ public void ReadAPatientSAppointmentsExpectingServicecategoryIsPopulated(string argumentsOfScenario.Add("DeliveryChannel", deliveryChannel); argumentsOfScenario.Add("PracRole", pracRole); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Read a patient’s appointments expecting servicecategory is populated", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 152 -this.ScenarioInitialize(scenarioInfo); +#line 154 + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -624,41 +624,41 @@ public void ReadAPatientSAppointmentsExpectingServicecategoryIsPopulated(string else { this.ScenarioStart(); -#line 153 - testRunner.Given("I create an Appointment in \"2\" days time for Patient \"patient1\" and Organization " + - "Code \"ORG1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); -#line hidden -#line 154 - testRunner.And("I store the Created Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden #line 155 - testRunner.Given("I configure the default \"AppointmentRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); + testRunner.Given("I create an Appointment in \"2\" days time for Patient \"patient1\" and Organization " + + "Code \"ORG1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden #line 156 - testRunner.When("I make the \"AppointmentRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); + testRunner.And("I store the Created Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 157 - testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); + testRunner.Given("I configure the default \"AppointmentRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden #line 158 - testRunner.And("the Response Resource should be an Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + testRunner.When("I make the \"AppointmentRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden #line 159 - testRunner.And("the Appointments returned must be in the future", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden #line 160 - testRunner.And("the Appointment Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + testRunner.And("the Response Resource should be an Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 161 - testRunner.And("the Appointment Metadata should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + testRunner.And("the Appointments returned must be in the future", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 162 - testRunner.And("the Appointment DeliveryChannel must be present", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + testRunner.And("the Appointment Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 163 - testRunner.And("the Appointment PractitionerRole must be present", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + testRunner.And("the Appointment Metadata should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 164 + testRunner.And("the Appointment DeliveryChannel must be present", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden +#line 165 + testRunner.And("the Appointment PractitionerRole must be present", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden +#line 166 testRunner.And("One Appointment contains serviceCategory element", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } @@ -677,8 +677,8 @@ public void ReadAPatientSAppointmentsExpectingServiceTypeIsPopulated(string pati argumentsOfScenario.Add("DeliveryChannel", deliveryChannel); argumentsOfScenario.Add("PracRole", pracRole); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Read a patient’s appointments expecting serviceType is populated", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 170 -this.ScenarioInitialize(scenarioInfo); +#line 172 + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -687,41 +687,41 @@ public void ReadAPatientSAppointmentsExpectingServiceTypeIsPopulated(string pati else { this.ScenarioStart(); -#line 171 - testRunner.Given("I create an Appointment in \"2\" days time for Patient \"patient1\" and Organization " + - "Code \"ORG1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); -#line hidden -#line 172 - testRunner.And("I store the Created Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); -#line hidden #line 173 - testRunner.Given("I configure the default \"AppointmentRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); + testRunner.Given("I create an Appointment in \"2\" days time for Patient \"patient1\" and Organization " + + "Code \"ORG1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden #line 174 - testRunner.When("I make the \"AppointmentRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); + testRunner.And("I store the Created Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 175 - testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); + testRunner.Given("I configure the default \"AppointmentRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden #line 176 - testRunner.And("the Response Resource should be an Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + testRunner.When("I make the \"AppointmentRead\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden #line 177 - testRunner.And("the Appointments returned must be in the future", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden #line 178 - testRunner.And("the Appointment Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + testRunner.And("the Response Resource should be an Appointment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 179 - testRunner.And("the Appointment Metadata should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + testRunner.And("the Appointments returned must be in the future", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 180 - testRunner.And("the Appointment DeliveryChannel must be present", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + testRunner.And("the Appointment Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 181 - testRunner.And("the Appointment PractitionerRole must be present", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + testRunner.And("the Appointment Metadata should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 182 + testRunner.And("the Appointment DeliveryChannel must be present", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden +#line 183 + testRunner.And("the Appointment PractitionerRole must be present", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden +#line 184 testRunner.And("One Appointment contains serviceType element", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } diff --git a/GPConnect.Provider.AcceptanceTests/Helpers/FhirHelper.cs b/GPConnect.Provider.AcceptanceTests/Helpers/FhirHelper.cs index 632874c4..ec217108 100644 --- a/GPConnect.Provider.AcceptanceTests/Helpers/FhirHelper.cs +++ b/GPConnect.Provider.AcceptanceTests/Helpers/FhirHelper.cs @@ -191,6 +191,20 @@ public static Period GetTimePeriod(string startDate, string endDate) return new Period(new FhirDateTime(startDate), new FhirDateTime(endDate)); } +#nullable enable + public static Period SafeGetTimePeriod(string startDate, string? endDate = null) + { + var period = new Period(); + period.StartElement = new FhirDateTime(startDate); + + if (!string.IsNullOrEmpty(endDate)) + { + period.EndElement = new FhirDateTime(endDate); + } + + return period; + } + // github ref 127 // RMB 5/11/2018 public static Date GetStartDate(string startDate) diff --git a/GPConnect.Provider.AcceptanceTests/Steps/StructuredConsultationsSteps.cs b/GPConnect.Provider.AcceptanceTests/Steps/StructuredConsultationsSteps.cs index 2dc6c5b1..ab8a5ae2 100644 --- a/GPConnect.Provider.AcceptanceTests/Steps/StructuredConsultationsSteps.cs +++ b/GPConnect.Provider.AcceptanceTests/Steps/StructuredConsultationsSteps.cs @@ -517,9 +517,7 @@ public void GivenIAddTheConsultationParameterWithConsultationSearchPeriodParamet public void GivenIAddTheConsultationParameterWithStartDateOnly() { var backDate = DateTime.UtcNow.AddYears(-3); - var futureDate = DateTime.UtcNow.AddDays(-1); var startDate = backDate.ToString("yyyy-MM-dd"); - //var endDate = futureDate.ToString("yyyy-MM-dd"); IEnumerable> tuples = new Tuple[] { Tuple.Create(FhirConst.GetStructuredRecordParams.kConsultationSearch, (Base)FhirHelper.GetTimePeriod(startDate, null)), @@ -530,9 +528,7 @@ public void GivenIAddTheConsultationParameterWithStartDateOnly() [Given(@"I add the consultation parameter with endDate only")] public void GivenIAddTheConsultationParameterWithEndDateOnly() { - var backDate = DateTime.UtcNow.AddDays(-1); var futureDate = DateTime.UtcNow.AddDays(-1); - //var startDate = backDate.ToString("yyyy-MM-dd"); var endDate = futureDate.ToString("yyyy-MM-dd"); IEnumerable> tuples = new Tuple[] { @@ -558,11 +554,6 @@ public void GivenIAddTheConsultationParameterWithConsultationSearchPeriodParamet [Given(@"I add the consultation parameter with consultationsMostRecent partParameter")] public void GivenIAddTheConsultationParameterWithConsultationMostRecentPartParameter() { - var backDate = DateTime.UtcNow.AddDays(-10); - var futureDate = DateTime.UtcNow.AddDays(-5); - var startDate = backDate.ToString("yyyy-MM-dd"); - var endDate = futureDate.ToString("yyyy-MM-dd"); - IEnumerable> tuples = new Tuple[] { Tuple.Create(FhirConst.GetStructuredRecordParams.kConsultationsMostRecent, (Base) new PositiveInt(3)), }; diff --git a/GPConnect.Provider.AcceptanceTests/Steps/StructuredInvestigationsSteps.cs b/GPConnect.Provider.AcceptanceTests/Steps/StructuredInvestigationsSteps.cs index d93d63e1..ed96de41 100644 --- a/GPConnect.Provider.AcceptanceTests/Steps/StructuredInvestigationsSteps.cs +++ b/GPConnect.Provider.AcceptanceTests/Steps/StructuredInvestigationsSteps.cs @@ -455,6 +455,27 @@ public void GivenIAddTheinvestigationsParameterStartDateAfterEndDate() _httpContext.HttpRequestConfiguration.BodyParameters.Add(FhirConst.GetStructuredRecordParams.kInvestigations, tuples); } + [Given(@"I add the investigations data parameter with valid start date and no end date")] + public void GivenIAddTheinvestigationsParameterWithValidStartDateAndNoEndDate() + { + var backDate = DateTime.UtcNow.AddYears(-3); + var startDate = backDate.ToString("yyyy-MM-dd"); + + IEnumerable> tuples = new Tuple[] { + Tuple.Create(FhirConst.GetStructuredRecordParams.kInvestigationsSearch, (Base)FhirHelper.SafeGetTimePeriod(startDate, null)), + }; + _httpContext.HttpRequestConfiguration.BodyParameters.Add(FhirConst.GetStructuredRecordParams.kInvestigations, tuples); + } + + [Given(@"I add the investigations data parameter with no start date and no end date")] + public void GivenIAddTheinvestigationsParameterWithNoStartDateAndNoEndDate() + { + IEnumerable> tuples = new Tuple[] { + Tuple.Create(FhirConst.GetStructuredRecordParams.kInvestigationsSearch, (Base)FhirHelper.SafeGetTimePeriod(null, null)), + }; + _httpContext.HttpRequestConfiguration.BodyParameters.Add(FhirConst.GetStructuredRecordParams.kInvestigations, tuples); + } + //Not currently used as no easy way to know what is a test group without being very specific about data requirements [Then(@"I Check a Test group is linked to a Test Report Filing")] public void GiveCheckaTestgroupislinkedtoaTestReportFiling() diff --git a/GPConnect.Provider.AcceptanceTests/Steps/StructuredReferralsSteps.cs b/GPConnect.Provider.AcceptanceTests/Steps/StructuredReferralsSteps.cs index bb4ce48a..db3010a0 100644 --- a/GPConnect.Provider.AcceptanceTests/Steps/StructuredReferralsSteps.cs +++ b/GPConnect.Provider.AcceptanceTests/Steps/StructuredReferralsSteps.cs @@ -163,6 +163,27 @@ public void GivenIAddTheReferralsParameterWithCurrentDate() _httpContext.HttpRequestConfiguration.BodyParameters.Add(FhirConst.GetStructuredRecordParams.kReferrals, tuples); } + [Given(@"I add the Referrals data parameter with valid start date and no end date")] + public void GivenIAddTheReferralsParameterWithValidStartDateAndNoEndDate() + { + var backDate = DateTime.UtcNow.AddYears(-3); + var startDate = backDate.ToString("yyyy-MM-dd"); + + IEnumerable> tuples = new Tuple[] { + Tuple.Create(FhirConst.GetStructuredRecordParams.kReferralSearch, (Base)FhirHelper.SafeGetTimePeriod(startDate, null)), + }; + _httpContext.HttpRequestConfiguration.BodyParameters.Add(FhirConst.GetStructuredRecordParams.kReferrals, tuples); + } + + [Given(@"I add the Referrals data parameter with no start date and no end date")] + public void GivenIAddTheReferralsParameterWithNoStartDateAndNoEndDate() + { + IEnumerable> tuples = new Tuple[] { + Tuple.Create(FhirConst.GetStructuredRecordParams.kReferralSearch, (Base)FhirHelper.SafeGetTimePeriod(null, null)), + }; + _httpContext.HttpRequestConfiguration.BodyParameters.Add(FhirConst.GetStructuredRecordParams.kReferrals, tuples); + } + [Given(@"I add the Referrals data parameter with date permutations ""([^""]*)"" and ""([^""]*)""")] public void GivenIAddTheReferralsParameterWithDatePermutations(string start, string end) { diff --git a/GPConnect.Provider.AcceptanceTests/Steps/StructuredUncategorisedSteps.cs b/GPConnect.Provider.AcceptanceTests/Steps/StructuredUncategorisedSteps.cs index 95ff001a..75e2de4c 100644 --- a/GPConnect.Provider.AcceptanceTests/Steps/StructuredUncategorisedSteps.cs +++ b/GPConnect.Provider.AcceptanceTests/Steps/StructuredUncategorisedSteps.cs @@ -1,108 +1,129 @@ namespace GPConnect.Provider.AcceptanceTests.Steps { - using Constants; - using Context; - using TechTalk.SpecFlow; - using Shouldly; - using Hl7.Fhir.Model; - using System.Collections.Generic; - using System; - using System.Linq; - using GPConnect.Provider.AcceptanceTests.Enum; - using static Hl7.Fhir.Model.Parameters; - using GPConnect.Provider.AcceptanceTests.Helpers; - - [Binding] - public sealed class StructuredUncategorisedSteps : BaseSteps - { - private readonly HttpContext _httpContext; + using Constants; + using Context; + using TechTalk.SpecFlow; + using Shouldly; + using Hl7.Fhir.Model; + using System.Collections.Generic; + using System; + using System.Linq; + using GPConnect.Provider.AcceptanceTests.Enum; + using static Hl7.Fhir.Model.Parameters; + using GPConnect.Provider.AcceptanceTests.Helpers; + + [Binding] + public sealed class StructuredUncategorisedSteps : BaseSteps + { + private readonly HttpContext _httpContext; private List Observations => _httpContext.FhirResponse.Observations; private List Lists => _httpContext.FhirResponse.Lists; private List Patients => _httpContext.FhirResponse.Patients; public StructuredUncategorisedSteps(HttpSteps httpSteps, HttpContext httpContext) - : base(httpSteps) - { - _httpContext = httpContext; - } - - [Given(@"I add the uncategorised data parameter with optional parameters")] - public void GivenIAddTheUncategorisedDataParameterWithOptionalParameters() - { - var backDate = DateTime.UtcNow.AddDays(-10); - var futureDate = DateTime.UtcNow.AddDays(5); - var startDate = backDate.ToString("yyyy-MM-dd"); - var endDate = futureDate.ToString("yyyy-MM-dd"); - - IEnumerable> tuples = new Tuple[] { - Tuple.Create(FhirConst.GetStructuredRecordParams.kUncategorisedData, (Base)FhirHelper.GetTimePeriod(startDate, endDate)), - }; - _httpContext.HttpRequestConfiguration.BodyParameters.Add(FhirConst.GetStructuredRecordParams.kUncategorised, tuples); - } - - [Given(@"I add the uncategorised data parameter")] - public void GivenIAddTheUncategorisedDataParameter() - { - { - ParameterComponent param = new ParameterComponent(); - param.Name = FhirConst.GetStructuredRecordParams.kUncategorised; - _httpContext.HttpRequestConfiguration.BodyParameters.Parameter.Add(param); - } - } - - [Given(@"I add the uncategorised data parameter with date permutations ""([^""]*)"" and ""([^""]*)""")] - public void GivenIAddTheUncategorisedDataParameterWithDatePermutations(string start, string end) - { - IEnumerable> tuples = new Tuple[] { - Tuple.Create(FhirConst.GetStructuredRecordParams.kUncategorisedData, (Base)FhirHelper.GetTimePeriod(start, end)), - - }; - _httpContext.HttpRequestConfiguration.BodyParameters.Add(FhirConst.GetStructuredRecordParams.kUncategorised, tuples); - } - - [Given(@"I add the uncategorised data parameter with future start date")] - public void GivenIAddTheUncategorisedDataParameterWithFutureStartDate() - { - var futureStartDate = DateTime.UtcNow.AddDays(+10); - var futureEndDate = DateTime.UtcNow.AddDays(+15); - var startDate = futureStartDate.ToString("yyyy-MM-dd"); - var endDate = futureEndDate.ToString("yyyy-MM-dd"); - - IEnumerable> tuples = new Tuple[] { - Tuple.Create(FhirConst.GetStructuredRecordParams.kUncategorisedData, (Base)FhirHelper.GetTimePeriod(startDate, endDate)), - }; - _httpContext.HttpRequestConfiguration.BodyParameters.Add(FhirConst.GetStructuredRecordParams.kUncategorised, tuples); - } - - [Given(@"I add the uncategorised data parameter start date after endDate")] - public void GivenIAddTheUncategorisedDataParameterStartDateAfterEndDate() - { - var backDate = DateTime.UtcNow.AddDays(-10); - var futureDate = DateTime.UtcNow.AddDays(-15); - var startDate = backDate.ToString("yyyy-MM-dd"); - var endDate = futureDate.ToString("yyyy-MM-dd"); - - IEnumerable> tuples = new Tuple[] { - Tuple.Create(FhirConst.GetStructuredRecordParams.kUncategorisedData, (Base)FhirHelper.GetTimePeriod(startDate, endDate)), - }; - _httpContext.HttpRequestConfiguration.BodyParameters.Add(FhirConst.GetStructuredRecordParams.kUncategorised, tuples); - } - - [Given(@"I add the uncategorised data parameter with current date")] - public void GivenIAddTheUncategorisedDataParameterWithCurrentDate() - { - var backDate = DateTime.UtcNow; - var futureDate = DateTime.UtcNow; - var startDate = backDate.ToString("yyyy-MM-dd"); - var endDate = futureDate.ToString("yyyy-MM-dd"); - - IEnumerable> tuples = new Tuple[] { - Tuple.Create(FhirConst.GetStructuredRecordParams.kUncategorisedData, (Base)FhirHelper.GetTimePeriod(startDate, endDate)), - }; - _httpContext.HttpRequestConfiguration.BodyParameters.Add(FhirConst.GetStructuredRecordParams.kUncategorised, tuples); - } - - [Then(@"The Observation Resources are Valid")] + : base(httpSteps) + { + _httpContext = httpContext; + } + + [Given(@"I add the uncategorised data parameter with optional parameters")] + public void GivenIAddTheUncategorisedDataParameterWithOptionalParameters() + { + var backDate = DateTime.UtcNow.AddDays(-10); + var futureDate = DateTime.UtcNow.AddDays(5); + var startDate = backDate.ToString("yyyy-MM-dd"); + var endDate = futureDate.ToString("yyyy-MM-dd"); + + IEnumerable> tuples = new Tuple[] { + Tuple.Create(FhirConst.GetStructuredRecordParams.kUncategorisedData, (Base)FhirHelper.GetTimePeriod(startDate, endDate)), + }; + _httpContext.HttpRequestConfiguration.BodyParameters.Add(FhirConst.GetStructuredRecordParams.kUncategorised, tuples); + } + + [Given(@"I add the uncategorised data parameter")] + public void GivenIAddTheUncategorisedDataParameter() + { + { + ParameterComponent param = new ParameterComponent(); + param.Name = FhirConst.GetStructuredRecordParams.kUncategorised; + _httpContext.HttpRequestConfiguration.BodyParameters.Parameter.Add(param); + } + } + + [Given(@"I add the uncategorised data parameter with date permutations ""([^""]*)"" and ""([^""]*)""")] + public void GivenIAddTheUncategorisedDataParameterWithDatePermutations(string start, string end) + { + IEnumerable> tuples = new Tuple[] { + Tuple.Create(FhirConst.GetStructuredRecordParams.kUncategorisedData, (Base)FhirHelper.GetTimePeriod(start, end)), + + }; + _httpContext.HttpRequestConfiguration.BodyParameters.Add(FhirConst.GetStructuredRecordParams.kUncategorised, tuples); + } + + [Given(@"I add the uncategorised data parameter with future start date")] + public void GivenIAddTheUncategorisedDataParameterWithFutureStartDate() + { + var futureStartDate = DateTime.UtcNow.AddDays(+10); + var futureEndDate = DateTime.UtcNow.AddDays(+15); + var startDate = futureStartDate.ToString("yyyy-MM-dd"); + var endDate = futureEndDate.ToString("yyyy-MM-dd"); + + IEnumerable> tuples = new Tuple[] { + Tuple.Create(FhirConst.GetStructuredRecordParams.kUncategorisedData, (Base)FhirHelper.GetTimePeriod(startDate, endDate)), + }; + _httpContext.HttpRequestConfiguration.BodyParameters.Add(FhirConst.GetStructuredRecordParams.kUncategorised, tuples); + } + + [Given(@"I add the uncategorised data parameter start date after endDate")] + public void GivenIAddTheUncategorisedDataParameterStartDateAfterEndDate() + { + var backDate = DateTime.UtcNow.AddDays(-10); + var futureDate = DateTime.UtcNow.AddDays(-15); + var startDate = backDate.ToString("yyyy-MM-dd"); + var endDate = futureDate.ToString("yyyy-MM-dd"); + + IEnumerable> tuples = new Tuple[] { + Tuple.Create(FhirConst.GetStructuredRecordParams.kUncategorisedData, (Base)FhirHelper.GetTimePeriod(startDate, endDate)), + }; + _httpContext.HttpRequestConfiguration.BodyParameters.Add(FhirConst.GetStructuredRecordParams.kUncategorised, tuples); + } + + [Given(@"I add the uncategorised data parameter with current date")] + public void GivenIAddTheUncategorisedDataParameterWithCurrentDate() + { + var backDate = DateTime.UtcNow; + var futureDate = DateTime.UtcNow; + var startDate = backDate.ToString("yyyy-MM-dd"); + var endDate = futureDate.ToString("yyyy-MM-dd"); + + IEnumerable> tuples = new Tuple[] { + Tuple.Create(FhirConst.GetStructuredRecordParams.kUncategorisedData, (Base)FhirHelper.GetTimePeriod(startDate, endDate)), + }; + _httpContext.HttpRequestConfiguration.BodyParameters.Add(FhirConst.GetStructuredRecordParams.kUncategorised, tuples); + } + + [Given(@"I add the uncategorised data parameter with valid start date and no end date")] + public void GivenIAddTheUncategorisedParameterWithValidStartDateAndNoEndDate() + { + var backDate = DateTime.UtcNow.AddYears(-3); + var startDate = backDate.ToString("yyyy-MM-dd"); + + IEnumerable> tuples = new Tuple[] { + Tuple.Create(FhirConst.GetStructuredRecordParams.kUncategorisedData, (Base)FhirHelper.SafeGetTimePeriod(startDate, null)), + }; + _httpContext.HttpRequestConfiguration.BodyParameters.Add(FhirConst.GetStructuredRecordParams.kUncategorisedData, tuples); + } + + [Given(@"I add the uncategorised data parameter with no start date and no end date")] + public void GivenIAddTheUncategorisedParameterWithNoStartDateAndNoEndDate() + { + IEnumerable> tuples = new Tuple[] { + Tuple.Create(FhirConst.GetStructuredRecordParams.kUncategorisedData, (Base)FhirHelper.SafeGetTimePeriod(null, null)), + }; + _httpContext.HttpRequestConfiguration.BodyParameters.Add(FhirConst.GetStructuredRecordParams.kUncategorisedData, tuples); + } + + [Then(@"The Observation Resources are Valid")] public void GivenTheObservationResourcesareValid() { //check atleast one diff --git a/GPConnect.Provider.AcceptanceTests/StructuredDocuments.feature b/GPConnect.Provider.AcceptanceTests/StructuredDocuments.feature index 1f1d64dd..a73e2c3f 100644 --- a/GPConnect.Provider.AcceptanceTests/StructuredDocuments.feature +++ b/GPConnect.Provider.AcceptanceTests/StructuredDocuments.feature @@ -1,22 +1,22 @@ @Structured @StructuredDocuments @1.5.0-Full-Pack @1.5.0-IncrementalAndRegression Feature: Documents -# These Tests are only Testing this Structured Area in isolation and Not with other Areas or Combinations of Include Parameters -# Tests around Multiple Structured Areas in one Request are tested in the MultipleRequests Feature + # These Tests are only Testing this Structured Area in isolation and Not with other Areas or Combinations of Include Parameters + # Tests around Multiple Structured Areas in one Request are tested in the MultipleRequests Feature -########################################## -#Search For Documents Tests -########################################## + ########################################## + #Search For Documents Tests + ########################################## -Scenario: Search for Documents on a Patient with Documents - Given I configure the default "DocumentsPatientSearch" request + Scenario: Search for Documents on a Patient with Documents + Given I configure the default "DocumentsPatientSearch" request And I add a Patient Identifier parameter with default System and Value "patient2" When I make the "DocumentsPatientSearch" request Then the response status code should indicate success Given I store the Patient - Given I configure the default "DocumentsSearch" request + Given I configure the default "DocumentsSearch" request And I set the required parameters for a Documents Search call - When I make the "DocumentsSearch" request + When I make the "DocumentsSearch" request Then the response status code should indicate success And the response should be a Bundle resource of type "searchset" And The Bundle id should match the SSPTraceID @@ -24,213 +24,193 @@ Scenario: Search for Documents on a Patient with Documents And I Check the returned DocumentReference Do Not Include Not In Use Fields -#This test will fail against the demonstrator. Till the demonstraor is updates -@1.5.0-IncrementalAndRegression -Scenario: Search for Documents on a Patient with Documents Over 5MB - Given I configure the default "DocumentsPatientSearch" request + #This test will fail against the demonstrator. Till the demonstraor is updates + @1.5.0-IncrementalAndRegression + Scenario: Search for Documents on a Patient with Documents Over 5MB + Given I configure the default "DocumentsPatientSearch" request And I add a Patient Identifier parameter with default System and Value "patient4" When I make the "DocumentsPatientSearch" request Then the response status code should indicate success Given I store the Patient - Given I configure the default "DocumentsSearch" request + Given I configure the default "DocumentsSearch" request And I set the required parameters for a Documents Search call - When I make the "DocumentsSearch" request + When I make the "DocumentsSearch" request Then the response status code should indicate success And the response should be a Bundle resource of type "searchset" And The Bundle id should match the SSPTraceID And I Check the returned DocumentReference is Valid And I Check the returned DocumentReference Content Doesnot Contain URL for over 5MB Attachment -Scenario: Search for Documents on a Patient with NO Documents - Given I configure the default "DocumentsPatientSearch" request + Scenario: Search for Documents on a Patient with NO Documents + Given I configure the default "DocumentsPatientSearch" request And I add a Patient Identifier parameter with default System and Value "patient3" When I make the "DocumentsPatientSearch" request Then the response status code should indicate success Given I store the Patient - Given I configure the default "DocumentsSearch" request + Given I configure the default "DocumentsSearch" request And I set the required parameters for a Documents Search call - When I make the "DocumentsSearch" request + When I make the "DocumentsSearch" request Then the response status code should indicate success And the response should be a Bundle resource of type "searchset" And The Bundle id should match the SSPTraceID And The Bundle should contain NO Documents - -Scenario: Search for Documents without Mandatory include Params expect fail - Given I configure the default "DocumentsPatientSearch" request + + Scenario: Search for Documents without Mandatory include Params expect fail + Given I configure the default "DocumentsPatientSearch" request And I add a Patient Identifier parameter with default System and Value "patient2" When I make the "DocumentsPatientSearch" request Then the response status code should indicate success Given I store the Patient - Given I configure the default "DocumentsSearch" request - When I make the "DocumentsSearch" request + Given I configure the default "DocumentsSearch" request + When I make the "DocumentsSearch" request Then the response status code should be "422" And the response should be a OperationOutcome resource with error code "INVALID_PARAMETER" -Scenario: Search for Documents using author parameter - Given I configure the default "DocumentsPatientSearch" request + Scenario: Search for Documents using author parameter + Given I configure the default "DocumentsPatientSearch" request And I add a Patient Identifier parameter with default System and Value "patient2" When I make the "DocumentsPatientSearch" request Then the response status code should indicate success Given I store the Patient - Given I configure the default "DocumentsSearch" request + Given I configure the default "DocumentsSearch" request And I set the required parameters for a Documents Search call And I set the author parameters for a Documents Search call to "ORG1" - When I make the "DocumentsSearch" request + When I make the "DocumentsSearch" request Then the response status code should indicate success And the response should be a Bundle resource of type "searchset" And The Bundle id should match the SSPTraceID And I Check the returned DocumentReference is Valid And I Check the returned DocumentReference Do Not Include Not In Use Fields -Scenario: Search for Documents using author parameter but with invalid identifier - Given I configure the default "DocumentsPatientSearch" request + Scenario: Search for Documents using author parameter but with invalid identifier + Given I configure the default "DocumentsPatientSearch" request And I add a Patient Identifier parameter with default System and Value "patient2" When I make the "DocumentsPatientSearch" request Then the response status code should indicate success Given I store the Patient - Given I configure the default "DocumentsSearch" request + Given I configure the default "DocumentsSearch" request And I set the required parameters for a Documents Search call And I set the author parameters with an invalid identifier for a Documents Search call to "ORG1" - When I make the "DocumentsSearch" request + When I make the "DocumentsSearch" request Then the response status code should be "422" And the response should be a OperationOutcome resource with error code "INVALID_PARAMETER" -Scenario: Search for Patient Documents created within a last 365 days - Given I configure the default "DocumentsPatientSearch" request + Scenario: Search for Patient Documents created within a last 365 days + Given I configure the default "DocumentsPatientSearch" request And I add a Patient Identifier parameter with default System and Value "patient2" When I make the "DocumentsPatientSearch" request Then the response status code should indicate success Given I store the Patient - Given I configure the default "DocumentsSearch" request + Given I configure the default "DocumentsSearch" request And I set the required parameters for a Documents Search call Then I set the documents search parameters le to today and ge to 365 days ago - When I make the "DocumentsSearch" request + When I make the "DocumentsSearch" request Then the response status code should indicate success And the response should be a Bundle resource of type "searchset" And The Bundle id should match the SSPTraceID -Scenario Outline: Search for Patient Documents created less than a date - Given I configure the default "DocumentsPatientSearch" request + Scenario Outline: Search for Patient Documents created less than a date + Given I configure the default "DocumentsPatientSearch" request And I add a Patient Identifier parameter with default System and Value "patient2" When I make the "DocumentsPatientSearch" request Then the response status code should indicate success Given I store the Patient - Given I configure the default "DocumentsSearch" request - And I set the required parameters for a Documents Search call + Given I configure the default "DocumentsSearch" request + And I set the required parameters for a Documents Search call Then I set the created search parameter to less than "" days ago - When I make the "DocumentsSearch" request + When I make the "DocumentsSearch" request Then the response status code should indicate success And the response should be a Bundle resource of type "searchset" And The Bundle id should match the SSPTraceID -Examples: - | Days | - | 2 | + Examples: + | Days | + | 2 | -Scenario Outline: Search for Patient Documents created greater than a date - Given I configure the default "DocumentsPatientSearch" request + Scenario Outline: Search for Patient Documents created greater than a date + Given I configure the default "DocumentsPatientSearch" request And I add a Patient Identifier parameter with default System and Value "patient2" When I make the "DocumentsPatientSearch" request Then the response status code should indicate success Given I store the Patient - Given I configure the default "DocumentsSearch" request - And I set the required parameters for a Documents Search call + Given I configure the default "DocumentsSearch" request + And I set the required parameters for a Documents Search call Then I set the created search parameter to greater than "" days ago - When I make the "DocumentsSearch" request + When I make the "DocumentsSearch" request Then the response status code should indicate success And the response should be a Bundle resource of type "searchset" And The Bundle id should match the SSPTraceID -Examples: - | Days | - | 365 | + Examples: + | Days | + | 365 | -Scenario: Search for Documents with an invalid parameter - Given I configure the default "DocumentsPatientSearch" request + Scenario: Search for Documents with an invalid parameter + Given I configure the default "DocumentsPatientSearch" request And I add a Patient Identifier parameter with default System and Value "patient2" When I make the "DocumentsPatientSearch" request Then the response status code should indicate success Given I store the Patient - Given I configure the default "DocumentsSearch" request + Given I configure the default "DocumentsSearch" request And I set the required parameters for a Documents Search call And I set an invalid parameter for a Documents Search call - When I make the "DocumentsSearch" request + When I make the "DocumentsSearch" request Then the response status code should be "422" And the response should be a OperationOutcome resource with error code "INVALID_PARAMETER" - -Scenario: Search for Documents on a Patient that doesnt exist - Given I configure the default "DocumentsSearch" request + + Scenario: Search for Documents on a Patient that doesnt exist + Given I configure the default "DocumentsSearch" request And I set the required parameters for a Documents Search call And I change the patient logical id to a non existent id - When I make the "DocumentsSearch" request + When I make the "DocumentsSearch" request Then the response status code should be "404" And the response should be a OperationOutcome resource with error code "PATIENT_NOT_FOUND" -Scenario: Search for Documents on a patient which exists on the system as a temporary patient - Given I get the next Patient to register and store it - Given I configure the default "RegisterPatient" request + Scenario: Search for Documents on a patient which exists on the system as a temporary patient + Given I get the next Patient to register and store it + Given I configure the default "RegisterPatient" request And I add the Stored Patient as a parameter - When I make the "RegisterPatient" request - Then the response status code should indicate success + When I make the "RegisterPatient" request + Then the response status code should indicate success And the response should be a Bundle resource of type "searchset" And the response bundle should contain a single Patient resource - Given I store the Patient - Given I configure the default "DocumentsSearch" request + Given I store the Patient + Given I configure the default "DocumentsSearch" request And I set the required parameters for a Documents Search call - When I make the "DocumentsSearch" request - Then the response status code should be "404" + When I make the "DocumentsSearch" request + Then the response status code should be "404" And the response should be a OperationOutcome resource with error code "PATIENT_NOT_FOUND" - -########################################## -#Retrieve Documents Tests -########################################## - -Scenario: Retrieve a Document for Patient2 - Given I configure the default "DocumentsPatientSearch" request + + ########################################## + #Retrieve Documents Tests + ########################################## + + Scenario: Retrieve a Document for Patient2 + Given I configure the default "DocumentsPatientSearch" request And I add a Patient Identifier parameter with default System and Value "patient2" When I make the "DocumentsPatientSearch" request Then the response status code should indicate success Given I store the Patient - Given I configure the default "DocumentsSearch" request + Given I configure the default "DocumentsSearch" request And I set the required parameters for a Documents Search call - When I make the "DocumentsSearch" request + When I make the "DocumentsSearch" request Then the response status code should indicate success And the response should be a Bundle resource of type "searchset" And I save a document url for retrieving later - Given I configure the default "DocumentsRetrieve" request + Given I configure the default "DocumentsRetrieve" request When I make the "DocumentsRetrieve" request Then the response status code should indicate success And I save the binary document from the retrieve And I Check the returned Binary Document is Valid And I Check the returned Binary Document Do Not Include Not In Use Fields -#Removed as URL should not be sent back for a doc over 5mb Test -#Scenario: Retrieve a Document Over 5mb for Patient4 expect Fail -# Given I configure the default "DocumentsPatientSearch" request -# And I add a Patient Identifier parameter with default System and Value "patient4" -# When I make the "DocumentsPatientSearch" request -# Then the response status code should indicate success -# Given I store the Patient -# Given I configure the default "DocumentsSearch" request -# And I set the required parameters for a Documents Search call -# When I make the "DocumentsSearch" request -# Then the response status code should indicate success -# And the response should be a Bundle resource of type "searchset" -# And I save a document url for retrieving later -# Given I configure the default "DocumentsRetrieve" request -# When I make the "DocumentsRetrieve" request -# Then the response status code should be "404" -# And the response should be a OperationOutcome resource with error code "NO_RECORD_FOUND" -# And I clear the saved document url - - -########################################## -#Documents Search/Find Patients Tests -########################################## - -Scenario Outline: Documents Patient Search and check response conforms with the GPConnect specification - Given I configure the default "DocumentsPatientSearch" request + ########################################## + #Documents Search/Find Patients Tests + ########################################## + + Scenario Outline: Documents Patient Search and check response conforms with the GPConnect specification + Given I configure the default "DocumentsPatientSearch" request And I add a Patient Identifier parameter with default System and Value "" - When I make the "DocumentsPatientSearch" request - Then the response status code should indicate success + When I make the "DocumentsPatientSearch" request + Then the response status code should indicate success And the response body should be FHIR JSON And the response should be a Bundle resource of type "searchset" And the response bundle should contain "1" entries @@ -251,225 +231,240 @@ Scenario Outline: Documents Patient Search and check response conforms with the And the Patient Link should be valid and resolvable And the Patient Contact Telecom use should be valid And the Patient Not In Use should be valid - Examples: - | Patient | - | patient1 | - | patient2 | - | patient3 | - | patient4 | - | patient5 | - | patient6 | - -Scenario: Documents Patient Search results should contain a logical identifier - Given I configure the default "DocumentsPatientSearch" request + Examples: + | Patient | + | patient1 | + | patient2 | + | patient3 | + | patient4 | + | patient5 | + | patient6 | + + Scenario Outline: Documents Patient Search with an invalid NHS number + Given I configure the default "DocumentsPatientSearch" request + And I add a Patient Identifier parameter with default System and Value "" + When I make the "DocumentsPatientSearch" request + Then the response status code should be "400" + And the response should be a OperationOutcome resource with error code "INVALID_NHS_NUMBER" + Examples: + | nhsNumber | + | 34555##4 | + | hello | + | 999999999 | + | 9000000008 | + | 90000000090 | + + + Scenario: Documents Patient Search results should contain a logical identifier + Given I configure the default "DocumentsPatientSearch" request And I add a Patient Identifier parameter with default System and Value "patient2" - When I make the "DocumentsPatientSearch" request - Then the response status code should indicate success + When I make the "DocumentsPatientSearch" request + Then the response status code should indicate success And the response should be a Bundle resource of type "searchset" And the response bundle should contain "1" entries And the Patient Id should be valid And the patient resource in the bundle should contain meta data profile and version id -Scenario: Documents Patient Search should return an error when no system is supplied in the identifier parameter - Given I configure the default "DocumentsPatientSearch" request + Scenario: Documents Patient Search should return an error when no system is supplied in the identifier parameter + Given I configure the default "DocumentsPatientSearch" request And I add a Patient Identifier parameter with no System and Value "patient1" - When I make the "DocumentsPatientSearch" request - Then the response status code should be "422" + When I make the "DocumentsPatientSearch" request + Then the response status code should be "422" And the response should be a OperationOutcome resource with error code "INVALID_PARAMETER" -Scenario: Documents Patient Search should return an error when a blank system is supplied in the identifier parameter - Given I configure the default "DocumentsPatientSearch" request + Scenario: Documents Patient Search should return an error when a blank system is supplied in the identifier parameter + Given I configure the default "DocumentsPatientSearch" request And I add a Patient Identifier parameter with System "" and Value "patient2" - When I make the "DocumentsPatientSearch" request - Then the response status code should be "422" + When I make the "DocumentsPatientSearch" request + Then the response status code should be "422" And the response should be a OperationOutcome resource with error code "INVALID_PARAMETER" -Scenario: Documents Patient Search When a patient is not found on the provider system an empty bundle should be returned - Given I configure the default "DocumentsPatientSearch" request + Scenario: Documents Patient Search When a patient is not found on the provider system an empty bundle should be returned + Given I configure the default "DocumentsPatientSearch" request And I add a Patient Identifier parameter with default System and Value "patientNotInSystem" - When I make the "DocumentsPatientSearch" request - Then the response status code should indicate success + When I make the "DocumentsPatientSearch" request + Then the response status code should indicate success And the response should be a Bundle resource of type "searchset" And the response bundle should contain "0" entries And The Bundle id should match the SSPTraceID -Scenario: Documents Patient Search should fail if no identifier parameter is include - Given I configure the default "DocumentsPatientSearch" request - When I make the "DocumentsPatientSearch" request - Then the response status code should be "400" + Scenario: Documents Patient Search should fail if no identifier parameter is include + Given I configure the default "DocumentsPatientSearch" request + When I make the "DocumentsPatientSearch" request + Then the response status code should be "400" And the response should be a OperationOutcome resource with error code "BAD_REQUEST" -Scenario: Documents Patient Search The identifier parameter should be rejected if the case is incorrect - Given I configure the default "DocumentsPatientSearch" request + Scenario: Documents Patient Search The identifier parameter should be rejected if the case is incorrect + Given I configure the default "DocumentsPatientSearch" request And I add a Patient Identifier parameter with identifier name "Identifier" default System and Value "patient2" - When I make the "DocumentsPatientSearch" request - Then the response status code should be "400" + When I make the "DocumentsPatientSearch" request + Then the response status code should be "400" And the response should be a OperationOutcome resource with error code "BAD_REQUEST" -Scenario: Documents Patient Search response should be an error if no value is sent in the identifier parameter - Given I configure the default "DocumentsPatientSearch" request + Scenario: Documents Patient Search response should be an error if no value is sent in the identifier parameter + Given I configure the default "DocumentsPatientSearch" request And I add the parameter "identifier" with the value "https://fhir.nhs.uk/Id/nhs-number|" - When I make the "DocumentsPatientSearch" request - Then the response status code should be "422" + When I make the "DocumentsPatientSearch" request + Then the response status code should be "422" And the response should be a OperationOutcome resource with error code "INVALID_PARAMETER" -Scenario Outline: The Documents Patient Search endpoint should accept the accept header - Given I configure the default "DocumentsPatientSearch" request + Scenario Outline: The Documents Patient Search endpoint should accept the accept header + Given I configure the default "DocumentsPatientSearch" request And I set the Accept header to "" And I add a Patient Identifier parameter with default System and Value "patient2" - When I make the "DocumentsPatientSearch" request - Then the response status code should indicate success + When I make the "DocumentsPatientSearch" request + Then the response status code should indicate success And the response body should be FHIR And the response should be a Bundle resource of type "searchset" And the response bundle should contain "1" entries And the Patient Id should be valid And the Patient Identifiers should be valid for Patient "patient2" - Examples: - | AcceptHeader | ResultFormat | - | application/fhir+xml | XML | - | application/fhir+json | JSON | + Examples: + | AcceptHeader | ResultFormat | + | application/fhir+xml | XML | + | application/fhir+json | JSON | -Scenario Outline: The Documents patient search endpoint should accept the format parameter - Given I configure the default "DocumentsPatientSearch" request + Scenario Outline: The Documents patient search endpoint should accept the format parameter + Given I configure the default "DocumentsPatientSearch" request And I add the parameter "_format" with the value "" And I add a Patient Identifier parameter with default System and Value "patient2" - When I make the "DocumentsPatientSearch" request - Then the response status code should indicate success + When I make the "DocumentsPatientSearch" request + Then the response status code should indicate success And the response body should be FHIR And the response should be a Bundle resource of type "searchset" And the response bundle should contain "1" entries And the Patient Id should be valid And the Patient Identifiers should be valid for Patient "patient2" - Examples: - | FormatParam | ResultFormat | - | application/fhir+xml | XML | - | application/fhir+json | JSON | + Examples: + | FormatParam | ResultFormat | + | application/fhir+xml | XML | + | application/fhir+json | JSON | -Scenario Outline: The Documents patient search endpoint should accept the format parameter after the identifier parameter - Given I configure the default "DocumentsPatientSearch" request + Scenario Outline: The Documents patient search endpoint should accept the format parameter after the identifier parameter + Given I configure the default "DocumentsPatientSearch" request And I set the Accept header to "" And I add a Patient Identifier parameter with default System and Value "patient2" And I add the parameter "_format" with the value "" - When I make the "DocumentsPatientSearch" request - Then the response status code should indicate success + When I make the "DocumentsPatientSearch" request + Then the response status code should indicate success And the response body should be FHIR And the response should be a Bundle resource of type "searchset" And the response bundle should contain "1" entries And the Patient Id should be valid And the Patient Identifiers should be valid for Patient "patient2" - Examples: - | AcceptHeader | FormatParam | ResultFormat | - | application/fhir+xml | application/fhir+xml | XML | - | application/fhir+json | application/fhir+xml | XML | - | application/fhir+json | application/fhir+json | JSON | - | application/fhir+xml | application/fhir+json | JSON | - -Scenario Outline: The Documents Patient search endpoint should accept the format parameter before the identifier parameter - Given I configure the default "DocumentsPatientSearch" request + Examples: + | AcceptHeader | FormatParam | ResultFormat | + | application/fhir+xml | application/fhir+xml | XML | + | application/fhir+json | application/fhir+xml | XML | + | application/fhir+json | application/fhir+json | JSON | + | application/fhir+xml | application/fhir+json | JSON | + + Scenario Outline: The Documents Patient search endpoint should accept the format parameter before the identifier parameter + Given I configure the default "DocumentsPatientSearch" request And I set the Accept header to "" And I add the parameter "_format" with the value "" And I add a Patient Identifier parameter with default System and Value "patient2" - When I make the "DocumentsPatientSearch" request - Then the response status code should indicate success + When I make the "DocumentsPatientSearch" request + Then the response status code should indicate success And the response body should be FHIR And the response should be a Bundle resource of type "searchset" And the response bundle should contain "1" entries And the Patient Id should be valid And the Patient Identifiers should be valid for Patient "patient2" - Examples: - | AcceptHeader | FormatParam | ResultFormat | - | application/fhir+xml | application/fhir+xml | XML | - | application/fhir+json | application/fhir+xml | XML | - | application/fhir+json | application/fhir+json | JSON | - | application/fhir+xml | application/fhir+json | JSON | - -Scenario Outline: Documents Patient Search resource should contain NHS number identifier returned as XML - Given I configure the default "DocumentsPatientSearch" request + Examples: + | AcceptHeader | FormatParam | ResultFormat | + | application/fhir+xml | application/fhir+xml | XML | + | application/fhir+json | application/fhir+xml | XML | + | application/fhir+json | application/fhir+json | JSON | + | application/fhir+xml | application/fhir+json | JSON | + + Scenario Outline: Documents Patient Search resource should contain NHS number identifier returned as XML + Given I configure the default "DocumentsPatientSearch" request And I set the Accept header to "application/fhir+xml" And I add a Patient Identifier parameter with default System and Value "" - When I make the "DocumentsPatientSearch" request - Then the response status code should indicate success + When I make the "DocumentsPatientSearch" request + Then the response status code should indicate success And the response body should be FHIR XML And the response should be a Bundle resource of type "searchset" And the response bundle should contain "1" entries And the Patient Identifiers should be valid for Patient "" - Examples: - | Patient | - | patient1 | - | patient2 | - | patient3 | - -Scenario: Documents Patient search response does not return deceased patient - Given I configure the default "DocumentsPatientSearch" request + Examples: + | Patient | + | patient1 | + | patient2 | + | patient3 | + + Scenario: Documents Patient search response does not return deceased patient + Given I configure the default "DocumentsPatientSearch" request And I add a Patient Identifier parameter with default System and Value "patient18" - When I make the "DocumentsPatientSearch" request - Then the response status code should indicate success - And the response body should be FHIR JSON - And the response should be a Bundle resource of type "searchset" - And the response bundle should contain "0" entries - And The Bundle id should match the SSPTraceID - -Scenario Outline: Documents Patient search should error if multiple parameters valid or invalid are sent - Given I configure the default "DocumentsPatientSearch" request + When I make the "DocumentsPatientSearch" request + Then the response status code should indicate success + And the response body should be FHIR JSON + And the response should be a Bundle resource of type "searchset" + And the response bundle should contain "0" entries + And The Bundle id should match the SSPTraceID + + Scenario Outline: Documents Patient search should error if multiple parameters valid or invalid are sent + Given I configure the default "DocumentsPatientSearch" request And I add a Patient Identifier parameter with identifier name "" default System and Value "" And I add a Patient Identifier parameter with identifier name "" default System and Value "" - When I make the "DocumentsPatientSearch" request - Then the response status code should be "400" + When I make the "DocumentsPatientSearch" request + Then the response status code should be "400" And the response should be a OperationOutcome resource with error code "BAD_REQUEST" - Examples: - | Identifier1 | PatientOne | Identifier2 | PatientTwo | - | identifier | patient2 | identifier | patient2 | - | identifier | patient1 | identifier | patient2 | - | identifier | patient2 | identifier | patient1 | - -Scenario: Documents Patient search valid response check caching headers exist - Given I configure the default "DocumentsPatientSearch" request + Examples: + | Identifier1 | PatientOne | Identifier2 | PatientTwo | + | identifier | patient2 | identifier | patient2 | + | identifier | patient1 | identifier | patient2 | + | identifier | patient2 | identifier | patient1 | + + Scenario: Documents Patient search valid response check caching headers exist + Given I configure the default "DocumentsPatientSearch" request And I add a Patient Identifier parameter with default System and Value "patient2" - When I make the "DocumentsPatientSearch" request - Then the response status code should indicate success + When I make the "DocumentsPatientSearch" request + Then the response status code should indicate success And the response should be a Bundle resource of type "searchset" And the response bundle should contain "1" entries And the Patient Id should be valid And the required cacheing headers should be present in the response -Scenario: Documents Patient search invalid response check caching headers exist -Given I configure the default "DocumentsPatientSearch" request + Scenario: Documents Patient search invalid response check caching headers exist + Given I configure the default "DocumentsPatientSearch" request And I add a Patient Identifier parameter with identifier name "Identifier" default System and Value "patient2" - When I make the "DocumentsPatientSearch" request - Then the response status code should be "400" + When I make the "DocumentsPatientSearch" request + Then the response status code should be "400" And the response should be a OperationOutcome resource with error code "BAD_REQUEST" And the required cacheing headers should be present in the response -Scenario: Documents Patient search should contain a preferred branch - Given I configure the default "DocumentsPatientSearch" request + Scenario: Documents Patient search should contain a preferred branch + Given I configure the default "DocumentsPatientSearch" request And I add a Patient Identifier parameter with default System and Value "patient2" - When I make the "DocumentsPatientSearch" request - Then the response status code should indicate success + When I make the "DocumentsPatientSearch" request + Then the response status code should indicate success And the response should be a Bundle resource of type "searchset" And the response bundle should contain "1" entries And the Patient RegistrationDetails should include preferredBranchSurgery -Scenario: Documents Patient search for a patient with a sensitive flag should return no results - Given I configure the default "DocumentsPatientSearch" request + Scenario: Documents Patient search for a patient with a sensitive flag should return no results + Given I configure the default "DocumentsPatientSearch" request And I add a Patient Identifier parameter with default System and Value "patient9" - When I make the "DocumentsPatientSearch" request - Then the response status code should indicate success + When I make the "DocumentsPatientSearch" request + Then the response status code should indicate success And the response should be a Bundle resource of type "searchset" And the response bundle should contain "0" entries -Scenario: Documents Patient search for a patient with a inactive flag should return no results - Given I configure the default "DocumentsPatientSearch" request + Scenario: Documents Patient search for a patient with a inactive flag should return no results + Given I configure the default "DocumentsPatientSearch" request And I add a Patient Identifier parameter with default System and Value "patient21" - When I make the "DocumentsPatientSearch" request - Then the response status code should indicate success + When I make the "DocumentsPatientSearch" request + Then the response status code should indicate success And the response should be a Bundle resource of type "searchset" And the response bundle should contain "0" entries -Scenario: Documents Patient search for a No Consent Patient search gets a valid response - Given I configure the default "DocumentsPatientSearch" request + Scenario: Documents Patient search for a No Consent Patient search gets a valid response + Given I configure the default "DocumentsPatientSearch" request And I add a Patient Identifier parameter with default System and Value "patient15" - When I make the "DocumentsPatientSearch" request - Then the response status code should indicate success + When I make the "DocumentsPatientSearch" request + Then the response status code should indicate success And the response should be a Bundle resource of type "searchset" And the response bundle should contain "1" entries And the Patient Id should be valid diff --git a/GPConnect.Provider.AcceptanceTests/StructuredDocuments.feature.cs b/GPConnect.Provider.AcceptanceTests/StructuredDocuments.feature.cs index 758c595c..b1e834c0 100644 --- a/GPConnect.Provider.AcceptanceTests/StructuredDocuments.feature.cs +++ b/GPConnect.Provider.AcceptanceTests/StructuredDocuments.feature.cs @@ -89,7 +89,7 @@ public void SearchForDocumentsOnAPatientWithDocuments() System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Search for Documents on a Patient with Documents", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 11 -this.ScenarioInitialize(scenarioInfo); + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -99,7 +99,7 @@ public void SearchForDocumentsOnAPatientWithDocuments() { this.ScenarioStart(); #line 12 - testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); + testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden #line 13 testRunner.And("I add a Patient Identifier parameter with default System and Value \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); @@ -114,13 +114,13 @@ public void SearchForDocumentsOnAPatientWithDocuments() testRunner.Given("I store the Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden #line 17 - testRunner.Given("I configure the default \"DocumentsSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); + testRunner.Given("I configure the default \"DocumentsSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden #line 18 testRunner.And("I set the required parameters for a Documents Search call", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 19 - testRunner.When("I make the \"DocumentsSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); + testRunner.When("I make the \"DocumentsSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden #line 20 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); @@ -151,7 +151,7 @@ public void SearchForDocumentsOnAPatientWithDocumentsOver5MB() System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Search for Documents on a Patient with Documents Over 5MB", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 29 -this.ScenarioInitialize(scenarioInfo); + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -161,7 +161,7 @@ public void SearchForDocumentsOnAPatientWithDocumentsOver5MB() { this.ScenarioStart(); #line 30 - testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); + testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden #line 31 testRunner.And("I add a Patient Identifier parameter with default System and Value \"patient4\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); @@ -176,13 +176,13 @@ public void SearchForDocumentsOnAPatientWithDocumentsOver5MB() testRunner.Given("I store the Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden #line 35 - testRunner.Given("I configure the default \"DocumentsSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); + testRunner.Given("I configure the default \"DocumentsSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden #line 36 testRunner.And("I set the required parameters for a Documents Search call", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 37 - testRunner.When("I make the \"DocumentsSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); + testRunner.When("I make the \"DocumentsSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden #line 38 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); @@ -212,7 +212,7 @@ public void SearchForDocumentsOnAPatientWithNODocuments() System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Search for Documents on a Patient with NO Documents", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 44 -this.ScenarioInitialize(scenarioInfo); + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -222,7 +222,7 @@ public void SearchForDocumentsOnAPatientWithNODocuments() { this.ScenarioStart(); #line 45 - testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); + testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden #line 46 testRunner.And("I add a Patient Identifier parameter with default System and Value \"patient3\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); @@ -237,13 +237,13 @@ public void SearchForDocumentsOnAPatientWithNODocuments() testRunner.Given("I store the Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden #line 50 - testRunner.Given("I configure the default \"DocumentsSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); + testRunner.Given("I configure the default \"DocumentsSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden #line 51 testRunner.And("I set the required parameters for a Documents Search call", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 52 - testRunner.When("I make the \"DocumentsSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); + testRunner.When("I make the \"DocumentsSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden #line 53 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); @@ -269,7 +269,7 @@ public void SearchForDocumentsWithoutMandatoryIncludeParamsExpectFail() System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Search for Documents without Mandatory include Params expect fail", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 58 -this.ScenarioInitialize(scenarioInfo); + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -279,7 +279,7 @@ public void SearchForDocumentsWithoutMandatoryIncludeParamsExpectFail() { this.ScenarioStart(); #line 59 - testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); + testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden #line 60 testRunner.And("I add a Patient Identifier parameter with default System and Value \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); @@ -294,10 +294,10 @@ public void SearchForDocumentsWithoutMandatoryIncludeParamsExpectFail() testRunner.Given("I store the Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden #line 64 - testRunner.Given("I configure the default \"DocumentsSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); + testRunner.Given("I configure the default \"DocumentsSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden #line 65 - testRunner.When("I make the \"DocumentsSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); + testRunner.When("I make the \"DocumentsSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden #line 66 testRunner.Then("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); @@ -318,7 +318,7 @@ public void SearchForDocumentsUsingAuthorParameter() System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Search for Documents using author parameter", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 69 -this.ScenarioInitialize(scenarioInfo); + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -328,7 +328,7 @@ public void SearchForDocumentsUsingAuthorParameter() { this.ScenarioStart(); #line 70 - testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); + testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden #line 71 testRunner.And("I add a Patient Identifier parameter with default System and Value \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); @@ -343,7 +343,7 @@ public void SearchForDocumentsUsingAuthorParameter() testRunner.Given("I store the Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden #line 75 - testRunner.Given("I configure the default \"DocumentsSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); + testRunner.Given("I configure the default \"DocumentsSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden #line 76 testRunner.And("I set the required parameters for a Documents Search call", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); @@ -352,7 +352,7 @@ public void SearchForDocumentsUsingAuthorParameter() testRunner.And("I set the author parameters for a Documents Search call to \"ORG1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 78 - testRunner.When("I make the \"DocumentsSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); + testRunner.When("I make the \"DocumentsSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden #line 79 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); @@ -381,7 +381,7 @@ public void SearchForDocumentsUsingAuthorParameterButWithInvalidIdentifier() System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Search for Documents using author parameter but with invalid identifier", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 85 -this.ScenarioInitialize(scenarioInfo); + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -391,7 +391,7 @@ public void SearchForDocumentsUsingAuthorParameterButWithInvalidIdentifier() { this.ScenarioStart(); #line 86 - testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); + testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden #line 87 testRunner.And("I add a Patient Identifier parameter with default System and Value \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); @@ -406,7 +406,7 @@ public void SearchForDocumentsUsingAuthorParameterButWithInvalidIdentifier() testRunner.Given("I store the Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden #line 91 - testRunner.Given("I configure the default \"DocumentsSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); + testRunner.Given("I configure the default \"DocumentsSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden #line 92 testRunner.And("I set the required parameters for a Documents Search call", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); @@ -416,7 +416,7 @@ public void SearchForDocumentsUsingAuthorParameterButWithInvalidIdentifier() "l to \"ORG1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 94 - testRunner.When("I make the \"DocumentsSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); + testRunner.When("I make the \"DocumentsSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden #line 95 testRunner.Then("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); @@ -437,7 +437,7 @@ public void SearchForPatientDocumentsCreatedWithinALast365Days() System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Search for Patient Documents created within a last 365 days", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 98 -this.ScenarioInitialize(scenarioInfo); + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -447,7 +447,7 @@ public void SearchForPatientDocumentsCreatedWithinALast365Days() { this.ScenarioStart(); #line 99 - testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); + testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden #line 100 testRunner.And("I add a Patient Identifier parameter with default System and Value \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); @@ -462,7 +462,7 @@ public void SearchForPatientDocumentsCreatedWithinALast365Days() testRunner.Given("I store the Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden #line 104 - testRunner.Given("I configure the default \"DocumentsSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); + testRunner.Given("I configure the default \"DocumentsSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden #line 105 testRunner.And("I set the required parameters for a Documents Search call", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); @@ -471,7 +471,7 @@ public void SearchForPatientDocumentsCreatedWithinALast365Days() testRunner.Then("I set the documents search parameters le to today and ge to 365 days ago", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden #line 107 - testRunner.When("I make the \"DocumentsSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); + testRunner.When("I make the \"DocumentsSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden #line 108 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); @@ -496,7 +496,7 @@ public void SearchForPatientDocumentsCreatedLessThanADate(string days, string[] argumentsOfScenario.Add("Days", days); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Search for Patient Documents created less than a date", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 112 -this.ScenarioInitialize(scenarioInfo); + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -506,7 +506,7 @@ public void SearchForPatientDocumentsCreatedLessThanADate(string days, string[] { this.ScenarioStart(); #line 113 - testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); + testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden #line 114 testRunner.And("I add a Patient Identifier parameter with default System and Value \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); @@ -521,7 +521,7 @@ public void SearchForPatientDocumentsCreatedLessThanADate(string days, string[] testRunner.Given("I store the Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden #line 118 - testRunner.Given("I configure the default \"DocumentsSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); + testRunner.Given("I configure the default \"DocumentsSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden #line 119 testRunner.And("I set the required parameters for a Documents Search call", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); @@ -530,7 +530,7 @@ public void SearchForPatientDocumentsCreatedLessThanADate(string days, string[] testRunner.Then(string.Format("I set the created search parameter to less than \"{0}\" days ago", days), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden #line 121 - testRunner.When("I make the \"DocumentsSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); + testRunner.When("I make the \"DocumentsSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden #line 122 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); @@ -555,7 +555,7 @@ public void SearchForPatientDocumentsCreatedGreaterThanADate(string days, string argumentsOfScenario.Add("Days", days); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Search for Patient Documents created greater than a date", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 129 -this.ScenarioInitialize(scenarioInfo); + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -565,7 +565,7 @@ public void SearchForPatientDocumentsCreatedGreaterThanADate(string days, string { this.ScenarioStart(); #line 130 - testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); + testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden #line 131 testRunner.And("I add a Patient Identifier parameter with default System and Value \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); @@ -580,7 +580,7 @@ public void SearchForPatientDocumentsCreatedGreaterThanADate(string days, string testRunner.Given("I store the Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden #line 135 - testRunner.Given("I configure the default \"DocumentsSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); + testRunner.Given("I configure the default \"DocumentsSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden #line 136 testRunner.And("I set the required parameters for a Documents Search call", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); @@ -589,7 +589,7 @@ public void SearchForPatientDocumentsCreatedGreaterThanADate(string days, string testRunner.Then(string.Format("I set the created search parameter to greater than \"{0}\" days ago", days), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden #line 138 - testRunner.When("I make the \"DocumentsSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); + testRunner.When("I make the \"DocumentsSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden #line 139 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); @@ -612,7 +612,7 @@ public void SearchForDocumentsWithAnInvalidParameter() System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Search for Documents with an invalid parameter", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 146 -this.ScenarioInitialize(scenarioInfo); + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -622,7 +622,7 @@ public void SearchForDocumentsWithAnInvalidParameter() { this.ScenarioStart(); #line 147 - testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); + testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden #line 148 testRunner.And("I add a Patient Identifier parameter with default System and Value \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); @@ -637,7 +637,7 @@ public void SearchForDocumentsWithAnInvalidParameter() testRunner.Given("I store the Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden #line 152 - testRunner.Given("I configure the default \"DocumentsSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); + testRunner.Given("I configure the default \"DocumentsSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden #line 153 testRunner.And("I set the required parameters for a Documents Search call", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); @@ -646,7 +646,7 @@ public void SearchForDocumentsWithAnInvalidParameter() testRunner.And("I set an invalid parameter for a Documents Search call", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 155 - testRunner.When("I make the \"DocumentsSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); + testRunner.When("I make the \"DocumentsSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden #line 156 testRunner.Then("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); @@ -667,7 +667,7 @@ public void SearchForDocumentsOnAPatientThatDoesntExist() System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Search for Documents on a Patient that doesnt exist", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 159 -this.ScenarioInitialize(scenarioInfo); + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -677,7 +677,7 @@ public void SearchForDocumentsOnAPatientThatDoesntExist() { this.ScenarioStart(); #line 160 - testRunner.Given("I configure the default \"DocumentsSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); + testRunner.Given("I configure the default \"DocumentsSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden #line 161 testRunner.And("I set the required parameters for a Documents Search call", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); @@ -686,7 +686,7 @@ public void SearchForDocumentsOnAPatientThatDoesntExist() testRunner.And("I change the patient logical id to a non existent id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 163 - testRunner.When("I make the \"DocumentsSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); + testRunner.When("I make the \"DocumentsSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden #line 164 testRunner.Then("the response status code should be \"404\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); @@ -709,7 +709,7 @@ public void SearchForDocumentsOnAPatientWhichExistsOnTheSystemAsATemporaryPatien TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Search for Documents on a patient which exists on the system as a temporary patie" + "nt", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 167 -this.ScenarioInitialize(scenarioInfo); + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -719,19 +719,19 @@ public void SearchForDocumentsOnAPatientWhichExistsOnTheSystemAsATemporaryPatien { this.ScenarioStart(); #line 168 - testRunner.Given("I get the next Patient to register and store it", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); + testRunner.Given("I get the next Patient to register and store it", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden #line 169 - testRunner.Given("I configure the default \"RegisterPatient\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); + testRunner.Given("I configure the default \"RegisterPatient\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden #line 170 testRunner.And("I add the Stored Patient as a parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 171 - testRunner.When("I make the \"RegisterPatient\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); + testRunner.When("I make the \"RegisterPatient\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden #line 172 - testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); + testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden #line 173 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); @@ -740,19 +740,19 @@ public void SearchForDocumentsOnAPatientWhichExistsOnTheSystemAsATemporaryPatien testRunner.And("the response bundle should contain a single Patient resource", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 175 - testRunner.Given("I store the Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); + testRunner.Given("I store the Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden #line 176 - testRunner.Given("I configure the default \"DocumentsSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); + testRunner.Given("I configure the default \"DocumentsSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden #line 177 testRunner.And("I set the required parameters for a Documents Search call", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 178 - testRunner.When("I make the \"DocumentsSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); + testRunner.When("I make the \"DocumentsSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden #line 179 - testRunner.Then("the response status code should be \"404\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); + testRunner.Then("the response status code should be \"404\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden #line 180 testRunner.And("the response should be a OperationOutcome resource with error code \"PATIENT_NOT_F" + @@ -770,7 +770,7 @@ public void RetrieveADocumentForPatient2() System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve a Document for Patient2", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 186 -this.ScenarioInitialize(scenarioInfo); + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -780,7 +780,7 @@ public void RetrieveADocumentForPatient2() { this.ScenarioStart(); #line 187 - testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); + testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden #line 188 testRunner.And("I add a Patient Identifier parameter with default System and Value \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); @@ -795,13 +795,13 @@ public void RetrieveADocumentForPatient2() testRunner.Given("I store the Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden #line 192 - testRunner.Given("I configure the default \"DocumentsSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); + testRunner.Given("I configure the default \"DocumentsSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden #line 193 testRunner.And("I set the required parameters for a Documents Search call", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 194 - testRunner.When("I make the \"DocumentsSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); + testRunner.When("I make the \"DocumentsSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden #line 195 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); @@ -813,7 +813,7 @@ public void RetrieveADocumentForPatient2() testRunner.And("I save a document url for retrieving later", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 198 - testRunner.Given("I configure the default \"DocumentsRetrieve\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); + testRunner.Given("I configure the default \"DocumentsRetrieve\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden #line 199 testRunner.When("I make the \"DocumentsRetrieve\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); @@ -850,8 +850,8 @@ public void DocumentsPatientSearchAndCheckResponseConformsWithTheGPConnectSpecif argumentsOfScenario.Add("Patient", patient); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Documents Patient Search and check response conforms with the GPConnect specifica" + "tion", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 229 -this.ScenarioInitialize(scenarioInfo); +#line 209 + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -860,82 +860,125 @@ public void DocumentsPatientSearchAndCheckResponseConformsWithTheGPConnectSpecif else { this.ScenarioStart(); -#line 230 - testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 210 + testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 231 +#line 211 testRunner.And(string.Format("I add a Patient Identifier parameter with default System and Value \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 232 - testRunner.When("I make the \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 212 + testRunner.When("I make the \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 233 - testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line 213 + testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 234 +#line 214 testRunner.And("the response body should be FHIR JSON", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 235 +#line 215 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 236 +#line 216 testRunner.And("the response bundle should contain \"1\" entries", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 237 +#line 217 testRunner.And("The Bundle id should match the SSPTraceID", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 238 +#line 218 testRunner.And("the Patient Name should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 239 +#line 219 testRunner.And("the Patient Gender should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 240 +#line 220 testRunner.And("the Patient DOB should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 241 +#line 221 testRunner.And("the Patient Use should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 242 +#line 222 testRunner.And("the Patient Communication should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 243 +#line 223 testRunner.And("the Patient Contact should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 244 +#line 224 testRunner.And("the Patient MultipleBirth should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 245 +#line 225 testRunner.And("the Patient MaritalStatus should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 246 +#line 226 testRunner.And("the Patient Deceased should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 247 +#line 227 testRunner.And("the Patient Telecom should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 248 +#line 228 testRunner.And("the Patient ManagingOrganization Should be Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 249 +#line 229 testRunner.And("the Patient GeneralPractitioner Practitioner should be valid and resolvable", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 250 +#line 230 testRunner.And("the Patient should exclude disallowed fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 251 +#line 231 testRunner.And("the Patient Link should be valid and resolvable", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 252 +#line 232 testRunner.And("the Patient Contact Telecom use should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 253 +#line 233 testRunner.And("the Patient Not In Use should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } this.ScenarioCleanup(); } + [NUnit.Framework.TestAttribute()] + [NUnit.Framework.DescriptionAttribute("Documents Patient Search with an invalid NHS number")] + [NUnit.Framework.TestCaseAttribute("34555##4", null)] + [NUnit.Framework.TestCaseAttribute("hello", null)] + [NUnit.Framework.TestCaseAttribute("999999999", null)] + [NUnit.Framework.TestCaseAttribute("9000000008", null)] + [NUnit.Framework.TestCaseAttribute("90000000090", null)] + public void DocumentsPatientSearchWithAnInvalidNHSNumber(string nhsNumber, string[] exampleTags) + { + string[] tagsOfScenario = exampleTags; + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("nhsNumber", nhsNumber); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Documents Patient Search with an invalid NHS number", null, tagsOfScenario, argumentsOfScenario, featureTags); +#line 243 + this.ScenarioInitialize(scenarioInfo); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); +#line 244 + testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden +#line 245 + testRunner.And(string.Format("I add a Patient Identifier parameter with default System and Value \"{0}\"", nhsNumber), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden +#line 246 + testRunner.When("I make the \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden +#line 247 + testRunner.Then("the response status code should be \"400\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden +#line 248 + testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_NHS_N" + + "UMBER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden + } + this.ScenarioCleanup(); + } + [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Documents Patient Search results should contain a logical identifier")] public void DocumentsPatientSearchResultsShouldContainALogicalIdentifier() @@ -943,8 +986,8 @@ public void DocumentsPatientSearchResultsShouldContainALogicalIdentifier() string[] tagsOfScenario = ((string[])(null)); System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Documents Patient Search results should contain a logical identifier", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 263 -this.ScenarioInitialize(scenarioInfo); +#line 258 + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -953,28 +996,28 @@ public void DocumentsPatientSearchResultsShouldContainALogicalIdentifier() else { this.ScenarioStart(); -#line 264 - testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 259 + testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 265 +#line 260 testRunner.And("I add a Patient Identifier parameter with default System and Value \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 266 - testRunner.When("I make the \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 261 + testRunner.When("I make the \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 267 - testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line 262 + testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 268 +#line 263 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 269 +#line 264 testRunner.And("the response bundle should contain \"1\" entries", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 270 +#line 265 testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 271 +#line 266 testRunner.And("the patient resource in the bundle should contain meta data profile and version i" + "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden @@ -991,8 +1034,8 @@ public void DocumentsPatientSearchShouldReturnAnErrorWhenNoSystemIsSuppliedInThe System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Documents Patient Search should return an error when no system is supplied in the" + " identifier parameter", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 273 -this.ScenarioInitialize(scenarioInfo); +#line 268 + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -1001,19 +1044,19 @@ public void DocumentsPatientSearchShouldReturnAnErrorWhenNoSystemIsSuppliedInThe else { this.ScenarioStart(); -#line 274 - testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 269 + testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 275 +#line 270 testRunner.And("I add a Patient Identifier parameter with no System and Value \"patient1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 276 - testRunner.When("I make the \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 271 + testRunner.When("I make the \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 277 - testRunner.Then("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line 272 + testRunner.Then("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 278 +#line 273 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_PARAM" + "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden @@ -1030,8 +1073,8 @@ public void DocumentsPatientSearchShouldReturnAnErrorWhenABlankSystemIsSuppliedI System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Documents Patient Search should return an error when a blank system is supplied i" + "n the identifier parameter", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 280 -this.ScenarioInitialize(scenarioInfo); +#line 275 + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -1040,19 +1083,19 @@ public void DocumentsPatientSearchShouldReturnAnErrorWhenABlankSystemIsSuppliedI else { this.ScenarioStart(); -#line 281 - testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 276 + testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 282 +#line 277 testRunner.And("I add a Patient Identifier parameter with System \"\" and Value \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 283 - testRunner.When("I make the \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 278 + testRunner.When("I make the \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 284 - testRunner.Then("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line 279 + testRunner.Then("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 285 +#line 280 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_PARAM" + "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden @@ -1069,8 +1112,8 @@ public void DocumentsPatientSearchWhenAPatientIsNotFoundOnTheProviderSystemAnEmp System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Documents Patient Search When a patient is not found on the provider system an em" + "pty bundle should be returned", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 287 -this.ScenarioInitialize(scenarioInfo); +#line 282 + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -1079,26 +1122,26 @@ public void DocumentsPatientSearchWhenAPatientIsNotFoundOnTheProviderSystemAnEmp else { this.ScenarioStart(); -#line 288 - testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 283 + testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 289 +#line 284 testRunner.And("I add a Patient Identifier parameter with default System and Value \"patientNotInS" + "ystem\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 290 - testRunner.When("I make the \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 285 + testRunner.When("I make the \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 291 - testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line 286 + testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 292 +#line 287 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 293 +#line 288 testRunner.And("the response bundle should contain \"0\" entries", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 294 +#line 289 testRunner.And("The Bundle id should match the SSPTraceID", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } @@ -1112,8 +1155,8 @@ public void DocumentsPatientSearchShouldFailIfNoIdentifierParameterIsInclude() string[] tagsOfScenario = ((string[])(null)); System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Documents Patient Search should fail if no identifier parameter is include", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 296 -this.ScenarioInitialize(scenarioInfo); +#line 291 + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -1122,16 +1165,16 @@ public void DocumentsPatientSearchShouldFailIfNoIdentifierParameterIsInclude() else { this.ScenarioStart(); -#line 297 - testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 292 + testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 298 - testRunner.When("I make the \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 293 + testRunner.When("I make the \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 299 - testRunner.Then("the response status code should be \"400\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line 294 + testRunner.Then("the response status code should be \"400\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 300 +#line 295 testRunner.And("the response should be a OperationOutcome resource with error code \"BAD_REQUEST\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } @@ -1147,8 +1190,8 @@ public void DocumentsPatientSearchTheIdentifierParameterShouldBeRejectedIfTheCas System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Documents Patient Search The identifier parameter should be rejected if the case " + "is incorrect", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 302 -this.ScenarioInitialize(scenarioInfo); +#line 297 + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -1157,20 +1200,20 @@ public void DocumentsPatientSearchTheIdentifierParameterShouldBeRejectedIfTheCas else { this.ScenarioStart(); -#line 303 - testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 298 + testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 304 +#line 299 testRunner.And("I add a Patient Identifier parameter with identifier name \"Identifier\" default Sy" + "stem and Value \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 305 - testRunner.When("I make the \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 300 + testRunner.When("I make the \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 306 - testRunner.Then("the response status code should be \"400\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line 301 + testRunner.Then("the response status code should be \"400\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 307 +#line 302 testRunner.And("the response should be a OperationOutcome resource with error code \"BAD_REQUEST\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } @@ -1186,8 +1229,8 @@ public void DocumentsPatientSearchResponseShouldBeAnErrorIfNoValueIsSentInTheIde System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Documents Patient Search response should be an error if no value is sent in the i" + "dentifier parameter", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 309 -this.ScenarioInitialize(scenarioInfo); +#line 304 + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -1196,20 +1239,20 @@ public void DocumentsPatientSearchResponseShouldBeAnErrorIfNoValueIsSentInTheIde else { this.ScenarioStart(); -#line 310 - testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 305 + testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 311 +#line 306 testRunner.And("I add the parameter \"identifier\" with the value \"https://fhir.nhs.uk/Id/nhs-numbe" + "r|\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 312 - testRunner.When("I make the \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 307 + testRunner.When("I make the \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 313 - testRunner.Then("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line 308 + testRunner.Then("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 314 +#line 309 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_PARAM" + "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden @@ -1228,8 +1271,8 @@ public void TheDocumentsPatientSearchEndpointShouldAcceptTheAcceptHeader(string argumentsOfScenario.Add("AcceptHeader", acceptHeader); argumentsOfScenario.Add("ResultFormat", resultFormat); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("The Documents Patient Search endpoint should accept the accept header", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 316 -this.ScenarioInitialize(scenarioInfo); +#line 311 + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -1238,34 +1281,34 @@ public void TheDocumentsPatientSearchEndpointShouldAcceptTheAcceptHeader(string else { this.ScenarioStart(); -#line 317 - testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 312 + testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 318 +#line 313 testRunner.And(string.Format("I set the Accept header to \"{0}\"", acceptHeader), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 319 +#line 314 testRunner.And("I add a Patient Identifier parameter with default System and Value \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 320 - testRunner.When("I make the \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 315 + testRunner.When("I make the \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 321 - testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line 316 + testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 322 +#line 317 testRunner.And(string.Format("the response body should be FHIR {0}", resultFormat), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 323 +#line 318 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 324 +#line 319 testRunner.And("the response bundle should contain \"1\" entries", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 325 +#line 320 testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 326 +#line 321 testRunner.And("the Patient Identifiers should be valid for Patient \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } @@ -1283,8 +1326,8 @@ public void TheDocumentsPatientSearchEndpointShouldAcceptTheFormatParameter(stri argumentsOfScenario.Add("FormatParam", formatParam); argumentsOfScenario.Add("ResultFormat", resultFormat); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("The Documents patient search endpoint should accept the format parameter", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 332 -this.ScenarioInitialize(scenarioInfo); +#line 327 + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -1293,34 +1336,34 @@ public void TheDocumentsPatientSearchEndpointShouldAcceptTheFormatParameter(stri else { this.ScenarioStart(); -#line 333 +#line 328 testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 334 +#line 329 testRunner.And(string.Format("I add the parameter \"_format\" with the value \"{0}\"", formatParam), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 335 +#line 330 testRunner.And("I add a Patient Identifier parameter with default System and Value \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 336 - testRunner.When("I make the \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 331 + testRunner.When("I make the \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 337 - testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line 332 + testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 338 +#line 333 testRunner.And(string.Format("the response body should be FHIR {0}", resultFormat), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 339 +#line 334 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 340 +#line 335 testRunner.And("the response bundle should contain \"1\" entries", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 341 +#line 336 testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 342 +#line 337 testRunner.And("the Patient Identifiers should be valid for Patient \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } @@ -1343,8 +1386,8 @@ public void TheDocumentsPatientSearchEndpointShouldAcceptTheFormatParameterAfter argumentsOfScenario.Add("ResultFormat", resultFormat); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("The Documents patient search endpoint should accept the format parameter after th" + "e identifier parameter", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 348 -this.ScenarioInitialize(scenarioInfo); +#line 343 + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -1353,37 +1396,37 @@ public void TheDocumentsPatientSearchEndpointShouldAcceptTheFormatParameterAfter else { this.ScenarioStart(); -#line 349 +#line 344 testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 350 +#line 345 testRunner.And(string.Format("I set the Accept header to \"{0}\"", acceptHeader), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 351 +#line 346 testRunner.And("I add a Patient Identifier parameter with default System and Value \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 352 +#line 347 testRunner.And(string.Format("I add the parameter \"_format\" with the value \"{0}\"", formatParam), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 353 - testRunner.When("I make the \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 348 + testRunner.When("I make the \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 354 - testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line 349 + testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 355 +#line 350 testRunner.And(string.Format("the response body should be FHIR {0}", resultFormat), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 356 +#line 351 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 357 +#line 352 testRunner.And("the response bundle should contain \"1\" entries", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 358 +#line 353 testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 359 +#line 354 testRunner.And("the Patient Identifiers should be valid for Patient \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } @@ -1406,8 +1449,8 @@ public void TheDocumentsPatientSearchEndpointShouldAcceptTheFormatParameterBefor argumentsOfScenario.Add("ResultFormat", resultFormat); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("The Documents Patient search endpoint should accept the format parameter before t" + "he identifier parameter", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 367 -this.ScenarioInitialize(scenarioInfo); +#line 362 + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -1416,37 +1459,37 @@ public void TheDocumentsPatientSearchEndpointShouldAcceptTheFormatParameterBefor else { this.ScenarioStart(); -#line 368 - testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 363 + testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 369 +#line 364 testRunner.And(string.Format("I set the Accept header to \"{0}\"", acceptHeader), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 370 +#line 365 testRunner.And(string.Format("I add the parameter \"_format\" with the value \"{0}\"", formatParam), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 371 +#line 366 testRunner.And("I add a Patient Identifier parameter with default System and Value \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 372 - testRunner.When("I make the \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 367 + testRunner.When("I make the \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 373 - testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line 368 + testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 374 +#line 369 testRunner.And(string.Format("the response body should be FHIR {0}", resultFormat), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 375 +#line 370 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 376 +#line 371 testRunner.And("the response bundle should contain \"1\" entries", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 377 +#line 372 testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 378 +#line 373 testRunner.And("the Patient Identifiers should be valid for Patient \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } @@ -1466,8 +1509,8 @@ public void DocumentsPatientSearchResourceShouldContainNHSNumberIdentifierReturn argumentsOfScenario.Add("Patient", patient); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Documents Patient Search resource should contain NHS number identifier returned a" + "s XML", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 386 -this.ScenarioInitialize(scenarioInfo); +#line 381 + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -1476,31 +1519,31 @@ public void DocumentsPatientSearchResourceShouldContainNHSNumberIdentifierReturn else { this.ScenarioStart(); -#line 387 - testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 382 + testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 388 +#line 383 testRunner.And("I set the Accept header to \"application/fhir+xml\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 389 +#line 384 testRunner.And(string.Format("I add a Patient Identifier parameter with default System and Value \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 390 - testRunner.When("I make the \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 385 + testRunner.When("I make the \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 391 - testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line 386 + testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 392 +#line 387 testRunner.And("the response body should be FHIR XML", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 393 +#line 388 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 394 +#line 389 testRunner.And("the response bundle should contain \"1\" entries", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 395 +#line 390 testRunner.And(string.Format("the Patient Identifiers should be valid for Patient \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } @@ -1514,8 +1557,8 @@ public void DocumentsPatientSearchResponseDoesNotReturnDeceasedPatient() string[] tagsOfScenario = ((string[])(null)); System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Documents Patient search response does not return deceased patient", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 402 -this.ScenarioInitialize(scenarioInfo); +#line 397 + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -1524,29 +1567,29 @@ public void DocumentsPatientSearchResponseDoesNotReturnDeceasedPatient() else { this.ScenarioStart(); -#line 403 - testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 398 + testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 404 +#line 399 testRunner.And("I add a Patient Identifier parameter with default System and Value \"patient18\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 405 - testRunner.When("I make the \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 400 + testRunner.When("I make the \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 406 - testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line 401 + testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 407 - testRunner.And("the response body should be FHIR JSON", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 402 + testRunner.And("the response body should be FHIR JSON", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 408 - testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 403 + testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 409 - testRunner.And("the response bundle should contain \"0\" entries", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 404 + testRunner.And("the response bundle should contain \"0\" entries", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 410 - testRunner.And("The Bundle id should match the SSPTraceID", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 405 + testRunner.And("The Bundle id should match the SSPTraceID", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } this.ScenarioCleanup(); @@ -1568,8 +1611,8 @@ public void DocumentsPatientSearchShouldErrorIfMultipleParametersValidOrInvalidA argumentsOfScenario.Add("PatientTwo", patientTwo); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Documents Patient search should error if multiple parameters valid or invalid are" + " sent", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 412 -this.ScenarioInitialize(scenarioInfo); +#line 407 + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -1578,24 +1621,24 @@ public void DocumentsPatientSearchShouldErrorIfMultipleParametersValidOrInvalidA else { this.ScenarioStart(); -#line 413 +#line 408 testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 414 +#line 409 testRunner.And(string.Format("I add a Patient Identifier parameter with identifier name \"{0}\" default System an" + "d Value \"{1}\"", identifier1, patientOne), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 415 +#line 410 testRunner.And(string.Format("I add a Patient Identifier parameter with identifier name \"{0}\" default System an" + "d Value \"{1}\"", identifier2, patientTwo), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 416 - testRunner.When("I make the \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 411 + testRunner.When("I make the \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 417 - testRunner.Then("the response status code should be \"400\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line 412 + testRunner.Then("the response status code should be \"400\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 418 +#line 413 testRunner.And("the response should be a OperationOutcome resource with error code \"BAD_REQUEST\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } @@ -1609,8 +1652,8 @@ public void DocumentsPatientSearchValidResponseCheckCachingHeadersExist() string[] tagsOfScenario = ((string[])(null)); System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Documents Patient search valid response check caching headers exist", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 425 -this.ScenarioInitialize(scenarioInfo); +#line 420 + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -1619,28 +1662,28 @@ public void DocumentsPatientSearchValidResponseCheckCachingHeadersExist() else { this.ScenarioStart(); -#line 426 - testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 421 + testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 427 +#line 422 testRunner.And("I add a Patient Identifier parameter with default System and Value \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 428 - testRunner.When("I make the \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 423 + testRunner.When("I make the \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 429 - testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line 424 + testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 430 +#line 425 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 431 +#line 426 testRunner.And("the response bundle should contain \"1\" entries", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 432 +#line 427 testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 433 +#line 428 testRunner.And("the required cacheing headers should be present in the response", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } @@ -1654,8 +1697,8 @@ public void DocumentsPatientSearchInvalidResponseCheckCachingHeadersExist() string[] tagsOfScenario = ((string[])(null)); System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Documents Patient search invalid response check caching headers exist", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 435 -this.ScenarioInitialize(scenarioInfo); +#line 430 + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -1664,23 +1707,23 @@ public void DocumentsPatientSearchInvalidResponseCheckCachingHeadersExist() else { this.ScenarioStart(); -#line 436 -testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 431 + testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 437 +#line 432 testRunner.And("I add a Patient Identifier parameter with identifier name \"Identifier\" default Sy" + "stem and Value \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 438 - testRunner.When("I make the \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 433 + testRunner.When("I make the \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 439 - testRunner.Then("the response status code should be \"400\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line 434 + testRunner.Then("the response status code should be \"400\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 440 +#line 435 testRunner.And("the response should be a OperationOutcome resource with error code \"BAD_REQUEST\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 441 +#line 436 testRunner.And("the required cacheing headers should be present in the response", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } @@ -1694,8 +1737,8 @@ public void DocumentsPatientSearchShouldContainAPreferredBranch() string[] tagsOfScenario = ((string[])(null)); System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Documents Patient search should contain a preferred branch", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 443 -this.ScenarioInitialize(scenarioInfo); +#line 438 + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -1704,25 +1747,25 @@ public void DocumentsPatientSearchShouldContainAPreferredBranch() else { this.ScenarioStart(); -#line 444 - testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 439 + testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 445 +#line 440 testRunner.And("I add a Patient Identifier parameter with default System and Value \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 446 - testRunner.When("I make the \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 441 + testRunner.When("I make the \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 447 - testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line 442 + testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 448 +#line 443 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 449 +#line 444 testRunner.And("the response bundle should contain \"1\" entries", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 450 +#line 445 testRunner.And("the Patient RegistrationDetails should include preferredBranchSurgery", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } @@ -1738,8 +1781,8 @@ public void DocumentsPatientSearchForAPatientWithASensitiveFlagShouldReturnNoRes System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Documents Patient search for a patient with a sensitive flag should return no res" + "ults", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 452 -this.ScenarioInitialize(scenarioInfo); +#line 447 + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -1748,22 +1791,22 @@ public void DocumentsPatientSearchForAPatientWithASensitiveFlagShouldReturnNoRes else { this.ScenarioStart(); -#line 453 - testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 448 + testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 454 +#line 449 testRunner.And("I add a Patient Identifier parameter with default System and Value \"patient9\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 455 - testRunner.When("I make the \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 450 + testRunner.When("I make the \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 456 - testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line 451 + testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 457 +#line 452 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 458 +#line 453 testRunner.And("the response bundle should contain \"0\" entries", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } @@ -1779,8 +1822,8 @@ public void DocumentsPatientSearchForAPatientWithAInactiveFlagShouldReturnNoResu System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Documents Patient search for a patient with a inactive flag should return no resu" + "lts", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 460 -this.ScenarioInitialize(scenarioInfo); +#line 455 + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -1789,22 +1832,22 @@ public void DocumentsPatientSearchForAPatientWithAInactiveFlagShouldReturnNoResu else { this.ScenarioStart(); -#line 461 - testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 456 + testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 462 +#line 457 testRunner.And("I add a Patient Identifier parameter with default System and Value \"patient21\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 463 - testRunner.When("I make the \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 458 + testRunner.When("I make the \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 464 - testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line 459 + testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 465 +#line 460 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 466 +#line 461 testRunner.And("the response bundle should contain \"0\" entries", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } @@ -1818,8 +1861,8 @@ public void DocumentsPatientSearchForANoConsentPatientSearchGetsAValidResponse() string[] tagsOfScenario = ((string[])(null)); System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Documents Patient search for a No Consent Patient search gets a valid response", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 468 -this.ScenarioInitialize(scenarioInfo); +#line 463 + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -1828,28 +1871,28 @@ public void DocumentsPatientSearchForANoConsentPatientSearchGetsAValidResponse() else { this.ScenarioStart(); -#line 469 - testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 464 + testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 470 +#line 465 testRunner.And("I add a Patient Identifier parameter with default System and Value \"patient15\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 471 - testRunner.When("I make the \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 466 + testRunner.When("I make the \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 472 - testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line 467 + testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 473 +#line 468 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 474 +#line 469 testRunner.And("the response bundle should contain \"1\" entries", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 475 +#line 470 testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 476 +#line 471 testRunner.And("the required cacheing headers should be present in the response", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } diff --git a/GPConnect.Provider.AcceptanceTests/StructuredImmunizations.feature.cs b/GPConnect.Provider.AcceptanceTests/StructuredImmunizations.feature.cs index 14aae2eb..b026c85c 100644 --- a/GPConnect.Provider.AcceptanceTests/StructuredImmunizations.feature.cs +++ b/GPConnect.Provider.AcceptanceTests/StructuredImmunizations.feature.cs @@ -169,15 +169,15 @@ public void VerifyImmunizationsStructuredRecordForAPatientWithImmunizationsNotLi } [NUnit.Framework.TestAttribute()] - [NUnit.Framework.DescriptionAttribute("Verify Immunizations structured record for a Patient with Immunizations associate" + - "d to Problems")] - public void VerifyImmunizationsStructuredRecordForAPatientWithImmunizationsAssociatedToProblems() + [NUnit.Framework.DescriptionAttribute("Retrieve immunizations structured record for a patient with records with the NotG" + + "iven and includeStatus parameters")] + public void RetrieveImmunizationsStructuredRecordForAPatientWithRecordsWithTheNotGivenAndIncludeStatusParameters() { string[] tagsOfScenario = ((string[])(null)); System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Verify Immunizations structured record for a Patient with Immunizations associate" + - "d to Problems", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 33 + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve immunizations structured record for a patient with records with the NotG" + + "iven and includeStatus parameters", null, tagsOfScenario, argumentsOfScenario, featureTags); +#line 31 this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) @@ -187,15 +187,21 @@ public void VerifyImmunizationsStructuredRecordForAPatientWithImmunizationsAssoc else { this.ScenarioStart(); -#line 34 +#line 32 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 35 +#line 33 testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 36 +#line 34 testRunner.And("I add the immunizations parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden +#line 35 + testRunner.And("I add a NotGiven immunizations part parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden +#line 36 + testRunner.And("I add a Dissent immunizations part parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden #line 37 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden @@ -224,48 +230,137 @@ public void VerifyImmunizationsStructuredRecordForAPatientWithImmunizationsAssoc testRunner.And("the Bundle should be valid for patient \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 45 - testRunner.And("check that the bundle does not contain any duplicate resources", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 46 - testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + testRunner.And("the Practitioner Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 47 - testRunner.And("the Practitioner Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + testRunner.And("the Organization Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 48 - testRunner.And("the Organization Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + testRunner.And("The Immunization Resources are Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 49 - testRunner.And("The Immunization Resources are Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + testRunner.And("The Immunization Resources Do Not Include Not In Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 50 - testRunner.And("The Immunization Resources Do Not Include Not In Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + testRunner.And("the Bundle should contain \"1\" lists", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 51 - testRunner.And("the Bundle should contain \"2\" lists", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + testRunner.And("The Immunization List is Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 52 - testRunner.And("The Immunization List is Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + testRunner.And("The Structured List Does Not Include Not In Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 53 - testRunner.And("The Structured List Does Not Include Not In Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + testRunner.And("I Check There is No Problems Secondary Problems List", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 54 + testRunner.And("I Check No Problem Resources are Included", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden + } + this.ScenarioCleanup(); + } + + [NUnit.Framework.TestAttribute()] + [NUnit.Framework.DescriptionAttribute("Verify Immunizations structured record for a Patient with Immunizations associate" + + "d to Problems")] + public void VerifyImmunizationsStructuredRecordForAPatientWithImmunizationsAssociatedToProblems() + { + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Verify Immunizations structured record for a Patient with Immunizations associate" + + "d to Problems", null, tagsOfScenario, argumentsOfScenario, featureTags); +#line 58 + this.ScenarioInitialize(scenarioInfo); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); +#line 59 + testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden +#line 60 + testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden +#line 61 + testRunner.And("I add the immunizations parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden +#line 62 + testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden +#line 63 + testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden +#line 64 + testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden +#line 65 + testRunner.And("the response meta profile should be for \"structured\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden +#line 66 + testRunner.And("the patient resource in the bundle should contain meta data profile and version i" + + "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden +#line 67 + testRunner.And("if the response bundle contains a practitioner resource it should contain meta da" + + "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden +#line 68 + testRunner.And("if the response bundle contains an organization resource it should contain meta d" + + "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden +#line 69 + testRunner.And("the Bundle should be valid for patient \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden +#line 70 + testRunner.And("check that the bundle does not contain any duplicate resources", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden +#line 71 + testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden +#line 72 + testRunner.And("the Practitioner Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden +#line 73 + testRunner.And("the Organization Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden +#line 74 + testRunner.And("The Immunization Resources are Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden +#line 75 + testRunner.And("The Immunization Resources Do Not Include Not In Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden +#line 76 + testRunner.And("the Bundle should contain \"2\" lists", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden +#line 77 + testRunner.And("The Immunization List is Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden +#line 78 + testRunner.And("The Structured List Does Not Include Not In Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden +#line 79 testRunner.And("check the response does not contain an operation outcome", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 55 +#line 80 testRunner.And("I Check The Problems Secondary Problems List", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 56 +#line 81 testRunner.And("I Check The Problems Secondary Problems List Does Not Include Not In Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 57 +#line 82 testRunner.And("I Check The Problems Resources are Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 58 +#line 83 testRunner.And("I check The Problem Resources Do Not Include Not In Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 59 +#line 84 testRunner.And("Check a Problem is linked to an \"Immunization\" that is also included in the respo" + "nse with its list", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden @@ -280,7 +375,7 @@ public void RetrieveTheImmunizationsStructuredRecordSectionForAnInvalidNHSNumber string[] tagsOfScenario = ((string[])(null)); System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the immunizations structured record section for an invalid NHS number", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 61 +#line 86 this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) @@ -290,22 +385,22 @@ public void RetrieveTheImmunizationsStructuredRecordSectionForAnInvalidNHSNumber else { this.ScenarioStart(); -#line 62 +#line 87 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 63 +#line 88 testRunner.And("I add an NHS Number parameter for an invalid NHS Number", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 64 +#line 89 testRunner.And("I add the immunizations parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 65 +#line 90 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 66 +#line 91 testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 67 +#line 92 testRunner.And("the response should be a OperationOutcome resource", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } @@ -319,7 +414,7 @@ public void RetrieveTheImmunizationsStructuredRecordSectionForAnEmptyNHSNumber() string[] tagsOfScenario = ((string[])(null)); System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the immunizations structured record section for an empty NHS number", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 69 +#line 94 this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) @@ -329,22 +424,22 @@ public void RetrieveTheImmunizationsStructuredRecordSectionForAnEmptyNHSNumber() else { this.ScenarioStart(); -#line 70 +#line 95 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 71 +#line 96 testRunner.And("I add an NHS Number parameter with an empty NHS Number", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 72 +#line 97 testRunner.And("I add the immunizations parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 73 +#line 98 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 74 +#line 99 testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 75 +#line 100 testRunner.And("the response should be a OperationOutcome resource", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } @@ -360,7 +455,7 @@ public void RetrieveTheImmunizationsStructuredRecordSectionForAnInvalidIdentifie System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the immunizations structured record section for an invalid Identifier Sy" + "stem", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 77 +#line 102 this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) @@ -370,22 +465,22 @@ public void RetrieveTheImmunizationsStructuredRecordSectionForAnInvalidIdentifie else { this.ScenarioStart(); -#line 78 +#line 103 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 79 +#line 104 testRunner.And("I add an NHS Number parameter for \"patient1\" with an invalid Identifier System", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 80 +#line 105 testRunner.And("I add the immunizations parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 81 +#line 106 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 82 +#line 107 testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 83 +#line 108 testRunner.And("the response should be a OperationOutcome resource", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } @@ -401,7 +496,7 @@ public void RetrieveTheImmunizationsStructuredRecordSectionForAnEmptyIdentifierS System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the immunizations structured record section for an empty Identifier Syst" + "em", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 85 +#line 110 this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) @@ -411,22 +506,22 @@ public void RetrieveTheImmunizationsStructuredRecordSectionForAnEmptyIdentifierS else { this.ScenarioStart(); -#line 86 +#line 111 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 87 +#line 112 testRunner.And("I add an NHS Number parameter for \"patient1\" with an empty Identifier System", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 88 +#line 113 testRunner.And("I add the immunizations parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 89 +#line 114 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 90 +#line 115 testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 91 +#line 116 testRunner.And("the response should be a OperationOutcome resource", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } @@ -442,7 +537,7 @@ public void RetrieveTheImmunizationsStructuredRecordForAPatientThatHasSensitiveF System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the immunizations structured record for a patient that has sensitive fla" + "g", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 93 +#line 118 this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) @@ -452,25 +547,25 @@ public void RetrieveTheImmunizationsStructuredRecordForAPatientThatHasSensitiveF else { this.ScenarioStart(); -#line 94 +#line 119 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 95 +#line 120 testRunner.And("I add an NHS Number parameter for \"patient9\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 96 +#line 121 testRunner.And("I add the immunizations parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 97 +#line 122 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 98 +#line 123 testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 99 +#line 124 testRunner.And("the response status code should be \"404\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 100 +#line 125 testRunner.And("the response should be a OperationOutcome resource with error code \"PATIENT_NOT_F" + "OUND\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden @@ -487,7 +582,7 @@ public void RetrieveTheImmunizationsStructuredRecordForAPatientThatHasNoImmuniza System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the immunizations structured record for a patient that has no immunizati" + "ons", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 102 +#line 127 this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) @@ -497,55 +592,55 @@ public void RetrieveTheImmunizationsStructuredRecordForAPatientThatHasNoImmuniza else { this.ScenarioStart(); -#line 103 +#line 128 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 104 +#line 129 testRunner.And("I add an NHS Number parameter for \"patient4\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 105 +#line 130 testRunner.And("I add the immunizations parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 106 +#line 131 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 107 +#line 132 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 108 +#line 133 testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 109 +#line 134 testRunner.And("the response meta profile should be for \"structured\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 110 +#line 135 testRunner.And("the patient resource in the bundle should contain meta data profile and version i" + "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 111 +#line 136 testRunner.And("if the response bundle contains a practitioner resource it should contain meta da" + "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 112 +#line 137 testRunner.And("if the response bundle contains an organization resource it should contain meta d" + "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 113 +#line 138 testRunner.And("the Bundle should be valid for patient \"patient4\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 114 +#line 139 testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 115 +#line 140 testRunner.And("the Practitioner Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 116 +#line 141 testRunner.And("the Organization Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 117 +#line 142 testRunner.And("check the response does not contain an operation outcome", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 118 +#line 143 testRunner.And("check structured list contains a note and emptyReason when no data in section", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } diff --git a/GPConnect.Provider.AcceptanceTests/StructuredInvestigations.feature b/GPConnect.Provider.AcceptanceTests/StructuredInvestigations.feature index e98d5f12..a48200dc 100644 --- a/GPConnect.Provider.AcceptanceTests/StructuredInvestigations.feature +++ b/GPConnect.Provider.AcceptanceTests/StructuredInvestigations.feature @@ -1,62 +1,62 @@ @Structured @StructuredInvestigations @1.5.0-Full-Pack Feature: StructuredInvestigations -# These Tests are only Testing this Structured Area in isolation and Not with other Areas or Combinations of Include Parameters -# Tests around Multiple Structured Areas in one Request are tested in the MultipleRequests Feature - -@1.5.0-IncrementalAndRegression -Scenario: Verify Investigations structured record for a Patient with Investigations not linked to any problems - Given I configure the default "GpcGetStructuredRecord" request + # These Tests are only Testing this Structured Area in isolation and Not with other Areas or Combinations of Include Parameters + # Tests around Multiple Structured Areas in one Request are tested in the MultipleRequests Feature + + @1.5.0-IncrementalAndRegression + Scenario: Verify Investigations structured record for a Patient with Investigations not linked to any problems + Given I configure the default "GpcGetStructuredRecord" request And I add an NHS Number parameter for "patient3" And I add the Investigations parameter - When I make the "GpcGetStructuredRecord" request - Then the response status code should indicate success + When I make the "GpcGetStructuredRecord" request + Then the response status code should indicate success And the response should be a Bundle resource of type "collection" And the response meta profile should be for "structured" And the patient resource in the bundle should contain meta data profile and version id And if the response bundle contains a practitioner resource it should contain meta data profile and version id And if the response bundle contains an organization resource it should contain meta data profile and version id And the Bundle should be valid for patient "patient3" - And check that the bundle does not contain any duplicate resources + And check that the bundle does not contain any duplicate resources And check the response does not contain an operation outcome And the Patient Id should be valid And the Practitioner Id should be valid - And the Organization Id should be valid + And the Organization Id should be valid And the Bundle should contain "1" lists And I Check the Investigations List is Valid - And The Structured List Does Not Include Not In Use Fields + And The Structured List Does Not Include Not In Use Fields And I Check the DiagnosticReports are Valid And I Check the DiagnosticReports Do Not Include Not in Use Fields - And I Check the Specimens are Valid + And I Check the Specimens are Valid And I Check the Specimens Do Not Include Not in Use Fields And I Check the Test report Filing is Valid And I Check the Test report Filing Do Not Include Not in Use Fields And I Check There is No Problems Secondary Problems List And I Check No Problem Resources are Included -@1.5.0-IncrementalAndRegression -Scenario: Verify Investigations structured record for a Patient with Investigations associated to Problems - Given I configure the default "GpcGetStructuredRecord" request + @1.5.0-IncrementalAndRegression + Scenario: Verify Investigations structured record for a Patient with Investigations associated to Problems + Given I configure the default "GpcGetStructuredRecord" request And I add an NHS Number parameter for "patient2" And I add the Investigations parameter - When I make the "GpcGetStructuredRecord" request - Then the response status code should indicate success + When I make the "GpcGetStructuredRecord" request + Then the response status code should indicate success And the response should be a Bundle resource of type "collection" And the response meta profile should be for "structured" And the patient resource in the bundle should contain meta data profile and version id And if the response bundle contains a practitioner resource it should contain meta data profile and version id And if the response bundle contains an organization resource it should contain meta data profile and version id And the Bundle should be valid for patient "patient2" - And check that the bundle does not contain any duplicate resources + And check that the bundle does not contain any duplicate resources And check the response does not contain an operation outcome And the Patient Id should be valid And the Practitioner Id should be valid - And the Organization Id should be valid + And the Organization Id should be valid And I Check the Investigations List is Valid - And The Structured List Does Not Include Not In Use Fields + And The Structured List Does Not Include Not In Use Fields And I Check the DiagnosticReports are Valid And I Check the DiagnosticReports Do Not Include Not in Use Fields - And I Check the Specimens are Valid + And I Check the Specimens are Valid And I Check the Specimens Do Not Include Not in Use Fields And I Check The Problems Secondary Problems List And I Check The Problems Secondary Problems List Does Not Include Not In Use Fields @@ -67,33 +67,33 @@ Scenario: Verify Investigations structured record for a Patient with Investigati And I Check the Test report Filing Do Not Include Not in Use Fields And the Bundle should contain "2" lists -#The Aspects covered in this test have been split out from the main tests above as some providers do not support ProcedureRequests at this time. -@1.5.0-IncrementalAndRegression -Scenario: Verify Investigations structured record for a Patient with DiagnosticReports Linked to ProcedureRequests - Given I configure the default "GpcGetStructuredRecord" request + #The Aspects covered in this test have been split out from the main tests above as some providers do not support ProcedureRequests at this time. + @1.5.0-IncrementalAndRegression + Scenario: Verify Investigations structured record for a Patient with DiagnosticReports Linked to ProcedureRequests + Given I configure the default "GpcGetStructuredRecord" request And I add an NHS Number parameter for "patient3" And I add the Investigations parameter - When I make the "GpcGetStructuredRecord" request - Then the response status code should indicate success + When I make the "GpcGetStructuredRecord" request + Then the response status code should indicate success And the response should be a Bundle resource of type "collection" And the response meta profile should be for "structured" And the patient resource in the bundle should contain meta data profile and version id And if the response bundle contains a practitioner resource it should contain meta data profile and version id And if the response bundle contains an organization resource it should contain meta data profile and version id And the Bundle should be valid for patient "patient3" - And check that the bundle does not contain any duplicate resources + And check that the bundle does not contain any duplicate resources And check the response does not contain an operation outcome And the Patient Id should be valid And the Practitioner Id should be valid - And the Organization Id should be valid + And the Organization Id should be valid And the Bundle should contain "1" lists And I Check the Investigations List is Valid - And The Structured List Does Not Include Not In Use Fields + And The Structured List Does Not Include Not In Use Fields And I Check the DiagnosticReports are Valid and Linked to a ProcedureRequest And I Check the DiagnosticReports Do Not Include Not in Use Fields - And I Check the ProcedureRequests are Valid + And I Check the ProcedureRequests are Valid And I Check the ProcedureRequests Do Not Include Not in Use Fields - And I Check the Specimens are Valid + And I Check the Specimens are Valid And I Check the Specimens Do Not Include Not in Use Fields And I Check the Test report Filing is Valid And I Check the Test report Filing Do Not Include Not in Use Fields @@ -101,13 +101,13 @@ Scenario: Verify Investigations structured record for a Patient with DiagnosticR And I Check No Problem Resources are Included -@1.5.0-IncrementalAndRegression -Scenario: Retrieve Investigations structured record for a patient that has no Investigations data - Given I configure the default "GpcGetStructuredRecord" request + @1.5.0-IncrementalAndRegression + Scenario: Retrieve Investigations structured record for a patient that has no Investigations data + Given I configure the default "GpcGetStructuredRecord" request And I add an NHS Number parameter for "patient4" And I add the Investigations parameter - When I make the "GpcGetStructuredRecord" request - Then the response status code should indicate success + When I make the "GpcGetStructuredRecord" request + Then the response status code should indicate success And the response should be a Bundle resource of type "collection" And the response meta profile should be for "structured" And the patient resource in the bundle should contain meta data profile and version id @@ -116,84 +116,99 @@ Scenario: Retrieve Investigations structured record for a patient that has no In And the Bundle should be valid for patient "patient4" And the Patient Id should be valid And the Practitioner Id should be valid - And the Organization Id should be valid + And the Organization Id should be valid And check structured list contains a note and emptyReason when no data in section And check the response does not contain an operation outcome - -@1.5.0-IncrementalAndRegression -Scenario: Retrieve the Investigations data structured record with period dates equal to current date expected success and no operation outcome - Given I configure the default "GpcGetStructuredRecord" request + + @1.5.0-IncrementalAndRegression + Scenario: Retrieve the Investigations data structured record with period dates equal to current date expected success and no operation outcome + Given I configure the default "GpcGetStructuredRecord" request And I add an NHS Number parameter for "patient2" And I add the investigations data parameter with current date - When I make the "GpcGetStructuredRecord" request - Then the response status code should indicate success + When I make the "GpcGetStructuredRecord" request + Then the response status code should indicate success + And check the response does not contain an operation outcome + + Scenario: Retrieve the Investigations data structured record with valid start date and no end date expected success and no operation outcome + Given I configure the default "GpcGetStructuredRecord" request + And I add an NHS Number parameter for "patient2" + And I add the investigations data parameter with valid start date and no end date + When I make the "GpcGetStructuredRecord" request + Then the response status code should indicate success And check the response does not contain an operation outcome -@1.5.0-IncrementalAndRegression -Scenario: Retrieve Investigations data structured record section for an invalid Identifier System - Given I configure the default "GpcGetStructuredRecord" request + Scenario: Retrieve the Investigations data structured record with no start date and no end date expected success and no operation outcome + Given I configure the default "GpcGetStructuredRecord" request + And I add an NHS Number parameter for "patient2" + And I add the investigations data parameter with no start date and no end date + When I make the "GpcGetStructuredRecord" request + Then the response status code should indicate success + And check the response does not contain an operation outcome + + @1.5.0-IncrementalAndRegression + Scenario: Retrieve Investigations data structured record section for an invalid Identifier System + Given I configure the default "GpcGetStructuredRecord" request And I add an NHS Number parameter for "patient1" with an invalid Identifier System And I add the Investigations parameter - When I make the "GpcGetStructuredRecord" request - Then the response status code should indicate failure + When I make the "GpcGetStructuredRecord" request + Then the response status code should indicate failure And the response should be a OperationOutcome resource -@1.5.0-IncrementalAndRegression -Scenario: Retrieve Investigations data structured record section for an empty Identifier System -Given I configure the default "GpcGetStructuredRecord" request + @1.5.0-IncrementalAndRegression + Scenario: Retrieve Investigations data structured record section for an empty Identifier System + Given I configure the default "GpcGetStructuredRecord" request And I add an NHS Number parameter for "patient1" with an empty Identifier System And I add the Investigations parameter - When I make the "GpcGetStructuredRecord" request - Then the response status code should indicate failure + When I make the "GpcGetStructuredRecord" request + Then the response status code should indicate failure And the response should be a OperationOutcome resource -@1.5.0-IncrementalAndRegression -Scenario: Retrieve Investigations data structured record for a patient that has sensitive flag - Given I configure the default "GpcGetStructuredRecord" request + @1.5.0-IncrementalAndRegression + Scenario: Retrieve Investigations data structured record for a patient that has sensitive flag + Given I configure the default "GpcGetStructuredRecord" request And I add an NHS Number parameter for "patient9" And I add the Investigations parameter - When I make the "GpcGetStructuredRecord" request - Then the response status code should indicate failure + When I make the "GpcGetStructuredRecord" request + Then the response status code should indicate failure And the response status code should be "404" And the response should be a OperationOutcome resource with error code "PATIENT_NOT_FOUND" -@1.5.0-IncrementalAndRegression -Scenario Outline: Retrieve the Investigations data structured record with invalid dates expected failure - Given I configure the default "GpcGetStructuredRecord" request + @1.5.0-IncrementalAndRegression + Scenario Outline: Retrieve the Investigations data structured record with invalid dates expected failure + Given I configure the default "GpcGetStructuredRecord" request And I add an NHS Number parameter for "patient2" And I add the investigations data parameter with date permutations "" and "" - When I make the "GpcGetStructuredRecord" request - Then the response status code should indicate failure + When I make the "GpcGetStructuredRecord" request + Then the response status code should indicate failure And the response status code should be "422" And the response should be a OperationOutcome resource with error code "INVALID_PARAMETER" - Examples: - | startDate | endDate | Parameter | PartParameter | - | 2014 | 2016-01-01 | includeInvestigations | investigationSearchPeriod | - | 2014-02 | 2014-08-20 | includeInvestigations | investigationSearchPeriod | - | 2015-10-23T11:08:32 | 2016-11-01 | includeInvestigations | investigationSearchPeriod | - | 2015-10-23T11:08:32+00:00 | 2019-10-01 | includeInvestigations | investigationSearchPeriod | - | 2014-01-01 | 2016 | includeInvestigations | investigationSearchPeriod | - | 2014-02-01 | 2014-08 | includeInvestigations | investigationSearchPeriod | - | 2015-10-01 | 2016-11-23T11:08:32 | includeInvestigations | investigationSearchPeriod | - | 2014-01-01 | 2015-10-23T11:08:32+00:00 | includeInvestigations | investigationSearchPeriod | + Examples: + | startDate | endDate | Parameter | PartParameter | + | 2014 | 2016-01-01 | includeInvestigations | investigationSearchPeriod | + | 2014-02 | 2014-08-20 | includeInvestigations | investigationSearchPeriod | + | 2015-10-23T11:08:32 | 2016-11-01 | includeInvestigations | investigationSearchPeriod | + | 2015-10-23T11:08:32+00:00 | 2019-10-01 | includeInvestigations | investigationSearchPeriod | + | 2014-01-01 | 2016 | includeInvestigations | investigationSearchPeriod | + | 2014-02-01 | 2014-08 | includeInvestigations | investigationSearchPeriod | + | 2015-10-01 | 2016-11-23T11:08:32 | includeInvestigations | investigationSearchPeriod | + | 2014-01-01 | 2015-10-23T11:08:32+00:00 | includeInvestigations | investigationSearchPeriod | -@1.5.0-IncrementalAndRegression -Scenario: Retrieve the Investigations data structured record with investigationSearchPeriod in future expected failure - Given I configure the default "GpcGetStructuredRecord" request + @1.5.0-IncrementalAndRegression + Scenario: Retrieve the Investigations data structured record with investigationSearchPeriod in future expected failure + Given I configure the default "GpcGetStructuredRecord" request And I add an NHS Number parameter for "patient2" And I add the investigations data parameter with future start date - When I make the "GpcGetStructuredRecord" request - Then the response status code should indicate failure + When I make the "GpcGetStructuredRecord" request + Then the response status code should indicate failure And the response status code should be "422" And the response should be a OperationOutcome resource with error code "INVALID_PARAMETER" -@1.5.0-IncrementalAndRegression -Scenario: Retrieve the Investigations data structured record startDate after endDate expected failure - Given I configure the default "GpcGetStructuredRecord" request + @1.5.0-IncrementalAndRegression + Scenario: Retrieve the Investigations data structured record startDate after endDate expected failure + Given I configure the default "GpcGetStructuredRecord" request And I add an NHS Number parameter for "patient2" And I add the investigations data parameter start date after endDate - When I make the "GpcGetStructuredRecord" request - Then the response status code should indicate failure + When I make the "GpcGetStructuredRecord" request + Then the response status code should indicate failure Then the response status code should be "422" - And the response should be a OperationOutcome resource with error code "INVALID_PARAMETER" - \ No newline at end of file + And the response should be a OperationOutcome resource with error code "INVALID_PARAMETER" diff --git a/GPConnect.Provider.AcceptanceTests/StructuredInvestigations.feature.cs b/GPConnect.Provider.AcceptanceTests/StructuredInvestigations.feature.cs index ba06d971..8f4a19d3 100644 --- a/GPConnect.Provider.AcceptanceTests/StructuredInvestigations.feature.cs +++ b/GPConnect.Provider.AcceptanceTests/StructuredInvestigations.feature.cs @@ -91,7 +91,7 @@ public void VerifyInvestigationsStructuredRecordForAPatientWithInvestigationsNot TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Verify Investigations structured record for a Patient with Investigations not lin" + "ked to any problems", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 8 -this.ScenarioInitialize(scenarioInfo); + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -101,7 +101,7 @@ public void VerifyInvestigationsStructuredRecordForAPatientWithInvestigationsNot { this.ScenarioStart(); #line 9 - testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); + testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden #line 10 testRunner.And("I add an NHS Number parameter for \"patient3\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); @@ -110,10 +110,10 @@ public void VerifyInvestigationsStructuredRecordForAPatientWithInvestigationsNot testRunner.And("I add the Investigations parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 12 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); + testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden #line 13 - testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); + testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden #line 14 testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); @@ -137,7 +137,7 @@ public void VerifyInvestigationsStructuredRecordForAPatientWithInvestigationsNot testRunner.And("the Bundle should be valid for patient \"patient3\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 20 - testRunner.And("check that the bundle does not contain any duplicate resources", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + testRunner.And("check that the bundle does not contain any duplicate resources", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 21 testRunner.And("check the response does not contain an operation outcome", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); @@ -200,7 +200,7 @@ public void VerifyInvestigationsStructuredRecordForAPatientWithInvestigationsAss TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Verify Investigations structured record for a Patient with Investigations associa" + "ted to Problems", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 38 -this.ScenarioInitialize(scenarioInfo); + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -210,7 +210,7 @@ public void VerifyInvestigationsStructuredRecordForAPatientWithInvestigationsAss { this.ScenarioStart(); #line 39 - testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); + testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden #line 40 testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); @@ -219,10 +219,10 @@ public void VerifyInvestigationsStructuredRecordForAPatientWithInvestigationsAss testRunner.And("I add the Investigations parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 42 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); + testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden #line 43 - testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); + testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden #line 44 testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); @@ -246,7 +246,7 @@ public void VerifyInvestigationsStructuredRecordForAPatientWithInvestigationsAss testRunner.And("the Bundle should be valid for patient \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 50 - testRunner.And("check that the bundle does not contain any duplicate resources", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + testRunner.And("check that the bundle does not contain any duplicate resources", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 51 testRunner.And("check the response does not contain an operation outcome", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); @@ -318,7 +318,7 @@ public void VerifyInvestigationsStructuredRecordForAPatientWithDiagnosticReports TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Verify Investigations structured record for a Patient with DiagnosticReports Link" + "ed to ProcedureRequests", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 72 -this.ScenarioInitialize(scenarioInfo); + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -328,7 +328,7 @@ public void VerifyInvestigationsStructuredRecordForAPatientWithDiagnosticReports { this.ScenarioStart(); #line 73 - testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); + testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden #line 74 testRunner.And("I add an NHS Number parameter for \"patient3\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); @@ -337,10 +337,10 @@ public void VerifyInvestigationsStructuredRecordForAPatientWithDiagnosticReports testRunner.And("I add the Investigations parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 76 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); + testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden #line 77 - testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); + testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden #line 78 testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); @@ -364,7 +364,7 @@ public void VerifyInvestigationsStructuredRecordForAPatientWithDiagnosticReports testRunner.And("the Bundle should be valid for patient \"patient3\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 84 - testRunner.And("check that the bundle does not contain any duplicate resources", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + testRunner.And("check that the bundle does not contain any duplicate resources", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 85 testRunner.And("check the response does not contain an operation outcome", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); @@ -433,7 +433,7 @@ public void RetrieveInvestigationsStructuredRecordForAPatientThatHasNoInvestigat TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve Investigations structured record for a patient that has no Investigation" + "s data", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 105 -this.ScenarioInitialize(scenarioInfo); + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -443,7 +443,7 @@ public void RetrieveInvestigationsStructuredRecordForAPatientThatHasNoInvestigat { this.ScenarioStart(); #line 106 - testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); + testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden #line 107 testRunner.And("I add an NHS Number parameter for \"patient4\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); @@ -452,10 +452,10 @@ public void RetrieveInvestigationsStructuredRecordForAPatientThatHasNoInvestigat testRunner.And("I add the Investigations parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 109 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); + testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden #line 110 - testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); + testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden #line 111 testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); @@ -509,7 +509,7 @@ public void RetrieveTheInvestigationsDataStructuredRecordWithPeriodDatesEqualToC TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the Investigations data structured record with period dates equal to cur" + "rent date expected success and no operation outcome", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 124 -this.ScenarioInitialize(scenarioInfo); + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -519,7 +519,7 @@ public void RetrieveTheInvestigationsDataStructuredRecordWithPeriodDatesEqualToC { this.ScenarioStart(); #line 125 - testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); + testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden #line 126 testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); @@ -528,10 +528,10 @@ public void RetrieveTheInvestigationsDataStructuredRecordWithPeriodDatesEqualToC testRunner.And("I add the investigations data parameter with current date", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 128 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); + testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden #line 129 - testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); + testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden #line 130 testRunner.And("check the response does not contain an operation outcome", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); @@ -540,6 +540,88 @@ public void RetrieveTheInvestigationsDataStructuredRecordWithPeriodDatesEqualToC this.ScenarioCleanup(); } + [NUnit.Framework.TestAttribute()] + [NUnit.Framework.DescriptionAttribute("Retrieve the Investigations data structured record with valid start date and no e" + + "nd date expected success and no operation outcome")] + public void RetrieveTheInvestigationsDataStructuredRecordWithValidStartDateAndNoEndDateExpectedSuccessAndNoOperationOutcome() + { + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the Investigations data structured record with valid start date and no e" + + "nd date expected success and no operation outcome", null, tagsOfScenario, argumentsOfScenario, featureTags); +#line 132 + this.ScenarioInitialize(scenarioInfo); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); +#line 133 + testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden +#line 134 + testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden +#line 135 + testRunner.And("I add the investigations data parameter with valid start date and no end date", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden +#line 136 + testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden +#line 137 + testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden +#line 138 + testRunner.And("check the response does not contain an operation outcome", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden + } + this.ScenarioCleanup(); + } + + [NUnit.Framework.TestAttribute()] + [NUnit.Framework.DescriptionAttribute("Retrieve the Investigations data structured record with no start date and no end " + + "date expected success and no operation outcome")] + public void RetrieveTheInvestigationsDataStructuredRecordWithNoStartDateAndNoEndDateExpectedSuccessAndNoOperationOutcome() + { + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the Investigations data structured record with no start date and no end " + + "date expected success and no operation outcome", null, tagsOfScenario, argumentsOfScenario, featureTags); +#line 140 + this.ScenarioInitialize(scenarioInfo); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); +#line 141 + testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden +#line 142 + testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden +#line 143 + testRunner.And("I add the investigations data parameter with no start date and no end date", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden +#line 144 + testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden +#line 145 + testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden +#line 146 + testRunner.And("check the response does not contain an operation outcome", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden + } + this.ScenarioCleanup(); + } + [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Retrieve Investigations data structured record section for an invalid Identifier " + "System")] @@ -551,8 +633,8 @@ public void RetrieveInvestigationsDataStructuredRecordSectionForAnInvalidIdentif System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve Investigations data structured record section for an invalid Identifier " + "System", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 133 -this.ScenarioInitialize(scenarioInfo); +#line 149 + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -561,22 +643,22 @@ public void RetrieveInvestigationsDataStructuredRecordSectionForAnInvalidIdentif else { this.ScenarioStart(); -#line 134 - testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 150 + testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 135 +#line 151 testRunner.And("I add an NHS Number parameter for \"patient1\" with an invalid Identifier System", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 136 +#line 152 testRunner.And("I add the Investigations parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 137 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 153 + testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 138 - testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line 154 + testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 139 +#line 155 testRunner.And("the response should be a OperationOutcome resource", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } @@ -594,8 +676,8 @@ public void RetrieveInvestigationsDataStructuredRecordSectionForAnEmptyIdentifie System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve Investigations data structured record section for an empty Identifier Sy" + "stem", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 142 -this.ScenarioInitialize(scenarioInfo); +#line 158 + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -604,22 +686,22 @@ public void RetrieveInvestigationsDataStructuredRecordSectionForAnEmptyIdentifie else { this.ScenarioStart(); -#line 143 -testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 159 + testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 144 +#line 160 testRunner.And("I add an NHS Number parameter for \"patient1\" with an empty Identifier System", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 145 +#line 161 testRunner.And("I add the Investigations parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 146 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 162 + testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 147 - testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line 163 + testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 148 +#line 164 testRunner.And("the response should be a OperationOutcome resource", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } @@ -637,8 +719,8 @@ public void RetrieveInvestigationsDataStructuredRecordForAPatientThatHasSensitiv System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve Investigations data structured record for a patient that has sensitive f" + "lag", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 151 -this.ScenarioInitialize(scenarioInfo); +#line 167 + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -647,25 +729,25 @@ public void RetrieveInvestigationsDataStructuredRecordForAPatientThatHasSensitiv else { this.ScenarioStart(); -#line 152 - testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 168 + testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 153 +#line 169 testRunner.And("I add an NHS Number parameter for \"patient9\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 154 +#line 170 testRunner.And("I add the Investigations parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 155 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 171 + testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 156 - testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line 172 + testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 157 +#line 173 testRunner.And("the response status code should be \"404\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 158 +#line 174 testRunner.And("the response should be a OperationOutcome resource with error code \"PATIENT_NOT_F" + "OUND\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden @@ -701,8 +783,8 @@ public void RetrieveTheInvestigationsDataStructuredRecordWithInvalidDatesExpecte argumentsOfScenario.Add("PartParameter", partParameter); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the Investigations data structured record with invalid dates expected fa" + "ilure", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 161 -this.ScenarioInitialize(scenarioInfo); +#line 177 + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -711,25 +793,25 @@ public void RetrieveTheInvestigationsDataStructuredRecordWithInvalidDatesExpecte else { this.ScenarioStart(); -#line 162 - testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 178 + testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 163 +#line 179 testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 164 +#line 180 testRunner.And(string.Format("I add the investigations data parameter with date permutations \"{0}\" and \"{1}\"", startDate, endDate), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 165 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 181 + testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 166 - testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line 182 + testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 167 +#line 183 testRunner.And("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 168 +#line 184 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_PARAM" + "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden @@ -748,8 +830,8 @@ public void RetrieveTheInvestigationsDataStructuredRecordWithInvestigationSearch System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the Investigations data structured record with investigationSearchPeriod" + " in future expected failure", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 181 -this.ScenarioInitialize(scenarioInfo); +#line 197 + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -758,25 +840,25 @@ public void RetrieveTheInvestigationsDataStructuredRecordWithInvestigationSearch else { this.ScenarioStart(); -#line 182 - testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 198 + testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 183 +#line 199 testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 184 +#line 200 testRunner.And("I add the investigations data parameter with future start date", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 185 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 201 + testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 186 - testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line 202 + testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 187 +#line 203 testRunner.And("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 188 +#line 204 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_PARAM" + "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden @@ -795,8 +877,8 @@ public void RetrieveTheInvestigationsDataStructuredRecordStartDateAfterEndDateEx System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the Investigations data structured record startDate after endDate expect" + "ed failure", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 191 -this.ScenarioInitialize(scenarioInfo); +#line 207 + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -805,25 +887,25 @@ public void RetrieveTheInvestigationsDataStructuredRecordStartDateAfterEndDateEx else { this.ScenarioStart(); -#line 192 - testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 208 + testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 193 +#line 209 testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 194 +#line 210 testRunner.And("I add the investigations data parameter start date after endDate", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 195 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 211 + testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 196 - testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line 212 + testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 197 +#line 213 testRunner.Then("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 198 +#line 214 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_PARAM" + "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden diff --git a/GPConnect.Provider.AcceptanceTests/StructuredMedications.feature b/GPConnect.Provider.AcceptanceTests/StructuredMedications.feature index 23c58348..e681f636 100644 --- a/GPConnect.Provider.AcceptanceTests/StructuredMedications.feature +++ b/GPConnect.Provider.AcceptanceTests/StructuredMedications.feature @@ -37,7 +37,7 @@ Feature: StructuredMedications | patient12 | | patient16 | - Scenario Outline: Retrieve the medication structured record section for a patient with no problems linked and including prescription issues + Scenario Outline: Retrieve the medication structured record section for a patient with problems linked and including prescription issues Given I configure the default "GpcGetStructuredRecord" request And I add an NHS Number parameter for "" And I add the medication parameter with includePrescriptionIssues set to "true" @@ -60,11 +60,6 @@ Feature: StructuredMedications And the Practitioner Id should be valid And the Organization Id should be valid And check the response does not contain an operation outcome - # And I Check The Problems Secondary Problems List - # And I Check The Problems Secondary Problems List Does Not Include Not In Use Fields - # And I Check The Problems Resources are Valid - # And I check The Problem Resources Do Not Include Not In Use Fields - # And Check a Problem is Linked to a MedicationRequest resource that has been included in the response And I Check There is No Problems Secondary Problems List And I Check No Problem Resources are Included And Check the MedicationRequests have a link to a medication that has been included in response @@ -104,7 +99,6 @@ Feature: StructuredMedications | patient3 | | patient5 | | patient12 | - | patient33 | Scenario: Retrieve the medication structured record section for a patient with no medications Given I configure the default "GpcGetStructuredRecord" request diff --git a/GPConnect.Provider.AcceptanceTests/StructuredMedications.feature.cs b/GPConnect.Provider.AcceptanceTests/StructuredMedications.feature.cs index e063dbad..35c44591 100644 --- a/GPConnect.Provider.AcceptanceTests/StructuredMedications.feature.cs +++ b/GPConnect.Provider.AcceptanceTests/StructuredMedications.feature.cs @@ -183,16 +183,16 @@ public void RetrieveTheMedicationStructuredRecordSectionForAPatientWithNoProblem } [NUnit.Framework.TestAttribute()] - [NUnit.Framework.DescriptionAttribute("Retrieve the medication structured record section for a patient with no problems " + - "linked and including prescription issues")] + [NUnit.Framework.DescriptionAttribute("Retrieve the medication structured record section for a patient with problems lin" + + "ked and including prescription issues")] [NUnit.Framework.TestCaseAttribute("patient33", null)] - public void RetrieveTheMedicationStructuredRecordSectionForAPatientWithNoProblemsLinkedAndIncludingPrescriptionIssues(string patient, string[] exampleTags) + public void RetrieveTheMedicationStructuredRecordSectionForAPatientWithProblemsLinkedAndIncludingPrescriptionIssues(string patient, string[] exampleTags) { string[] tagsOfScenario = exampleTags; System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); argumentsOfScenario.Add("Patient", patient); - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the medication structured record section for a patient with no problems " + - "linked and including prescription issues", null, tagsOfScenario, argumentsOfScenario, featureTags); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the medication structured record section for a patient with problems lin" + + "ked and including prescription issues", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 40 this.ScenarioInitialize(scenarioInfo); #line hidden @@ -272,21 +272,21 @@ public void RetrieveTheMedicationStructuredRecordSectionForAPatientWithNoProblem #line 62 testRunner.And("check the response does not contain an operation outcome", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 68 +#line 63 testRunner.And("I Check There is No Problems Secondary Problems List", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 69 +#line 64 testRunner.And("I Check No Problem Resources are Included", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 70 +#line 65 testRunner.And("Check the MedicationRequests have a link to a medication that has been included i" + "n response", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 71 +#line 66 testRunner.And("Check there is a MedicationStatement resource that is linked to the MedicationReq" + "uest and Medication", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 72 +#line 67 testRunner.And("Check the Medications List resource has been included in response", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } @@ -299,7 +299,6 @@ public void RetrieveTheMedicationStructuredRecordSectionForAPatientWithNoProblem [NUnit.Framework.TestCaseAttribute("patient3", null)] [NUnit.Framework.TestCaseAttribute("patient5", null)] [NUnit.Framework.TestCaseAttribute("patient12", null)] - [NUnit.Framework.TestCaseAttribute("patient33", null)] public void RetrieveTheMedicationStructuredRecordForAPatientWithNoProblemsAndExcludingPrescriptionIssues(string patient, string[] exampleTags) { string[] tagsOfScenario = exampleTags; @@ -307,7 +306,7 @@ public void RetrieveTheMedicationStructuredRecordForAPatientWithNoProblemsAndExc argumentsOfScenario.Add("Patient", patient); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the medication structured record for a patient with no problems and excl" + "uding prescription issues", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 77 +#line 72 this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) @@ -317,79 +316,79 @@ public void RetrieveTheMedicationStructuredRecordForAPatientWithNoProblemsAndExc else { this.ScenarioStart(); -#line 78 +#line 73 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 79 +#line 74 testRunner.And(string.Format("I add an NHS Number parameter for \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 80 +#line 75 testRunner.And("I add the medication parameter with includePrescriptionIssues set to \"false\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 81 +#line 76 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 82 +#line 77 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 83 +#line 78 testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 84 +#line 79 testRunner.And("the response meta profile should be for \"structured\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 85 +#line 80 testRunner.And("the patient resource in the bundle should contain meta data profile and version i" + "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 86 +#line 81 testRunner.And("if the response bundle contains a practitioner resource it should contain meta da" + "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 87 +#line 82 testRunner.And("if the response bundle contains an organization resource it should contain meta d" + "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 88 +#line 83 testRunner.And(string.Format("the Bundle should be valid for patient \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 89 +#line 84 testRunner.And("check that the bundle does not contain any duplicate resources", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 90 +#line 85 testRunner.And("the Bundle should contain \"1\" lists", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 91 +#line 86 testRunner.And("the Medications should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 92 +#line 87 testRunner.And("the Medication Statements should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 93 +#line 88 testRunner.And("the Medication Requests should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 94 +#line 89 testRunner.And("the List of MedicationStatements should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 95 +#line 90 testRunner.And("the Medication Requests should not contain any issues", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 96 +#line 91 testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 97 +#line 92 testRunner.And("the Practitioner Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 98 +#line 93 testRunner.And("the Organization Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 99 +#line 94 testRunner.And("check the response does not contain an operation outcome", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 100 +#line 95 testRunner.And("I Check There is No Problems Secondary Problems List", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 101 +#line 96 testRunner.And("I Check No Problem Resources are Included", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } @@ -405,7 +404,7 @@ public void RetrieveTheMedicationStructuredRecordSectionForAPatientWithNoMedicat System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the medication structured record section for a patient with no medicatio" + "ns", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 109 +#line 103 this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) @@ -415,55 +414,55 @@ public void RetrieveTheMedicationStructuredRecordSectionForAPatientWithNoMedicat else { this.ScenarioStart(); -#line 110 +#line 104 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 111 +#line 105 testRunner.And("I add an NHS Number parameter for \"patient4\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 112 +#line 106 testRunner.And("I add the medication parameter with includePrescriptionIssues set to \"false\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 113 +#line 107 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 114 +#line 108 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 115 +#line 109 testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 116 +#line 110 testRunner.And("the response meta profile should be for \"structured\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 117 +#line 111 testRunner.And("the patient resource in the bundle should contain meta data profile and version i" + "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 118 +#line 112 testRunner.And("if the response bundle contains a practitioner resource it should contain meta da" + "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 119 +#line 113 testRunner.And("if the response bundle contains an organization resource it should contain meta d" + "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 120 +#line 114 testRunner.And("the Bundle should be valid for patient \"patient4\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 121 +#line 115 testRunner.And("the Bundle should contain \"1\" lists", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 122 +#line 116 testRunner.And("the List of MedicationStatements should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 123 +#line 117 testRunner.And("the Medications should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 124 +#line 118 testRunner.And("the Medication Statements should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 125 +#line 119 testRunner.And("the Medication Requests should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } @@ -479,7 +478,7 @@ public void RetrieveTheMedicationStructuredRecordSectionForAPatientWithATimePeri System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the medication structured record section for a patient with a timePeriod" + "", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 127 +#line 121 this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) @@ -489,55 +488,55 @@ public void RetrieveTheMedicationStructuredRecordSectionForAPatientWithATimePeri else { this.ScenarioStart(); -#line 128 +#line 122 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 129 +#line 123 testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 131 +#line 125 testRunner.And("I set a medications period parameter start date to \"2022-09-25\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 132 +#line 126 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 133 +#line 127 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 134 +#line 128 testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 135 +#line 129 testRunner.And("the response meta profile should be for \"structured\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 136 +#line 130 testRunner.And("the patient resource in the bundle should contain meta data profile and version i" + "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 137 +#line 131 testRunner.And("if the response bundle contains a practitioner resource it should contain meta da" + "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 138 +#line 132 testRunner.And("if the response bundle contains an organization resource it should contain meta d" + "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 139 +#line 133 testRunner.And("the Bundle should be valid for patient \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 140 +#line 134 testRunner.And("the Medications should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 141 +#line 135 testRunner.And("the Medication Statements should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 142 +#line 136 testRunner.And("the Medication Requests should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 143 +#line 137 testRunner.And("the List of MedicationStatements should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 145 +#line 139 testRunner.And("the MedicationStatement EffectiveDate is Greater Than Search Date of \"2022-09-25\"" + " years ago", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden @@ -554,7 +553,7 @@ public void RetrieveTheMedicationStructuredRecordSectionForAPatientWithMedicatio System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the medication structured record section for a patient with medication p" + "rescribed elsewhere", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 147 +#line 141 this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) @@ -564,58 +563,58 @@ public void RetrieveTheMedicationStructuredRecordSectionForAPatientWithMedicatio else { this.ScenarioStart(); -#line 148 +#line 142 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 149 +#line 143 testRunner.And("I add an NHS Number parameter for \"patient12\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 150 +#line 144 testRunner.And("I add the medication parameter with includePrescriptionIssues set to \"true\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 151 +#line 145 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 152 +#line 146 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 153 +#line 147 testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 154 +#line 148 testRunner.And("the response meta profile should be for \"structured\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 155 +#line 149 testRunner.And("the patient resource in the bundle should contain meta data profile and version i" + "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 156 +#line 150 testRunner.And("if the response bundle contains a practitioner resource it should contain meta da" + "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 157 +#line 151 testRunner.And("if the response bundle contains an organization resource it should contain meta d" + "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 158 +#line 152 testRunner.And("the Bundle should be valid for patient \"patient12\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 159 +#line 153 testRunner.And("the Bundle should contain \"1\" lists", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 160 +#line 154 testRunner.And("the Medications should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 161 +#line 155 testRunner.And("the Medication Statements should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 162 +#line 156 testRunner.And("the Medication Requests should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 163 +#line 157 testRunner.And("the List of MedicationStatements should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 164 +#line 158 testRunner.And("the MedicationStatement for prescriptions prescribed elsewhere should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } diff --git a/GPConnect.Provider.AcceptanceTests/StructuredReferrals.feature b/GPConnect.Provider.AcceptanceTests/StructuredReferrals.feature index 66c0077d..175bc97a 100644 --- a/GPConnect.Provider.AcceptanceTests/StructuredReferrals.feature +++ b/GPConnect.Provider.AcceptanceTests/StructuredReferrals.feature @@ -1,55 +1,55 @@ @Structured @StructuredReferrals @1.5.0-Full-Pack Feature: StructuredReferrals -# These Tests are only Testing this Structured Area in isolation and Not with other Areas or Combinations of Include Parameters -# Tests around Multiple Structured Areas in one Request are tested in the MultipleRequests Feature - -@1.5.0-IncrementalAndRegression -Scenario: Verify Referrals structured record for a Patient with Referrals not linked to any problems - Given I configure the default "GpcGetStructuredRecord" request + # These Tests are only Testing this Structured Area in isolation and Not with other Areas or Combinations of Include Parameters + # Tests around Multiple Structured Areas in one Request are tested in the MultipleRequests Feature + + @1.5.0-IncrementalAndRegression + Scenario: Verify Referrals structured record for a Patient with Referrals not linked to any problems + Given I configure the default "GpcGetStructuredRecord" request And I add an NHS Number parameter for "patient3" And I add the Referrals parameter - When I make the "GpcGetStructuredRecord" request - Then the response status code should indicate success + When I make the "GpcGetStructuredRecord" request + Then the response status code should indicate success And the response should be a Bundle resource of type "collection" And the response meta profile should be for "structured" And the patient resource in the bundle should contain meta data profile and version id And if the response bundle contains a practitioner resource it should contain meta data profile and version id And if the response bundle contains an organization resource it should contain meta data profile and version id And the Bundle should be valid for patient "patient3" - And check that the bundle does not contain any duplicate resources + And check that the bundle does not contain any duplicate resources And check the response does not contain an operation outcome And the Patient Id should be valid And the Practitioner Id should be valid - And the Organization Id should be valid + And the Organization Id should be valid And the Bundle should contain "1" lists And I Check the Referrals List is Valid - And The Structured List Does Not Include Not In Use Fields + And The Structured List Does Not Include Not In Use Fields And I Check the ReferralRequests are Valid And I Check the ReferralRequests Do Not Include Not in Use Fields And I Check There is No Problems Secondary Problems List And I Check No Problem Resources are Included -@1.5.0-IncrementalAndRegression -Scenario: Verify Referrals structured record for a Patient with Referrals associated to Problems - Given I configure the default "GpcGetStructuredRecord" request + @1.5.0-IncrementalAndRegression + Scenario: Verify Referrals structured record for a Patient with Referrals associated to Problems + Given I configure the default "GpcGetStructuredRecord" request And I add an NHS Number parameter for "patient2" And I add the Referrals parameter - When I make the "GpcGetStructuredRecord" request - Then the response status code should indicate success + When I make the "GpcGetStructuredRecord" request + Then the response status code should indicate success And the response should be a Bundle resource of type "collection" And the response meta profile should be for "structured" And the patient resource in the bundle should contain meta data profile and version id And if the response bundle contains a practitioner resource it should contain meta data profile and version id And if the response bundle contains an organization resource it should contain meta data profile and version id And the Bundle should be valid for patient "patient2" - And check that the bundle does not contain any duplicate resources + And check that the bundle does not contain any duplicate resources And check the response does not contain an operation outcome And the Patient Id should be valid And the Practitioner Id should be valid - And the Organization Id should be valid + And the Organization Id should be valid And I Check the Referrals List is Valid - And The Structured List Does Not Include Not In Use Fields + And The Structured List Does Not Include Not In Use Fields And I Check the ReferralRequests are Valid And I Check the ReferralRequests Do Not Include Not in Use Fields And I Check The Problems Secondary Problems List @@ -57,15 +57,15 @@ Scenario: Verify Referrals structured record for a Patient with Referrals associ And I Check The Problems Resources are Valid And I check The Problem Resources Do Not Include Not In Use Fields And the Bundle should contain "2" lists - And Check a Problem is linked to ReferralRequest and that it is also included + And Check a Problem is linked to ReferralRequest and that it is also included -@1.5.0-IncrementalAndRegression -Scenario: Retrieve Referrals structured record for a patient that has no Referrals data - Given I configure the default "GpcGetStructuredRecord" request + @1.5.0-IncrementalAndRegression + Scenario: Retrieve Referrals structured record for a patient that has no Referrals data + Given I configure the default "GpcGetStructuredRecord" request And I add an NHS Number parameter for "patient4" And I add the Referrals parameter - When I make the "GpcGetStructuredRecord" request - Then the response status code should indicate success + When I make the "GpcGetStructuredRecord" request + Then the response status code should indicate success And the response should be a Bundle resource of type "collection" And the response meta profile should be for "structured" And the patient resource in the bundle should contain meta data profile and version id @@ -74,101 +74,116 @@ Scenario: Retrieve Referrals structured record for a patient that has no Referra And the Bundle should be valid for patient "patient4" And the Patient Id should be valid And the Practitioner Id should be valid - And the Organization Id should be valid + And the Organization Id should be valid And check structured list contains a note and emptyReason when no data in section And check the response does not contain an operation outcome -#Demonstrator does not have this data, so test will fail against it -@1.5.0-IncrementalAndRegression -Scenario Outline: Patient with Referrals Has Warnings and Associated Notes - Given I configure the default "GpcGetStructuredRecord" request + #Demonstrator does not have this data, so test will fail against it + @1.5.0-IncrementalAndRegression + Scenario Outline: Patient with Referrals Has Warnings and Associated Notes + Given I configure the default "GpcGetStructuredRecord" request And I add an NHS Number parameter for "" And I add the Referrals parameter - When I make the "GpcGetStructuredRecord" request - Then the response status code should indicate success + When I make the "GpcGetStructuredRecord" request + Then the response status code should indicate success And the Bundle should contain "1" lists And Check the list contains the following warning "" And Check the warning "" has associated note "" - Examples: - | Patient | Warning | Note | - |patient16| confidential-items | Items excluded due to confidentiality and/or patient preferences. | - |patient13| data-in-transit | Patient record transfer from previous GP practice not yet complete; information recorded before dd-Mmm-yyyy may be missing. | + Examples: + | Patient | Warning | Note | + | patient16 | confidential-items | Items excluded due to confidentiality and/or patient preferences. | + | patient13 | data-in-transit | Patient record transfer from previous GP practice not yet complete; information recorded before dd-Mmm-yyyy may be missing. | -@1.5.0-IncrementalAndRegression -Scenario: Retrieve the Referrals data structured record with period dates equal to current date expected success and no operation outcome - Given I configure the default "GpcGetStructuredRecord" request + @1.5.0-IncrementalAndRegression + Scenario: Retrieve the Referrals data structured record with period dates equal to current date expected success and no operation outcome + Given I configure the default "GpcGetStructuredRecord" request And I add an NHS Number parameter for "patient2" And I add the Referrals data parameter with current date - When I make the "GpcGetStructuredRecord" request - Then the response status code should indicate success + When I make the "GpcGetStructuredRecord" request + Then the response status code should indicate success + And check the response does not contain an operation outcome + + Scenario: Retrieve the Referrals data structured record with valid start date and no end date expected success and no operation outcome + Given I configure the default "GpcGetStructuredRecord" request + And I add an NHS Number parameter for "patient2" + And I add the Referrals data parameter with valid start date and no end date + When I make the "GpcGetStructuredRecord" request + Then the response status code should indicate success And check the response does not contain an operation outcome -@1.5.0-IncrementalAndRegression -Scenario: Retrieve Referrals data structured record section for an invalid Identifier System - Given I configure the default "GpcGetStructuredRecord" request + Scenario: Retrieve the Referrals data structured record with no start date and no end date expected success and no operation outcome + Given I configure the default "GpcGetStructuredRecord" request + And I add an NHS Number parameter for "patient2" + And I add the Referrals data parameter with no start date and no end date + When I make the "GpcGetStructuredRecord" request + Then the response status code should indicate success + And check the response does not contain an operation outcome + + @1.5.0-IncrementalAndRegression + Scenario: Retrieve Referrals data structured record section for an invalid Identifier System + Given I configure the default "GpcGetStructuredRecord" request And I add an NHS Number parameter for "patient1" with an invalid Identifier System And I add the Referrals parameter - When I make the "GpcGetStructuredRecord" request - Then the response status code should indicate failure + When I make the "GpcGetStructuredRecord" request + Then the response status code should indicate failure And the response should be a OperationOutcome resource -@1.5.0-IncrementalAndRegression -Scenario: Retrieve Referrals data structured record section for an empty Identifier System -Given I configure the default "GpcGetStructuredRecord" request + @1.5.0-IncrementalAndRegression + Scenario: Retrieve Referrals data structured record section for an empty Identifier System + Given I configure the default "GpcGetStructuredRecord" request And I add an NHS Number parameter for "patient1" with an empty Identifier System And I add the Referrals parameter - When I make the "GpcGetStructuredRecord" request - Then the response status code should indicate failure + When I make the "GpcGetStructuredRecord" request + Then the response status code should indicate failure And the response should be a OperationOutcome resource -@1.5.0-IncrementalAndRegression -Scenario: Retrieve Referrals data structured record for a patient that has sensitive flag - Given I configure the default "GpcGetStructuredRecord" request + @1.5.0-IncrementalAndRegression + Scenario: Retrieve Referrals data structured record for a patient that has sensitive flag + Given I configure the default "GpcGetStructuredRecord" request And I add an NHS Number parameter for "patient9" And I add the Referrals parameter - When I make the "GpcGetStructuredRecord" request - Then the response status code should indicate failure + When I make the "GpcGetStructuredRecord" request + Then the response status code should indicate failure And the response status code should be "404" #And the response should be a OperationOutcome resource with error code "PATIENT_NOT_FOUND" And the response should be a OperationOutcome resource with error code "PATIENT_NOT_FOUND" and display "Patient not found" -@1.5.0-IncrementalAndRegression -Scenario Outline: Retrieve the Referrals data structured record with invalid dates expected failure - Given I configure the default "GpcGetStructuredRecord" request + @1.5.0-IncrementalAndRegression + Scenario Outline: Retrieve the Referrals data structured record with invalid dates expected failure + Given I configure the default "GpcGetStructuredRecord" request And I add an NHS Number parameter for "patient2" And I add the Referrals data parameter with date permutations "" and "" - When I make the "GpcGetStructuredRecord" request - Then the response status code should indicate failure + When I make the "GpcGetStructuredRecord" request + Then the response status code should indicate failure And the response status code should be "422" And the response should be a OperationOutcome resource with error code "INVALID_PARAMETER" - Examples: - | startDate | endDate | Parameter | PartParameter | - | 2014 | 2016-01-01 | includeReferrals | referralSearchPeriod | - | 2014-02 | 2014-08-20 | includeReferrals | referralSearchPeriod | - | 2015-10-23T11:08:32 | 2016-11-01 | includeReferrals | referralSearchPeriod | - | 2015-10-23T11:08:32+00:00 | 2019-10-01 | includeReferrals | referralSearchPeriod | - | 2014-01-01 | 2016 | includeReferrals | referralSearchPeriod | - | 2014-02-01 | 2014-08 | includeReferrals | referralSearchPeriod | - | 2015-10-01 | 2016-11-23T11:08:32 | includeReferrals | referralSearchPeriod | - | 2014-01-01 | 2015-10-23T11:08:32+00:00 | includeReferrals | referralSearchPeriod | + Examples: + | startDate | endDate | Parameter | PartParameter | + | 2014 | 2016-01-01 | includeReferrals | referralSearchPeriod | + | 2014-02 | 2014-08-20 | includeReferrals | referralSearchPeriod | + | 2015-10-23T11:08:32 | 2016-11-01 | includeReferrals | referralSearchPeriod | + | 2015-10-23T11:08:32+00:00 | 2019-10-01 | includeReferrals | referralSearchPeriod | + | 2014-01-01 | 2016 | includeReferrals | referralSearchPeriod | + | 2014-02-01 | 2014-08 | includeReferrals | referralSearchPeriod | + | 2015-10-01 | 2016-11-23T11:08:32 | includeReferrals | referralSearchPeriod | + | 2014-01-01 | 2015-10-23T11:08:32+00:00 | includeReferrals | referralSearchPeriod | -@1.5.0-IncrementalAndRegression -Scenario: Retrieve the Referrals data structured record with referralSearchPeriod in future expected failure - Given I configure the default "GpcGetStructuredRecord" request + @1.5.0-IncrementalAndRegression + Scenario: Retrieve the Referrals data structured record with referralSearchPeriod in future expected failure + Given I configure the default "GpcGetStructuredRecord" request And I add an NHS Number parameter for "patient2" And I add the Referrals data parameter with future start date - When I make the "GpcGetStructuredRecord" request - Then the response status code should indicate failure + When I make the "GpcGetStructuredRecord" request + Then the response status code should indicate failure And the response status code should be "422" And the response should be a OperationOutcome resource with error code "INVALID_PARAMETER" -@1.5.0-IncrementalAndRegression -Scenario: Retrieve the Referrals data structured record startDate after endDate expected failure - Given I configure the default "GpcGetStructuredRecord" request + @1.5.0-IncrementalAndRegression + Scenario: Retrieve the Referrals data structured record startDate after endDate expected failure + Given I configure the default "GpcGetStructuredRecord" request And I add an NHS Number parameter for "patient2" And I add the Referrals data parameter start date after endDate - When I make the "GpcGetStructuredRecord" request - Then the response status code should indicate failure + When I make the "GpcGetStructuredRecord" request + Then the response status code should indicate failure Then the response status code should be "422" - And the response should be a OperationOutcome resource with error code "INVALID_PARAMETER" - \ No newline at end of file + And the response should be a OperationOutcome resource with error code "INVALID_PARAMETER" diff --git a/GPConnect.Provider.AcceptanceTests/StructuredReferrals.feature.cs b/GPConnect.Provider.AcceptanceTests/StructuredReferrals.feature.cs index 9df10aad..d689aae5 100644 --- a/GPConnect.Provider.AcceptanceTests/StructuredReferrals.feature.cs +++ b/GPConnect.Provider.AcceptanceTests/StructuredReferrals.feature.cs @@ -91,7 +91,7 @@ public void VerifyReferralsStructuredRecordForAPatientWithReferralsNotLinkedToAn TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Verify Referrals structured record for a Patient with Referrals not linked to any" + " problems", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 8 -this.ScenarioInitialize(scenarioInfo); + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -101,7 +101,7 @@ public void VerifyReferralsStructuredRecordForAPatientWithReferralsNotLinkedToAn { this.ScenarioStart(); #line 9 - testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); + testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden #line 10 testRunner.And("I add an NHS Number parameter for \"patient3\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); @@ -110,10 +110,10 @@ public void VerifyReferralsStructuredRecordForAPatientWithReferralsNotLinkedToAn testRunner.And("I add the Referrals parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 12 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); + testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden #line 13 - testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); + testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden #line 14 testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); @@ -137,7 +137,7 @@ public void VerifyReferralsStructuredRecordForAPatientWithReferralsNotLinkedToAn testRunner.And("the Bundle should be valid for patient \"patient3\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 20 - testRunner.And("check that the bundle does not contain any duplicate resources", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + testRunner.And("check that the bundle does not contain any duplicate resources", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 21 testRunner.And("check the response does not contain an operation outcome", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); @@ -188,7 +188,7 @@ public void VerifyReferralsStructuredRecordForAPatientWithReferralsAssociatedToP TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Verify Referrals structured record for a Patient with Referrals associated to Pro" + "blems", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 34 -this.ScenarioInitialize(scenarioInfo); + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -198,7 +198,7 @@ public void VerifyReferralsStructuredRecordForAPatientWithReferralsAssociatedToP { this.ScenarioStart(); #line 35 - testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); + testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden #line 36 testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); @@ -207,10 +207,10 @@ public void VerifyReferralsStructuredRecordForAPatientWithReferralsAssociatedToP testRunner.And("I add the Referrals parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 38 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); + testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden #line 39 - testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); + testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden #line 40 testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); @@ -234,7 +234,7 @@ public void VerifyReferralsStructuredRecordForAPatientWithReferralsAssociatedToP testRunner.And("the Bundle should be valid for patient \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 46 - testRunner.And("check that the bundle does not contain any duplicate resources", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + testRunner.And("check that the bundle does not contain any duplicate resources", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 47 testRunner.And("check the response does not contain an operation outcome", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); @@ -292,7 +292,7 @@ public void RetrieveReferralsStructuredRecordForAPatientThatHasNoReferralsData() System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve Referrals structured record for a patient that has no Referrals data", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 63 -this.ScenarioInitialize(scenarioInfo); + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -302,7 +302,7 @@ public void RetrieveReferralsStructuredRecordForAPatientThatHasNoReferralsData() { this.ScenarioStart(); #line 64 - testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); + testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden #line 65 testRunner.And("I add an NHS Number parameter for \"patient4\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); @@ -311,10 +311,10 @@ public void RetrieveReferralsStructuredRecordForAPatientThatHasNoReferralsData() testRunner.And("I add the Referrals parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 67 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); + testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden #line 68 - testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); + testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden #line 69 testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); @@ -377,7 +377,7 @@ public void PatientWithReferralsHasWarningsAndAssociatedNotes(string patient, st argumentsOfScenario.Add("Note", note); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Patient with Referrals Has Warnings and Associated Notes", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 83 -this.ScenarioInitialize(scenarioInfo); + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -387,7 +387,7 @@ public void PatientWithReferralsHasWarningsAndAssociatedNotes(string patient, st { this.ScenarioStart(); #line 84 - testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); + testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden #line 85 testRunner.And(string.Format("I add an NHS Number parameter for \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); @@ -396,10 +396,10 @@ public void PatientWithReferralsHasWarningsAndAssociatedNotes(string patient, st testRunner.And("I add the Referrals parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 87 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); + testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden #line 88 - testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); + testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden #line 89 testRunner.And("the Bundle should contain \"1\" lists", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); @@ -426,7 +426,7 @@ public void RetrieveTheReferralsDataStructuredRecordWithPeriodDatesEqualToCurren TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the Referrals data structured record with period dates equal to current " + "date expected success and no operation outcome", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 98 -this.ScenarioInitialize(scenarioInfo); + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -436,7 +436,7 @@ public void RetrieveTheReferralsDataStructuredRecordWithPeriodDatesEqualToCurren { this.ScenarioStart(); #line 99 - testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); + testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden #line 100 testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); @@ -445,10 +445,10 @@ public void RetrieveTheReferralsDataStructuredRecordWithPeriodDatesEqualToCurren testRunner.And("I add the Referrals data parameter with current date", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 102 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); + testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden #line 103 - testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); + testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden #line 104 testRunner.And("check the response does not contain an operation outcome", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); @@ -457,6 +457,88 @@ public void RetrieveTheReferralsDataStructuredRecordWithPeriodDatesEqualToCurren this.ScenarioCleanup(); } + [NUnit.Framework.TestAttribute()] + [NUnit.Framework.DescriptionAttribute("Retrieve the Referrals data structured record with valid start date and no end da" + + "te expected success and no operation outcome")] + public void RetrieveTheReferralsDataStructuredRecordWithValidStartDateAndNoEndDateExpectedSuccessAndNoOperationOutcome() + { + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the Referrals data structured record with valid start date and no end da" + + "te expected success and no operation outcome", null, tagsOfScenario, argumentsOfScenario, featureTags); +#line 106 + this.ScenarioInitialize(scenarioInfo); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); +#line 107 + testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden +#line 108 + testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden +#line 109 + testRunner.And("I add the Referrals data parameter with valid start date and no end date", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden +#line 110 + testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden +#line 111 + testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden +#line 112 + testRunner.And("check the response does not contain an operation outcome", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden + } + this.ScenarioCleanup(); + } + + [NUnit.Framework.TestAttribute()] + [NUnit.Framework.DescriptionAttribute("Retrieve the Referrals data structured record with no start date and no end date " + + "expected success and no operation outcome")] + public void RetrieveTheReferralsDataStructuredRecordWithNoStartDateAndNoEndDateExpectedSuccessAndNoOperationOutcome() + { + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the Referrals data structured record with no start date and no end date " + + "expected success and no operation outcome", null, tagsOfScenario, argumentsOfScenario, featureTags); +#line 114 + this.ScenarioInitialize(scenarioInfo); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); +#line 115 + testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden +#line 116 + testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden +#line 117 + testRunner.And("I add the Referrals data parameter with no start date and no end date", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden +#line 118 + testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden +#line 119 + testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden +#line 120 + testRunner.And("check the response does not contain an operation outcome", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden + } + this.ScenarioCleanup(); + } + [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Retrieve Referrals data structured record section for an invalid Identifier Syste" + "m")] @@ -468,8 +550,8 @@ public void RetrieveReferralsDataStructuredRecordSectionForAnInvalidIdentifierSy System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve Referrals data structured record section for an invalid Identifier Syste" + "m", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 107 -this.ScenarioInitialize(scenarioInfo); +#line 123 + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -478,22 +560,22 @@ public void RetrieveReferralsDataStructuredRecordSectionForAnInvalidIdentifierSy else { this.ScenarioStart(); -#line 108 - testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 124 + testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 109 +#line 125 testRunner.And("I add an NHS Number parameter for \"patient1\" with an invalid Identifier System", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 110 +#line 126 testRunner.And("I add the Referrals parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 111 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 127 + testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 112 - testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line 128 + testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 113 +#line 129 testRunner.And("the response should be a OperationOutcome resource", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } @@ -509,8 +591,8 @@ public void RetrieveReferralsDataStructuredRecordSectionForAnEmptyIdentifierSyst "1.5.0-IncrementalAndRegression"}; System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve Referrals data structured record section for an empty Identifier System", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 116 -this.ScenarioInitialize(scenarioInfo); +#line 132 + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -519,22 +601,22 @@ public void RetrieveReferralsDataStructuredRecordSectionForAnEmptyIdentifierSyst else { this.ScenarioStart(); -#line 117 -testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 133 + testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 118 +#line 134 testRunner.And("I add an NHS Number parameter for \"patient1\" with an empty Identifier System", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 119 +#line 135 testRunner.And("I add the Referrals parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 120 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 136 + testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 121 - testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line 137 + testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 122 +#line 138 testRunner.And("the response should be a OperationOutcome resource", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } @@ -550,8 +632,8 @@ public void RetrieveReferralsDataStructuredRecordForAPatientThatHasSensitiveFlag "1.5.0-IncrementalAndRegression"}; System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve Referrals data structured record for a patient that has sensitive flag", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 125 -this.ScenarioInitialize(scenarioInfo); +#line 141 + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -560,25 +642,25 @@ public void RetrieveReferralsDataStructuredRecordForAPatientThatHasSensitiveFlag else { this.ScenarioStart(); -#line 126 - testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 142 + testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 127 +#line 143 testRunner.And("I add an NHS Number parameter for \"patient9\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 128 +#line 144 testRunner.And("I add the Referrals parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 129 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 145 + testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 130 - testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line 146 + testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 131 +#line 147 testRunner.And("the response status code should be \"404\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 133 +#line 149 testRunner.And("the response should be a OperationOutcome resource with error code \"PATIENT_NOT_F" + "OUND\" and display \"Patient not found\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden @@ -614,8 +696,8 @@ public void RetrieveTheReferralsDataStructuredRecordWithInvalidDatesExpectedFail argumentsOfScenario.Add("PartParameter", partParameter); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the Referrals data structured record with invalid dates expected failure" + "", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 136 -this.ScenarioInitialize(scenarioInfo); +#line 152 + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -624,25 +706,25 @@ public void RetrieveTheReferralsDataStructuredRecordWithInvalidDatesExpectedFail else { this.ScenarioStart(); -#line 137 - testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 153 + testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 138 +#line 154 testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 139 +#line 155 testRunner.And(string.Format("I add the Referrals data parameter with date permutations \"{0}\" and \"{1}\"", startDate, endDate), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 140 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 156 + testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 141 - testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line 157 + testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 142 +#line 158 testRunner.And("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 143 +#line 159 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_PARAM" + "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden @@ -661,8 +743,8 @@ public void RetrieveTheReferralsDataStructuredRecordWithReferralSearchPeriodInFu System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the Referrals data structured record with referralSearchPeriod in future" + " expected failure", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 156 -this.ScenarioInitialize(scenarioInfo); +#line 172 + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -671,25 +753,25 @@ public void RetrieveTheReferralsDataStructuredRecordWithReferralSearchPeriodInFu else { this.ScenarioStart(); -#line 157 - testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 173 + testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 158 +#line 174 testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 159 +#line 175 testRunner.And("I add the Referrals data parameter with future start date", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 160 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 176 + testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 161 - testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line 177 + testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 162 +#line 178 testRunner.And("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 163 +#line 179 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_PARAM" + "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden @@ -708,8 +790,8 @@ public void RetrieveTheReferralsDataStructuredRecordStartDateAfterEndDateExpecte System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the Referrals data structured record startDate after endDate expected fa" + "ilure", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 166 -this.ScenarioInitialize(scenarioInfo); +#line 182 + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -718,25 +800,25 @@ public void RetrieveTheReferralsDataStructuredRecordStartDateAfterEndDateExpecte else { this.ScenarioStart(); -#line 167 - testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 183 + testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 168 +#line 184 testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 169 +#line 185 testRunner.And("I add the Referrals data parameter start date after endDate", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 170 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 186 + testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 171 - testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line 187 + testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 172 +#line 188 testRunner.Then("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 173 +#line 189 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_PARAM" + "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden diff --git a/GPConnect.Provider.AcceptanceTests/StructuredUncategorised.feature b/GPConnect.Provider.AcceptanceTests/StructuredUncategorised.feature index 139f7ae2..c81dba7b 100644 --- a/GPConnect.Provider.AcceptanceTests/StructuredUncategorised.feature +++ b/GPConnect.Provider.AcceptanceTests/StructuredUncategorised.feature @@ -1,16 +1,16 @@ @Structured @StructuredUncategorised @1.5.0-Full-Pack Feature: StructuredUncategorised -# These Tests are only Testing this Structured Area in isolation and Not with other Areas or Combinations of Include Parameters -# Tests around Multiple Structured Areas in one Request are tested in the MultipleRequests Feature - - -Scenario: Verify Uncategorised structured record for a Patient with Uncategorised data not linked to any problems - Given I configure the default "GpcGetStructuredRecord" request + # These Tests are only Testing this Structured Area in isolation and Not with other Areas or Combinations of Include Parameters + # Tests around Multiple Structured Areas in one Request are tested in the MultipleRequests Feature + + + Scenario: Verify Uncategorised structured record for a Patient with Uncategorised data not linked to any problems + Given I configure the default "GpcGetStructuredRecord" request And I add an NHS Number parameter for "patient3" And I add the uncategorised data parameter - When I make the "GpcGetStructuredRecord" request - Then the response status code should indicate success + When I make the "GpcGetStructuredRecord" request + Then the response status code should indicate success And the response should be a Bundle resource of type "collection" And the response meta profile should be for "structured" And the patient resource in the bundle should contain meta data profile and version id @@ -19,7 +19,7 @@ Scenario: Verify Uncategorised structured record for a Patient with Uncategorise And the Bundle should be valid for patient "patient3" And the Patient Id should be valid And the Practitioner Id should be valid - And the Organization Id should be valid + And the Organization Id should be valid And The Observation Resources are Valid And The Observation Resources Do Not Include Not In Use Fields And the Bundle should contain "1" lists @@ -29,14 +29,14 @@ Scenario: Verify Uncategorised structured record for a Patient with Uncategorise And I Check There is No Problems Secondary Problems List And I Check No Problem Resources are Included -#PG 19-2-2020 - Added for 1.3.2 - To check that associated problems and the problems list are sent. + #PG 19-2-2020 - Added for 1.3.2 - To check that associated problems and the problems list are sent. -Scenario: Verify Uncategorised structured record for a Patient with Uncategorised data associated to Problems - Given I configure the default "GpcGetStructuredRecord" request + Scenario: Verify Uncategorised structured record for a Patient with Uncategorised data associated to Problems + Given I configure the default "GpcGetStructuredRecord" request And I add an NHS Number parameter for "patient2" And I add the uncategorised data parameter - When I make the "GpcGetStructuredRecord" request - Then the response status code should indicate success + When I make the "GpcGetStructuredRecord" request + Then the response status code should indicate success And the response should be a Bundle resource of type "collection" And the response meta profile should be for "structured" And the patient resource in the bundle should contain meta data profile and version id @@ -46,7 +46,7 @@ Scenario: Verify Uncategorised structured record for a Patient with Uncategorise And check that the bundle does not contain any duplicate resources And the Patient Id should be valid And the Practitioner Id should be valid - And the Organization Id should be valid + And the Organization Id should be valid And The Observation Resources are Valid And The Observation Resources Do Not Include Not In Use Fields And the Bundle should contain "2" lists @@ -59,53 +59,53 @@ Scenario: Verify Uncategorised structured record for a Patient with Uncategorise And I check The Problem Resources Do Not Include Not In Use Fields And Check a Problem is linked to an "Observation" that is also included in the response with its list -Scenario: Retrieve uncategorised data structured record section for an invalid NHS number - Given I configure the default "GpcGetStructuredRecord" request + Scenario: Retrieve uncategorised data structured record section for an invalid NHS number + Given I configure the default "GpcGetStructuredRecord" request And I add an NHS Number parameter for an invalid NHS Number And I add the uncategorised data parameter - When I make the "GpcGetStructuredRecord" request - Then the response status code should indicate failure + When I make the "GpcGetStructuredRecord" request + Then the response status code should indicate failure And the response should be a OperationOutcome resource -Scenario: Retrieve uncategorised data structured record section for an empty NHS number - Given I configure the default "GpcGetStructuredRecord" request + Scenario: Retrieve uncategorised data structured record section for an empty NHS number + Given I configure the default "GpcGetStructuredRecord" request And I add an NHS Number parameter with an empty NHS Number And I add the uncategorised data parameter - When I make the "GpcGetStructuredRecord" request - Then the response status code should indicate failure + When I make the "GpcGetStructuredRecord" request + Then the response status code should indicate failure And the response should be a OperationOutcome resource -Scenario: Retrieve uncategorised data structured record section for an invalid Identifier System - Given I configure the default "GpcGetStructuredRecord" request + Scenario: Retrieve uncategorised data structured record section for an invalid Identifier System + Given I configure the default "GpcGetStructuredRecord" request And I add an NHS Number parameter for "patient1" with an invalid Identifier System And I add the uncategorised data parameter - When I make the "GpcGetStructuredRecord" request - Then the response status code should indicate failure + When I make the "GpcGetStructuredRecord" request + Then the response status code should indicate failure And the response should be a OperationOutcome resource -Scenario: Retrieve uncategorised data structured record section for an empty Identifier System -Given I configure the default "GpcGetStructuredRecord" request + Scenario: Retrieve uncategorised data structured record section for an empty Identifier System + Given I configure the default "GpcGetStructuredRecord" request And I add an NHS Number parameter for "patient1" with an empty Identifier System And I add the uncategorised data parameter - When I make the "GpcGetStructuredRecord" request - Then the response status code should indicate failure + When I make the "GpcGetStructuredRecord" request + Then the response status code should indicate failure And the response should be a OperationOutcome resource -Scenario: Retrieve uncategorised data structured record for a patient that has sensitive flag - Given I configure the default "GpcGetStructuredRecord" request + Scenario: Retrieve uncategorised data structured record for a patient that has sensitive flag + Given I configure the default "GpcGetStructuredRecord" request And I add an NHS Number parameter for "patient9" And I add the uncategorised data parameter - When I make the "GpcGetStructuredRecord" request - Then the response status code should indicate failure + When I make the "GpcGetStructuredRecord" request + Then the response status code should indicate failure And the response status code should be "404" And the response should be a OperationOutcome resource with error code "PATIENT_NOT_FOUND" -Scenario: Retrieve uncategorised data structured record for a patient that has no uncategorised data - Given I configure the default "GpcGetStructuredRecord" request + Scenario: Retrieve uncategorised data structured record for a patient that has no uncategorised data + Given I configure the default "GpcGetStructuredRecord" request And I add an NHS Number parameter for "patient4" And I add the uncategorised data parameter - When I make the "GpcGetStructuredRecord" request - Then the response status code should indicate success + When I make the "GpcGetStructuredRecord" request + Then the response status code should indicate success And the response should be a Bundle resource of type "collection" And the response meta profile should be for "structured" And the patient resource in the bundle should contain meta data profile and version id @@ -114,52 +114,68 @@ Scenario: Retrieve uncategorised data structured record for a patient that has n And the Bundle should be valid for patient "patient4" And the Patient Id should be valid And the Practitioner Id should be valid - And the Organization Id should be valid + And the Organization Id should be valid And check the response does not contain an operation outcome And check structured list contains a note and emptyReason when no data in section -Scenario Outline: Retrieve the uncategorised data structured record with invalid dates expected failure - Given I configure the default "GpcGetStructuredRecord" request + Scenario Outline: Retrieve the uncategorised data structured record with invalid dates expected failure + Given I configure the default "GpcGetStructuredRecord" request And I add an NHS Number parameter for "patient2" And I add the uncategorised data parameter with date permutations "" and "" - When I make the "GpcGetStructuredRecord" request - Then the response status code should indicate failure + When I make the "GpcGetStructuredRecord" request + Then the response status code should indicate failure And the response status code should be "422" And the response should be a OperationOutcome resource with error code "INVALID_PARAMETER" - Examples: - | startDate | endDate | Parameter | PartParameter | - | 2014 | 2016-01-01 | includeUncategorisedData | uncategorisedDataSearchPeriod | - | 2014-02 | 2014-08-20 | includeUncategorisedData | uncategorisedDataSearchPeriod | - | 2015-10-23T11:08:32 | 2016-11-01 | includeUncategorisedData | uncategorisedDataSearchPeriod | - | 2015-10-23T11:08:32+00:00 | 2019-10-01 | includeUncategorisedData | uncategorisedDataSearchPeriod | - | 2014-01-01 | 2016 | includeUncategorisedData | uncategorisedDataSearchPeriod | - | 2014-02-01 | 2014-08 | includeUncategorisedData | uncategorisedDataSearchPeriod | - | 2015-10-01 | 2016-11-23T11:08:32 | includeUncategorisedData | uncategorisedDataSearchPeriod | - | 2014-01-01 | 2015-10-23T11:08:32+00:00 | includeUncategorisedData | uncategorisedDataSearchPeriod | - -Scenario: Retrieve the uncategorised data structured record with uncategorisedDataSearchPeriod in future expected failure - Given I configure the default "GpcGetStructuredRecord" request + Examples: + | startDate | endDate | Parameter | PartParameter | + | 2014 | 2016-01-01 | includeUncategorisedData | uncategorisedDataSearchPeriod | + | 2014-02 | 2014-08-20 | includeUncategorisedData | uncategorisedDataSearchPeriod | + | 2015-10-23T11:08:32 | 2016-11-01 | includeUncategorisedData | uncategorisedDataSearchPeriod | + | 2015-10-23T11:08:32+00:00 | 2019-10-01 | includeUncategorisedData | uncategorisedDataSearchPeriod | + | 2014-01-01 | 2016 | includeUncategorisedData | uncategorisedDataSearchPeriod | + | 2014-02-01 | 2014-08 | includeUncategorisedData | uncategorisedDataSearchPeriod | + | 2015-10-01 | 2016-11-23T11:08:32 | includeUncategorisedData | uncategorisedDataSearchPeriod | + | 2014-01-01 | 2015-10-23T11:08:32+00:00 | includeUncategorisedData | uncategorisedDataSearchPeriod | + + Scenario: Retrieve the uncategorised data structured record with uncategorisedDataSearchPeriod in future expected failure + Given I configure the default "GpcGetStructuredRecord" request And I add an NHS Number parameter for "patient2" And I add the uncategorised data parameter with future start date - When I make the "GpcGetStructuredRecord" request - Then the response status code should indicate failure + When I make the "GpcGetStructuredRecord" request + Then the response status code should indicate failure And the response status code should be "422" And the response should be a OperationOutcome resource with error code "INVALID_PARAMETER" -Scenario: Retrieve the uncategorised data structured record with period dates equal to current date expected success and no operation outcome - Given I configure the default "GpcGetStructuredRecord" request + Scenario: Retrieve the uncategorised data structured record with period dates equal to current date expected success and no operation outcome + Given I configure the default "GpcGetStructuredRecord" request And I add an NHS Number parameter for "patient2" And I add the uncategorised data parameter with current date - When I make the "GpcGetStructuredRecord" request - Then the response status code should indicate success + When I make the "GpcGetStructuredRecord" request + Then the response status code should indicate success + And check the response does not contain an operation outcome + + Scenario: Retrieve the uncategorised data structured record with valid start date and no end date expected success and no operation outcome + Given I configure the default "GpcGetStructuredRecord" request + And I add an NHS Number parameter for "patient2" + And I add the uncategorised data parameter with valid start date and no end date + When I make the "GpcGetStructuredRecord" request + Then the response status code should indicate success + And check the response does not contain an operation outcome + + Scenario: Retrieve the uncategorised data structured record with no start date and no end date expected success and no operation outcome + Given I configure the default "GpcGetStructuredRecord" request + And I add an NHS Number parameter for "patient2" + And I add the uncategorised data parameter with no start date and no end date + When I make the "GpcGetStructuredRecord" request + Then the response status code should indicate success And check the response does not contain an operation outcome -Scenario: Retrieve the uncategorised data structured record startDate after endDate expected failure - Given I configure the default "GpcGetStructuredRecord" request + Scenario: Retrieve the uncategorised data structured record startDate after endDate expected failure + Given I configure the default "GpcGetStructuredRecord" request And I add an NHS Number parameter for "patient2" And I add the uncategorised data parameter start date after endDate - When I make the "GpcGetStructuredRecord" request - Then the response status code should indicate failure + When I make the "GpcGetStructuredRecord" request + Then the response status code should indicate failure Then the response status code should be "422" - And the response should be a OperationOutcome resource with error code "INVALID_PARAMETER" \ No newline at end of file + And the response should be a OperationOutcome resource with error code "INVALID_PARAMETER" \ No newline at end of file diff --git a/GPConnect.Provider.AcceptanceTests/StructuredUncategorised.feature.cs b/GPConnect.Provider.AcceptanceTests/StructuredUncategorised.feature.cs index f3aa15b5..54388671 100644 --- a/GPConnect.Provider.AcceptanceTests/StructuredUncategorised.feature.cs +++ b/GPConnect.Provider.AcceptanceTests/StructuredUncategorised.feature.cs @@ -89,7 +89,7 @@ public void VerifyUncategorisedStructuredRecordForAPatientWithUncategorisedDataN TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Verify Uncategorised structured record for a Patient with Uncategorised data not " + "linked to any problems", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 8 -this.ScenarioInitialize(scenarioInfo); + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -99,7 +99,7 @@ public void VerifyUncategorisedStructuredRecordForAPatientWithUncategorisedDataN { this.ScenarioStart(); #line 9 - testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); + testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden #line 10 testRunner.And("I add an NHS Number parameter for \"patient3\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); @@ -108,10 +108,10 @@ public void VerifyUncategorisedStructuredRecordForAPatientWithUncategorisedDataN testRunner.And("I add the uncategorised data parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 12 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); + testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden #line 13 - testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); + testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden #line 14 testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); @@ -181,7 +181,7 @@ public void VerifyUncategorisedStructuredRecordForAPatientWithUncategorisedDataA TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Verify Uncategorised structured record for a Patient with Uncategorised data asso" + "ciated to Problems", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 34 -this.ScenarioInitialize(scenarioInfo); + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -191,7 +191,7 @@ public void VerifyUncategorisedStructuredRecordForAPatientWithUncategorisedDataA { this.ScenarioStart(); #line 35 - testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); + testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden #line 36 testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); @@ -200,10 +200,10 @@ public void VerifyUncategorisedStructuredRecordForAPatientWithUncategorisedDataA testRunner.And("I add the uncategorised data parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 38 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); + testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden #line 39 - testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); + testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden #line 40 testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); @@ -284,7 +284,7 @@ public void RetrieveUncategorisedDataStructuredRecordSectionForAnInvalidNHSNumbe System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve uncategorised data structured record section for an invalid NHS number", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 62 -this.ScenarioInitialize(scenarioInfo); + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -294,7 +294,7 @@ public void RetrieveUncategorisedDataStructuredRecordSectionForAnInvalidNHSNumbe { this.ScenarioStart(); #line 63 - testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); + testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden #line 64 testRunner.And("I add an NHS Number parameter for an invalid NHS Number", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); @@ -303,10 +303,10 @@ public void RetrieveUncategorisedDataStructuredRecordSectionForAnInvalidNHSNumbe testRunner.And("I add the uncategorised data parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 66 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); + testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden #line 67 - testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); + testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden #line 68 testRunner.And("the response should be a OperationOutcome resource", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); @@ -323,7 +323,7 @@ public void RetrieveUncategorisedDataStructuredRecordSectionForAnEmptyNHSNumber( System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve uncategorised data structured record section for an empty NHS number", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 70 -this.ScenarioInitialize(scenarioInfo); + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -333,7 +333,7 @@ public void RetrieveUncategorisedDataStructuredRecordSectionForAnEmptyNHSNumber( { this.ScenarioStart(); #line 71 - testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); + testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden #line 72 testRunner.And("I add an NHS Number parameter with an empty NHS Number", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); @@ -342,10 +342,10 @@ public void RetrieveUncategorisedDataStructuredRecordSectionForAnEmptyNHSNumber( testRunner.And("I add the uncategorised data parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 74 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); + testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden #line 75 - testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); + testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden #line 76 testRunner.And("the response should be a OperationOutcome resource", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); @@ -364,7 +364,7 @@ public void RetrieveUncategorisedDataStructuredRecordSectionForAnInvalidIdentifi TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve uncategorised data structured record section for an invalid Identifier S" + "ystem", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 78 -this.ScenarioInitialize(scenarioInfo); + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -374,7 +374,7 @@ public void RetrieveUncategorisedDataStructuredRecordSectionForAnInvalidIdentifi { this.ScenarioStart(); #line 79 - testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); + testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden #line 80 testRunner.And("I add an NHS Number parameter for \"patient1\" with an invalid Identifier System", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); @@ -383,10 +383,10 @@ public void RetrieveUncategorisedDataStructuredRecordSectionForAnInvalidIdentifi testRunner.And("I add the uncategorised data parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 82 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); + testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden #line 83 - testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); + testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden #line 84 testRunner.And("the response should be a OperationOutcome resource", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); @@ -405,7 +405,7 @@ public void RetrieveUncategorisedDataStructuredRecordSectionForAnEmptyIdentifier TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve uncategorised data structured record section for an empty Identifier Sys" + "tem", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 86 -this.ScenarioInitialize(scenarioInfo); + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -415,7 +415,7 @@ public void RetrieveUncategorisedDataStructuredRecordSectionForAnEmptyIdentifier { this.ScenarioStart(); #line 87 -testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); + testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden #line 88 testRunner.And("I add an NHS Number parameter for \"patient1\" with an empty Identifier System", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); @@ -424,10 +424,10 @@ public void RetrieveUncategorisedDataStructuredRecordSectionForAnEmptyIdentifier testRunner.And("I add the uncategorised data parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 90 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); + testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden #line 91 - testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); + testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden #line 92 testRunner.And("the response should be a OperationOutcome resource", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); @@ -446,7 +446,7 @@ public void RetrieveUncategorisedDataStructuredRecordForAPatientThatHasSensitive TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve uncategorised data structured record for a patient that has sensitive fl" + "ag", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 94 -this.ScenarioInitialize(scenarioInfo); + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -456,7 +456,7 @@ public void RetrieveUncategorisedDataStructuredRecordForAPatientThatHasSensitive { this.ScenarioStart(); #line 95 - testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); + testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden #line 96 testRunner.And("I add an NHS Number parameter for \"patient9\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); @@ -465,10 +465,10 @@ public void RetrieveUncategorisedDataStructuredRecordForAPatientThatHasSensitive testRunner.And("I add the uncategorised data parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 98 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); + testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden #line 99 - testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); + testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden #line 100 testRunner.And("the response status code should be \"404\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); @@ -491,7 +491,7 @@ public void RetrieveUncategorisedDataStructuredRecordForAPatientThatHasNoUncateg TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve uncategorised data structured record for a patient that has no uncategor" + "ised data", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 103 -this.ScenarioInitialize(scenarioInfo); + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -501,7 +501,7 @@ public void RetrieveUncategorisedDataStructuredRecordForAPatientThatHasNoUncateg { this.ScenarioStart(); #line 104 - testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); + testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden #line 105 testRunner.And("I add an NHS Number parameter for \"patient4\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); @@ -510,10 +510,10 @@ public void RetrieveUncategorisedDataStructuredRecordForAPatientThatHasNoUncateg testRunner.And("I add the uncategorised data parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 107 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); + testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden #line 108 - testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); + testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden #line 109 testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); @@ -577,7 +577,7 @@ public void RetrieveTheUncategorisedDataStructuredRecordWithInvalidDatesExpected TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the uncategorised data structured record with invalid dates expected fai" + "lure", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 121 -this.ScenarioInitialize(scenarioInfo); + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -587,7 +587,7 @@ public void RetrieveTheUncategorisedDataStructuredRecordWithInvalidDatesExpected { this.ScenarioStart(); #line 122 - testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); + testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden #line 123 testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); @@ -596,10 +596,10 @@ public void RetrieveTheUncategorisedDataStructuredRecordWithInvalidDatesExpected testRunner.And(string.Format("I add the uncategorised data parameter with date permutations \"{0}\" and \"{1}\"", startDate, endDate), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 125 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); + testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden #line 126 - testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); + testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden #line 127 testRunner.And("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); @@ -622,7 +622,7 @@ public void RetrieveTheUncategorisedDataStructuredRecordWithUncategorisedDataSea TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the uncategorised data structured record with uncategorisedDataSearchPer" + "iod in future expected failure", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 141 -this.ScenarioInitialize(scenarioInfo); + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -632,7 +632,7 @@ public void RetrieveTheUncategorisedDataStructuredRecordWithUncategorisedDataSea { this.ScenarioStart(); #line 142 - testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); + testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden #line 143 testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); @@ -641,10 +641,10 @@ public void RetrieveTheUncategorisedDataStructuredRecordWithUncategorisedDataSea testRunner.And("I add the uncategorised data parameter with future start date", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 145 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); + testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden #line 146 - testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); + testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden #line 147 testRunner.And("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); @@ -667,7 +667,7 @@ public void RetrieveTheUncategorisedDataStructuredRecordWithPeriodDatesEqualToCu TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the uncategorised data structured record with period dates equal to curr" + "ent date expected success and no operation outcome", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 150 -this.ScenarioInitialize(scenarioInfo); + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -677,7 +677,7 @@ public void RetrieveTheUncategorisedDataStructuredRecordWithPeriodDatesEqualToCu { this.ScenarioStart(); #line 151 - testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); + testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden #line 152 testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); @@ -686,10 +686,10 @@ public void RetrieveTheUncategorisedDataStructuredRecordWithPeriodDatesEqualToCu testRunner.And("I add the uncategorised data parameter with current date", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 154 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); + testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden #line 155 - testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); + testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden #line 156 testRunner.And("check the response does not contain an operation outcome", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); @@ -699,16 +699,16 @@ public void RetrieveTheUncategorisedDataStructuredRecordWithPeriodDatesEqualToCu } [NUnit.Framework.TestAttribute()] - [NUnit.Framework.DescriptionAttribute("Retrieve the uncategorised data structured record startDate after endDate expecte" + - "d failure")] - public void RetrieveTheUncategorisedDataStructuredRecordStartDateAfterEndDateExpectedFailure() + [NUnit.Framework.DescriptionAttribute("Retrieve the uncategorised data structured record with valid start date and no en" + + "d date expected success and no operation outcome")] + public void RetrieveTheUncategorisedDataStructuredRecordWithValidStartDateAndNoEndDateExpectedSuccessAndNoOperationOutcome() { string[] tagsOfScenario = ((string[])(null)); System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the uncategorised data structured record startDate after endDate expecte" + - "d failure", null, tagsOfScenario, argumentsOfScenario, featureTags); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the uncategorised data structured record with valid start date and no en" + + "d date expected success and no operation outcome", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 158 -this.ScenarioInitialize(scenarioInfo); + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -718,24 +718,106 @@ public void RetrieveTheUncategorisedDataStructuredRecordStartDateAfterEndDateExp { this.ScenarioStart(); #line 159 - testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); + testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden #line 160 testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 161 - testRunner.And("I add the uncategorised data parameter start date after endDate", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + testRunner.And("I add the uncategorised data parameter with valid start date and no end date", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 162 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); + testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden #line 163 - testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); + testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden #line 164 + testRunner.And("check the response does not contain an operation outcome", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden + } + this.ScenarioCleanup(); + } + + [NUnit.Framework.TestAttribute()] + [NUnit.Framework.DescriptionAttribute("Retrieve the uncategorised data structured record with no start date and no end d" + + "ate expected success and no operation outcome")] + public void RetrieveTheUncategorisedDataStructuredRecordWithNoStartDateAndNoEndDateExpectedSuccessAndNoOperationOutcome() + { + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the uncategorised data structured record with no start date and no end d" + + "ate expected success and no operation outcome", null, tagsOfScenario, argumentsOfScenario, featureTags); +#line 166 + this.ScenarioInitialize(scenarioInfo); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); +#line 167 + testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden +#line 168 + testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden +#line 169 + testRunner.And("I add the uncategorised data parameter with no start date and no end date", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden +#line 170 + testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden +#line 171 + testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden +#line 172 + testRunner.And("check the response does not contain an operation outcome", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden + } + this.ScenarioCleanup(); + } + + [NUnit.Framework.TestAttribute()] + [NUnit.Framework.DescriptionAttribute("Retrieve the uncategorised data structured record startDate after endDate expecte" + + "d failure")] + public void RetrieveTheUncategorisedDataStructuredRecordStartDateAfterEndDateExpectedFailure() + { + string[] tagsOfScenario = ((string[])(null)); + System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the uncategorised data structured record startDate after endDate expecte" + + "d failure", null, tagsOfScenario, argumentsOfScenario, featureTags); +#line 174 + this.ScenarioInitialize(scenarioInfo); +#line hidden + if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) + { + testRunner.SkipScenario(); + } + else + { + this.ScenarioStart(); +#line 175 + testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line hidden +#line 176 + testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden +#line 177 + testRunner.And("I add the uncategorised data parameter start date after endDate", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line hidden +#line 178 + testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line hidden +#line 179 + testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line hidden +#line 180 testRunner.Then("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 165 +#line 181 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_PARAM" + "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden From 8e03435b747e4cfca794e56e7dca5ab87230102c Mon Sep 17 00:00:00 2001 From: williamjameswillis Date: Mon, 6 Oct 2025 16:13:50 +0100 Subject: [PATCH 13/18] added INT patients to SCAL tests --- Data/NHSNoMap.csv | 7 + .../StructuredAllergies.feature | 6 +- .../StructuredConsultations.feature | 250 ++++++++++-------- .../StructuredDiary.feature | 127 ++++----- .../StructuredDocuments.feature | 70 +++-- .../StructuredImmunizations.feature | 30 ++- .../StructuredInvestigations.feature | 31 ++- .../StructuredMedications.feature | 29 +- .../StructuredReferrals.feature | 20 +- .../StructuredUncategorised.feature | 21 +- 10 files changed, 350 insertions(+), 241 deletions(-) diff --git a/Data/NHSNoMap.csv b/Data/NHSNoMap.csv index ec8f8ddd..88d93c6f 100644 --- a/Data/NHSNoMap.csv +++ b/Data/NHSNoMap.csv @@ -24,3 +24,10 @@ patient30,9690937367 patient31,9690938223 patient32,9690937340 patient33,9690937316 +patient34,9690937324 +patient35,9690937332 +patient36,9690938207 +patient37,9690938215 +patient38,9690937693 +patient39,9690938770 +patient40,9690938088 diff --git a/GPConnect.Provider.AcceptanceTests/StructuredAllergies.feature b/GPConnect.Provider.AcceptanceTests/StructuredAllergies.feature index e0630dc1..428b4d4e 100644 --- a/GPConnect.Provider.AcceptanceTests/StructuredAllergies.feature +++ b/GPConnect.Provider.AcceptanceTests/StructuredAllergies.feature @@ -40,6 +40,7 @@ Feature: StructuredAllergies | patient12 | | patient13 | | patient24 | + | patient35 | Scenario Outline: Retrieve the allergy structured record section for a patient including resolved allergies with linked Problems Given I configure the default "GpcGetStructuredRecord" request @@ -70,8 +71,9 @@ Feature: StructuredAllergies And I check The Problem Resources Do Not Include Not In Use Fields And Check a Problem is linked to an "AllergyIntolerance" that is also included in the response with its list Examples: - | Patient | - | patient2 | + | Patient | + | patient2 | + | patient35 | Scenario: Retrieve the allergy structured record section including resolved allergies for a patient without any allergies Given I configure the default "GpcGetStructuredRecord" request diff --git a/GPConnect.Provider.AcceptanceTests/StructuredConsultations.feature b/GPConnect.Provider.AcceptanceTests/StructuredConsultations.feature index bae18efb..acd52e80 100644 --- a/GPConnect.Provider.AcceptanceTests/StructuredConsultations.feature +++ b/GPConnect.Provider.AcceptanceTests/StructuredConsultations.feature @@ -1,28 +1,28 @@ @Structured @StructuredConsultations @1.5.0-Full-Pack Feature: StructuredConsultations -# These Tests are only Testing this Structured Area in isolation and Not with other Areas or Combinations of Include Parameters -# Tests around Multiple Structured Areas in one Request are tested in the MultipleRequests Feature + # These Tests are only Testing this Structured Area in isolation and Not with other Areas or Combinations of Include Parameters + # Tests around Multiple Structured Areas in one Request are tested in the MultipleRequests Feature -@1.5.0-IncrementalAndRegression -Scenario: Verify Consultations Response for a Patient with Topic or Headings linked to clinical items and a problem - Given I configure the default "GpcGetStructuredRecord" request - And I add an NHS Number parameter for "patient2" + @1.5.0-IncrementalAndRegression + Scenario Outline: Scenario Outline name: Verify Consultations Response for a Patient with Topic or Headings linked to clinical items and a problem + Given I configure the default "GpcGetStructuredRecord" request + And I add an NHS Number parameter for "" And I add the includeConsultations parameter only - When I make the "GpcGetStructuredRecord" request - Then the response status code should indicate success + When I make the "GpcGetStructuredRecord" request + Then the response status code should indicate success And the response should be a Bundle resource of type "collection" And the response meta profile should be for "structured" And the patient resource in the bundle should contain meta data profile and version id And if the response bundle contains a practitioner resource it should contain meta data profile and version id And if the response bundle contains an organization resource it should contain meta data profile and version id - #added this step in accordance with the new changes + #added this step in accordance with the new changes And if the response bundle contains a location resource it should contain meta data profile and version id And check that the bundle does not contain any duplicate resources - And the Bundle should be valid for patient "patient2" + And the Bundle should be valid for patient "" And the Patient Id should be valid And the Practitioner Id should be valid - And the Organization Id should be valid + And the Organization Id should be valid And I Check the Consultations List is Valid And The Consultations List Does Not Include Not In Use Fields And I Check the Encounters are Valid @@ -31,7 +31,7 @@ Scenario: Verify Consultations Response for a Patient with Topic or Headings lin And I Check All The Consultation Lists Do Not Include Not In Use Fields And I Check the Topic Lists are Valid And I Check one Topic is linked to a problem - And I Check the Heading Lists are Valid + And I Check the Heading Lists are Valid And check the response does not contain an operation outcome And I Check The Problems Resources are Valid And I check The Problem Resources Do Not Include Not In Use Fields @@ -43,22 +43,26 @@ Scenario: Verify Consultations Response for a Patient with Topic or Headings lin And I Check the Consultation Uncategorised Secondary List is Valid And I Check The Problems Secondary Problems List And I Check The Problems Secondary Problems List Does Not Include Not In Use Fields + Examples: + | Patient | + | patient2 | + | patient31 | -Scenario: Verify Consultations structured record for a Patient includeConsultation and consultationSearchPeriod partParameter - Given I configure the default "GpcGetStructuredRecord" request - And I add an NHS Number parameter for "patient2" + Scenario Outline: Verify Consultations structured record for a Patient includeConsultation and consultationSearchPeriod partParameter + Given I configure the default "GpcGetStructuredRecord" request + And I add an NHS Number parameter for "" And I add the consultation parameter with consultationSearchPeriod partParameter - When I make the "GpcGetStructuredRecord" request - Then the response status code should indicate success + When I make the "GpcGetStructuredRecord" request + Then the response status code should indicate success And the response should be a Bundle resource of type "collection" And the response meta profile should be for "structured" And the patient resource in the bundle should contain meta data profile and version id And if the response bundle contains a practitioner resource it should contain meta data profile and version id And if the response bundle contains an organization resource it should contain meta data profile and version id - And the Bundle should be valid for patient "patient2" + And the Bundle should be valid for patient "" And the Patient Id should be valid And the Practitioner Id should be valid - And the Organization Id should be valid + And the Organization Id should be valid And I Check the Consultations List is Valid And The Consultations List Does Not Include Not In Use Fields And I Check the Encounters are Valid @@ -66,24 +70,28 @@ Scenario: Verify Consultations structured record for a Patient includeConsultati And I Check the Consultation Lists are Valid And I Check All The Consultation Lists Do Not Include Not In Use Fields And I Check the Topic Lists are Valid - And I Check the Heading Lists are Valid + And I Check the Heading Lists are Valid And check the response does not contain an operation outcome + Examples: + | Patient | + | patient2 | + | patient31 | -Scenario: Verify Consultations structured record for a Patient includeConsultation and consultationsMostRecent partParameter - Given I configure the default "GpcGetStructuredRecord" request - And I add an NHS Number parameter for "patient2" + Scenario Outline: Verify Consultations structured record for a Patient includeConsultation and consultationsMostRecent partParameter + Given I configure the default "GpcGetStructuredRecord" request + And I add an NHS Number parameter for "" And I add the consultation parameter with consultationsMostRecent partParameter - When I make the "GpcGetStructuredRecord" request - Then the response status code should indicate success + When I make the "GpcGetStructuredRecord" request + Then the response status code should indicate success And the response should be a Bundle resource of type "collection" And the response meta profile should be for "structured" And the patient resource in the bundle should contain meta data profile and version id And if the response bundle contains a practitioner resource it should contain meta data profile and version id And if the response bundle contains an organization resource it should contain meta data profile and version id - And the Bundle should be valid for patient "patient2" + And the Bundle should be valid for patient "" And the Patient Id should be valid And the Practitioner Id should be valid - And the Organization Id should be valid + And the Organization Id should be valid And I Check the Consultations List is Valid And The Consultations List Does Not Include Not In Use Fields And I Check the Encounters are Valid @@ -91,15 +99,19 @@ Scenario: Verify Consultations structured record for a Patient includeConsultati And I Check the Consultation Lists are Valid And I Check All The Consultation Lists Do Not Include Not In Use Fields And I Check the Topic Lists are Valid - And I Check the Heading Lists are Valid + And I Check the Heading Lists are Valid And check the response does not contain an operation outcome + Examples: + | Patient | + | patient2 | + | patient31 | -Scenario: Retrieve consultations structured record for a patient that has no consultation data - Given I configure the default "GpcGetStructuredRecord" request + Scenario: Retrieve consultations structured record for a patient that has no consultation data + Given I configure the default "GpcGetStructuredRecord" request And I add an NHS Number parameter for "patient4" And I add the consultation parameter with consultationSearchPeriod partParameter - When I make the "GpcGetStructuredRecord" request - Then the response status code should indicate success + When I make the "GpcGetStructuredRecord" request + Then the response status code should indicate success And the response should be a Bundle resource of type "collection" And the response meta profile should be for "structured" And the patient resource in the bundle should contain meta data profile and version id @@ -108,25 +120,25 @@ Scenario: Retrieve consultations structured record for a patient that has no con And the Bundle should be valid for patient "patient4" And the Patient Id should be valid And the Practitioner Id should be valid - And the Organization Id should be valid + And the Organization Id should be valid And check structured list contains a note and emptyReason when no data in section And check the response does not contain an operation outcome -Scenario: Retrieve consultations structured record with startDate only expected success - Given I configure the default "GpcGetStructuredRecord" request - And I add an NHS Number parameter for "patient2" - And I add the consultation parameter with startDate only - When I make the "GpcGetStructuredRecord" request - Then the response status code should indicate success + Scenario Outline: Scenario Outline name: Retrieve consultations structured record with startDate only expected success + Given I configure the default "GpcGetStructuredRecord" request + And I add an NHS Number parameter for "" + And I add the consultation parameter with startDate only + When I make the "GpcGetStructuredRecord" request + Then the response status code should indicate success And the response should be a Bundle resource of type "collection" And the response meta profile should be for "structured" And the patient resource in the bundle should contain meta data profile and version id And if the response bundle contains a practitioner resource it should contain meta data profile and version id And if the response bundle contains an organization resource it should contain meta data profile and version id - And the Bundle should be valid for patient "patient2" + And the Bundle should be valid for patient "" And the Patient Id should be valid And the Practitioner Id should be valid - And the Organization Id should be valid + And the Organization Id should be valid And I Check the Consultations List is Valid And The Consultations List Does Not Include Not In Use Fields And I Check the Encounters are Valid @@ -134,25 +146,29 @@ Scenario: Retrieve consultations structured record with startDate only expected And I Check the Consultation Lists are Valid And I Check All The Consultation Lists Do Not Include Not In Use Fields And I Check the Topic Lists are Valid - And I Check the Heading Lists are Valid + And I Check the Heading Lists are Valid And check the response does not contain an operation outcome - + Examples: + | Patient | + | patient2 | + | patient31 | -Scenario: Retrieve consultations structured record with endDate value only expected success - Given I configure the default "GpcGetStructuredRecord" request - And I add an NHS Number parameter for "patient2" - And I add the consultation parameter with endDate only - When I make the "GpcGetStructuredRecord" request - Then the response status code should indicate success + + Scenario Outline: Retrieve consultations structured record with endDate value only expected success + Given I configure the default "GpcGetStructuredRecord" request + And I add an NHS Number parameter for "" + And I add the consultation parameter with endDate only + When I make the "GpcGetStructuredRecord" request + Then the response status code should indicate success And the response should be a Bundle resource of type "collection" And the response meta profile should be for "structured" And the patient resource in the bundle should contain meta data profile and version id And if the response bundle contains a practitioner resource it should contain meta data profile and version id And if the response bundle contains an organization resource it should contain meta data profile and version id - And the Bundle should be valid for patient "patient2" + And the Bundle should be valid for patient "" And the Patient Id should be valid And the Practitioner Id should be valid - And the Organization Id should be valid + And the Organization Id should be valid And I Check the Consultations List is Valid And The Consultations List Does Not Include Not In Use Fields And I Check the Encounters are Valid @@ -160,111 +176,115 @@ Scenario: Retrieve consultations structured record with endDate value only expec And I Check the Consultation Lists are Valid And I Check All The Consultation Lists Do Not Include Not In Use Fields And I Check the Topic Lists are Valid - And I Check the Heading Lists are Valid + And I Check the Heading Lists are Valid And check the response does not contain an operation outcome + Examples: + | Patient | + | patient2 | + | patient31 | -Scenario: Retrieve consultations structured record section for an invalid NHS number - Given I configure the default "GpcGetStructuredRecord" request + Scenario: Retrieve consultations structured record section for an invalid NHS number + Given I configure the default "GpcGetStructuredRecord" request And I add an NHS Number parameter for an invalid NHS Number And I add the includeConsultations parameter only - When I make the "GpcGetStructuredRecord" request - Then the response status code should indicate failure + When I make the "GpcGetStructuredRecord" request + Then the response status code should indicate failure And the response should be a OperationOutcome resource -Scenario: Retrieve consultations structured record section for an empty NHS number - Given I configure the default "GpcGetStructuredRecord" request + Scenario: Retrieve consultations structured record section for an empty NHS number + Given I configure the default "GpcGetStructuredRecord" request And I add an NHS Number parameter with an empty NHS Number And I add the includeConsultations parameter only - When I make the "GpcGetStructuredRecord" request - Then the response status code should indicate failure + When I make the "GpcGetStructuredRecord" request + Then the response status code should indicate failure And the response should be a OperationOutcome resource -Scenario: Retrieve consultations structured record section for an invalid Identifier System - Given I configure the default "GpcGetStructuredRecord" request + Scenario: Retrieve consultations structured record section for an invalid Identifier System + Given I configure the default "GpcGetStructuredRecord" request And I add an NHS Number parameter for "patient1" with an invalid Identifier System And I add the includeConsultations parameter only - When I make the "GpcGetStructuredRecord" request - Then the response status code should indicate failure + When I make the "GpcGetStructuredRecord" request + Then the response status code should indicate failure And the response should be a OperationOutcome resource -Scenario: Retrieve consultations structured record section for an empty Identifier System -Given I configure the default "GpcGetStructuredRecord" request + Scenario: Retrieve consultations structured record section for an empty Identifier System + Given I configure the default "GpcGetStructuredRecord" request And I add an NHS Number parameter for "patient1" with an empty Identifier System And I add the includeConsultations parameter only - When I make the "GpcGetStructuredRecord" request - Then the response status code should indicate failure + When I make the "GpcGetStructuredRecord" request + Then the response status code should indicate failure And the response should be a OperationOutcome resource -Scenario: Retrieve consultations structured record for a patient that has sensitive flag - Given I configure the default "GpcGetStructuredRecord" request - And I add an NHS Number parameter for "patient9" - And I add the includeConsultations parameter only - When I make the "GpcGetStructuredRecord" request - Then the response status code should indicate failure + Scenario: Retrieve consultations structured record for a patient that has sensitive flag + Given I configure the default "GpcGetStructuredRecord" request + And I add an NHS Number parameter for "patient9" + And I add the includeConsultations parameter only + When I make the "GpcGetStructuredRecord" request + Then the response status code should indicate failure And the response status code should be "404" And the response should be a OperationOutcome resource with error code "PATIENT_NOT_FOUND" -Scenario: Retrieve consultations Structured record where consultationSearchPeriod part parameter is greater than the current date expected failure -Given I configure the default "GpcGetStructuredRecord" request + Scenario: Retrieve consultations Structured record where consultationSearchPeriod part parameter is greater than the current date expected failure + Given I configure the default "GpcGetStructuredRecord" request And I add an NHS Number parameter for "patient2" And I add the consultation parameter with consultationSearchPeriod partParameter in the future - When I make the "GpcGetStructuredRecord" request - Then the response status code should indicate failure + When I make the "GpcGetStructuredRecord" request + Then the response status code should indicate failure And the response status code should be "422" And the response should be a OperationOutcome resource with error code "INVALID_PARAMETER" -Scenario: Retrieve consultations structured record where start date of the consultationSearchPeriod part parameter is greater than the end date expected failure -Given I configure the default "GpcGetStructuredRecord" request + Scenario: Retrieve consultations structured record where start date of the consultationSearchPeriod part parameter is greater than the end date expected failure + Given I configure the default "GpcGetStructuredRecord" request And I add an NHS Number parameter for "patient2" And I add the consultation parameter with consultationSearchPeriod partParameter startDate greater than endDate - When I make the "GpcGetStructuredRecord" request - Then the response status code should indicate failure + When I make the "GpcGetStructuredRecord" request + Then the response status code should indicate failure And the response status code should be "422" And the response should be a OperationOutcome resource with error code "INVALID_PARAMETER" -Scenario: Retrieve Consultations structured record with both partparameters consultationSearchPeriod and includeNumberOfMostRecent applied expected failure -Given I configure the default "GpcGetStructuredRecord" request + Scenario: Retrieve Consultations structured record with both partparameters consultationSearchPeriod and includeNumberOfMostRecent applied expected failure + Given I configure the default "GpcGetStructuredRecord" request And I add an NHS Number parameter for "patient2" And I add the consultation parameter with both partParameters - When I make the "GpcGetStructuredRecord" request - Then the response status code should indicate failure + When I make the "GpcGetStructuredRecord" request + Then the response status code should indicate failure And the response status code should be "422" And the response should be a OperationOutcome resource with error code "INVALID_RESOURCE" -Scenario: Retrieve Consultations structured record malformed with partParameter only expected success - Given I configure the default "GpcGetStructuredRecord" request + Scenario: Retrieve Consultations structured record malformed with partParameter only expected success + Given I configure the default "GpcGetStructuredRecord" request And I add an NHS Number parameter for "patient2" And I add malformed Consultations request partParameter only - When I make the "GpcGetStructuredRecord" request - Then the response status code should indicate success + When I make the "GpcGetStructuredRecord" request + Then the response status code should indicate success And Check the operation outcome returns the correct text and diagnotics "consultationSearchPeriod" And Check the number of issues in the operation outcome "1" -Scenario Outline: Retrieve the Consultations structured record section with invalid date values - Given I configure the default "GpcGetStructuredRecord" request + Scenario Outline: Retrieve the Consultations structured record section with invalid date values + Given I configure the default "GpcGetStructuredRecord" request And I add an NHS Number parameter for "patient1" And I set a consultations period parameter "" to "" - When I make the "GpcGetStructuredRecord" request - Then the response status code should be "422" + When I make the "GpcGetStructuredRecord" request + Then the response status code should be "422" And the response should be a OperationOutcome resource with error code "INVALID_PARAMETER" -Examples: - | startDate | endDate | - | StartDate | endDate | - | X2014 | 2015-12-01 | - | X2014-02 | 2015-12-01 | - | X2015-10-23T11:08:32 | 2016-01-12 | - | X2015-10-23T11:08:32+00:00 | 2015-10-30 | - | | 2019-01-01 | - | 2014 | 2015-01-01 | - | 2014-02 | 2016-01-30 | - | null | 2019-11-11 | - | null | null | - | | | - | 2015-12-01 | | - | 2015-12-01 | X2016-02 | - | 2015-12-01 | X2016-10-23T11:08:32 | - | 2015-12-01 | X2016-10-23T11:08:32+00:00 | - | 2015-12-01 | 2015 | - | 2015-12-01 | 2016-02 | - | 2015-12-01 | null | - | 2018 | 2019 | + Examples: + | startDate | endDate | + | StartDate | endDate | + | X2014 | 2015-12-01 | + | X2014-02 | 2015-12-01 | + | X2015-10-23T11:08:32 | 2016-01-12 | + | X2015-10-23T11:08:32+00:00 | 2015-10-30 | + | | 2019-01-01 | + | 2014 | 2015-01-01 | + | 2014-02 | 2016-01-30 | + | null | 2019-11-11 | + | null | null | + | | | + | 2015-12-01 | | + | 2015-12-01 | X2016-02 | + | 2015-12-01 | X2016-10-23T11:08:32 | + | 2015-12-01 | X2016-10-23T11:08:32+00:00 | + | 2015-12-01 | 2015 | + | 2015-12-01 | 2016-02 | + | 2015-12-01 | null | + | 2018 | 2019 | diff --git a/GPConnect.Provider.AcceptanceTests/StructuredDiary.feature b/GPConnect.Provider.AcceptanceTests/StructuredDiary.feature index 63e6191c..8f7456e8 100644 --- a/GPConnect.Provider.AcceptanceTests/StructuredDiary.feature +++ b/GPConnect.Provider.AcceptanceTests/StructuredDiary.feature @@ -1,70 +1,78 @@ @Structured @StructuredDiary @1.5.0-Full-Pack @1.5.0-IncrementalAndRegression Feature: StructuredDiary -# These Tests are only Testing this Structured Area in isolation and Not with other Areas or Combinations of Include Parameters -# Tests around Multiple Structured Areas in one Request are tested in the MultipleRequests Feature + # These Tests are only Testing this Structured Area in isolation and Not with other Areas or Combinations of Include Parameters + # Tests around Multiple Structured Areas in one Request are tested in the MultipleRequests Feature -Scenario: Search for Diary Entries for a Patient with Diary Entries With Problems Associated - Given I configure the default "GpcGetStructuredRecord" request - And I add an NHS Number parameter for "patient2" + Scenario Outline: Search for Diary Entries for a Patient with Diary Entries With Problems Associated + Given I configure the default "GpcGetStructuredRecord" request + And I add an NHS Number parameter for "" And I add the Diary parameter - When I make the "GpcGetStructuredRecord" request - Then the response status code should indicate success + When I make the "GpcGetStructuredRecord" request + Then the response status code should indicate success And the response should be a Bundle resource of type "collection" And the response meta profile should be for "structured" And the patient resource in the bundle should contain meta data profile and version id And if the response bundle contains a practitioner resource it should contain meta data profile and version id And if the response bundle contains an organization resource it should contain meta data profile and version id - And the Bundle should be valid for patient "patient2" + And the Bundle should be valid for patient "" And check that the bundle does not contain any duplicate resources And check the response does not contain an operation outcome And the Patient Id should be valid And the Practitioner Id should be valid - And the Organization Id should be valid + And the Organization Id should be valid And the Bundle should contain "2" lists And I Check the Diary List is Valid And The Structured List Does Not Include Not In Use Fields And I Check the Diary ProcedureRequests are Valid - And I Check the Diary ProcedureRequests Do Not Include Not in Use Fields + And I Check the Diary ProcedureRequests Do Not Include Not in Use Fields And I Check The Problems Secondary Problems List And I Check The Problems Secondary Problems List Does Not Include Not In Use Fields And I Check The Problems Resources are Valid And I check The Problem Resources Do Not Include Not In Use Fields And Check a Problem is linked to ProcedureRequest and that it is also included - -Scenario: Search for Diary Entries for a Patient with Diary Entries and No Problems associated - Given I configure the default "GpcGetStructuredRecord" request - And I add an NHS Number parameter for "patient3" + Examples: + | Patient | + | patient2 | + | patient39 | + + Scenario Outline: Search for Diary Entries for a Patient with Diary Entries and No Problems associated + Given I configure the default "GpcGetStructuredRecord" request + And I add an NHS Number parameter for "" And I add the Diary parameter - When I make the "GpcGetStructuredRecord" request - Then the response status code should indicate success + When I make the "GpcGetStructuredRecord" request + Then the response status code should indicate success And the response should be a Bundle resource of type "collection" And the response meta profile should be for "structured" And the patient resource in the bundle should contain meta data profile and version id And if the response bundle contains a practitioner resource it should contain meta data profile and version id And if the response bundle contains an organization resource it should contain meta data profile and version id - And the Bundle should be valid for patient "patient3" + And the Bundle should be valid for patient "" And check that the bundle does not contain any duplicate resources And check the response does not contain an operation outcome And the Patient Id should be valid And the Practitioner Id should be valid - And the Organization Id should be valid + And the Organization Id should be valid And the Bundle should contain "1" lists And I Check the Diary List is Valid - And The Structured List Does Not Include Not In Use Fields + And The Structured List Does Not Include Not In Use Fields And I Check There is No Primary Problems List And I Check There is No Problems Secondary Problems List And I Check No Problem Resources are Included And I Check the Diary ProcedureRequests are Valid And I Check the Diary ProcedureRequests Do Not Include Not in Use Fields - -Scenario: Search for Diary Entries for a Patient with No Diary Entries - Given I configure the default "GpcGetStructuredRecord" request + Examples: + | Patient | + | patient3 | + | patient39 | + + Scenario: Search for Diary Entries for a Patient with No Diary Entries + Given I configure the default "GpcGetStructuredRecord" request And I add an NHS Number parameter for "patient4" And I add the Diary parameter - When I make the "GpcGetStructuredRecord" request - Then the response status code should indicate success - And the response should be a Bundle resource of type "collection" + When I make the "GpcGetStructuredRecord" request + Then the response status code should indicate success + And the response should be a Bundle resource of type "collection" And the response meta profile should be for "structured" And the patient resource in the bundle should contain meta data profile and version id And if the response bundle contains a practitioner resource it should contain meta data profile and version id @@ -72,60 +80,59 @@ Scenario: Search for Diary Entries for a Patient with No Diary Entries And the Bundle should be valid for patient "patient4" And the Patient Id should be valid And the Practitioner Id should be valid - And the Organization Id should be valid + And the Organization Id should be valid And check the response does not contain an operation outcome And I Check Diary list contains a note and emptyReason when no data in section - And The Structured List Does Not Include Not In Use Fields + And The Structured List Does Not Include Not In Use Fields -Scenario Outline: Search for Diary Entries with Todays Date and a Future Date on a Patient with Diary Entries - Given I configure the default "GpcGetStructuredRecord" request - And I add an NHS Number parameter for "patient2" + Scenario Outline: Search for Diary Entries with Todays Date and a Future Date on a Patient with Diary Entries + Given I configure the default "GpcGetStructuredRecord" request + And I add an NHS Number parameter for "" Then I add the Diary Search date parameter of "" days in future - When I make the "GpcGetStructuredRecord" request - Then the response status code should indicate success + When I make the "GpcGetStructuredRecord" request + Then the response status code should indicate success And the response should be a Bundle resource of type "collection" And the response meta profile should be for "structured" And the patient resource in the bundle should contain meta data profile and version id And if the response bundle contains a practitioner resource it should contain meta data profile and version id And if the response bundle contains an organization resource it should contain meta data profile and version id - And the Bundle should be valid for patient "patient2" + And the Bundle should be valid for patient "" And check that the bundle does not contain any duplicate resources And check the response does not contain an operation outcome And the Patient Id should be valid And the Practitioner Id should be valid - And the Organization Id should be valid + And the Organization Id should be valid And I Check the Diary List is Valid - And The Structured List Does Not Include Not In Use Fields + And The Structured List Does Not Include Not In Use Fields And I Check the Diary ProcedureRequests are Valid - And I Check the Diary ProcedureRequests Do Not Include Not in Use Fields - Examples: - | YearsInFutureToSearch | - | 0 | - | 10 | - -Scenario: Search for Diary Entries with a Past Date Expect Fail - Given I configure the default "GpcGetStructuredRecord" request + And I Check the Diary ProcedureRequests Do Not Include Not in Use Fields + Examples: + | YearsInFutureToSearch | Patient | + | 0 | patient2 | + | 10 | patient39 | + + Scenario: Search for Diary Entries with a Past Date Expect Fail + Given I configure the default "GpcGetStructuredRecord" request And I add an NHS Number parameter for "patient2" Then I add the Diary Search date parameter with a past date "20" days ago - When I make the "GpcGetStructuredRecord" request + When I make the "GpcGetStructuredRecord" request Then the response status code should be "422" And the response should be a OperationOutcome resource with error code "INVALID_PARAMETER" -Scenario Outline: Search for Diary Entries with invalid date values - Given I configure the default "GpcGetStructuredRecord" request + Scenario Outline: Search for Diary Entries with invalid date values + Given I configure the default "GpcGetStructuredRecord" request And I add an NHS Number parameter for "patient1" - And I set a Diary Search date to "" - When I make the "GpcGetStructuredRecord" request - Then the response status code should be "422" + And I set a Diary Search date to "" + When I make the "GpcGetStructuredRecord" request + Then the response status code should be "422" And the response should be a OperationOutcome resource with error code "INVALID_PARAMETER" - Examples: - | InvalidSearchDate | - | X2014 | - | X2014-02 | - | X2015-10-23T11:08:32 | - | X2015-10-23T11:08:32+00:00 | - | | - | 2014 | - | 2014-02 | - | null | - \ No newline at end of file + Examples: + | InvalidSearchDate | + | X2014 | + | X2014-02 | + | X2015-10-23T11:08:32 | + | X2015-10-23T11:08:32+00:00 | + | | + | 2014 | + | 2014-02 | + | null | diff --git a/GPConnect.Provider.AcceptanceTests/StructuredDocuments.feature b/GPConnect.Provider.AcceptanceTests/StructuredDocuments.feature index a73e2c3f..4c974bcf 100644 --- a/GPConnect.Provider.AcceptanceTests/StructuredDocuments.feature +++ b/GPConnect.Provider.AcceptanceTests/StructuredDocuments.feature @@ -8,9 +8,9 @@ Feature: Documents #Search For Documents Tests ########################################## - Scenario: Search for Documents on a Patient with Documents + Scenario Outline: Scenario Outline name: Search for Documents on a Patient with Documents Given I configure the default "DocumentsPatientSearch" request - And I add a Patient Identifier parameter with default System and Value "patient2" + And I add a Patient Identifier parameter with default System and Value "" When I make the "DocumentsPatientSearch" request Then the response status code should indicate success Given I store the Patient @@ -22,6 +22,10 @@ Feature: Documents And The Bundle id should match the SSPTraceID And I Check the returned DocumentReference is Valid And I Check the returned DocumentReference Do Not Include Not In Use Fields + Examples: + | Patient | + | patient2 | + | patient40 | #This test will fail against the demonstrator. Till the demonstraor is updates @@ -66,9 +70,9 @@ Feature: Documents Then the response status code should be "422" And the response should be a OperationOutcome resource with error code "INVALID_PARAMETER" - Scenario: Search for Documents using author parameter + Scenario Outline: Search for Documents using author parameter Given I configure the default "DocumentsPatientSearch" request - And I add a Patient Identifier parameter with default System and Value "patient2" + And I add a Patient Identifier parameter with default System and Value "" When I make the "DocumentsPatientSearch" request Then the response status code should indicate success Given I store the Patient @@ -81,6 +85,10 @@ Feature: Documents And The Bundle id should match the SSPTraceID And I Check the returned DocumentReference is Valid And I Check the returned DocumentReference Do Not Include Not In Use Fields + Examples: + | Patient | + | patient2 | + | patient40 | Scenario: Search for Documents using author parameter but with invalid identifier Given I configure the default "DocumentsPatientSearch" request @@ -111,7 +119,7 @@ Feature: Documents Scenario Outline: Search for Patient Documents created less than a date Given I configure the default "DocumentsPatientSearch" request - And I add a Patient Identifier parameter with default System and Value "patient2" + And I add a Patient Identifier parameter with default System and Value "" When I make the "DocumentsPatientSearch" request Then the response status code should indicate success Given I store the Patient @@ -123,12 +131,13 @@ Feature: Documents And the response should be a Bundle resource of type "searchset" And The Bundle id should match the SSPTraceID Examples: - | Days | - | 2 | + | Days | Patient | + | 2 | patient2 | + | 2 | patient40 | Scenario Outline: Search for Patient Documents created greater than a date Given I configure the default "DocumentsPatientSearch" request - And I add a Patient Identifier parameter with default System and Value "patient2" + And I add a Patient Identifier parameter with default System and Value "" When I make the "DocumentsPatientSearch" request Then the response status code should indicate success Given I store the Patient @@ -140,12 +149,13 @@ Feature: Documents And the response should be a Bundle resource of type "searchset" And The Bundle id should match the SSPTraceID Examples: - | Days | - | 365 | + | Days | Patient | + | 365 | patient2 | + | 365 | patient40 | - Scenario: Search for Documents with an invalid parameter + Scenario Outline: Scenario Outline name: Search for Documents with an invalid parameter Given I configure the default "DocumentsPatientSearch" request - And I add a Patient Identifier parameter with default System and Value "patient2" + And I add a Patient Identifier parameter with default System and Value "" When I make the "DocumentsPatientSearch" request Then the response status code should indicate success Given I store the Patient @@ -155,6 +165,10 @@ Feature: Documents When I make the "DocumentsSearch" request Then the response status code should be "422" And the response should be a OperationOutcome resource with error code "INVALID_PARAMETER" + Examples: + | Patient | + | patient2 | + | patient40 | Scenario: Search for Documents on a Patient that doesnt exist Given I configure the default "DocumentsSearch" request @@ -183,9 +197,9 @@ Feature: Documents #Retrieve Documents Tests ########################################## - Scenario: Retrieve a Document for Patient2 + Scenario Outline: Retrieve a Document for Patient2 Given I configure the default "DocumentsPatientSearch" request - And I add a Patient Identifier parameter with default System and Value "patient2" + And I add a Patient Identifier parameter with default System and Value "" When I make the "DocumentsPatientSearch" request Then the response status code should indicate success Given I store the Patient @@ -201,6 +215,10 @@ Feature: Documents And I save the binary document from the retrieve And I Check the returned Binary Document is Valid And I Check the returned Binary Document Do Not Include Not In Use Fields + Examples: + | Patient | + | patient2 | + | patient40 | ########################################## #Documents Search/Find Patients Tests @@ -232,13 +250,14 @@ Feature: Documents And the Patient Contact Telecom use should be valid And the Patient Not In Use should be valid Examples: - | Patient | - | patient1 | - | patient2 | - | patient3 | - | patient4 | - | patient5 | - | patient6 | + | Patient | + | patient1 | + | patient2 | + | patient3 | + | patient4 | + | patient5 | + | patient6 | + | patient40 | Scenario Outline: Documents Patient Search with an invalid NHS number Given I configure the default "DocumentsPatientSearch" request @@ -389,10 +408,11 @@ Feature: Documents And the response bundle should contain "1" entries And the Patient Identifiers should be valid for Patient "" Examples: - | Patient | - | patient1 | - | patient2 | - | patient3 | + | Patient | + | patient1 | + | patient2 | + | patient3 | + | patient40 | Scenario: Documents Patient search response does not return deceased patient Given I configure the default "DocumentsPatientSearch" request diff --git a/GPConnect.Provider.AcceptanceTests/StructuredImmunizations.feature b/GPConnect.Provider.AcceptanceTests/StructuredImmunizations.feature index ad29bce1..296c9b28 100644 --- a/GPConnect.Provider.AcceptanceTests/StructuredImmunizations.feature +++ b/GPConnect.Provider.AcceptanceTests/StructuredImmunizations.feature @@ -5,9 +5,9 @@ Feature: StructuredImmunizations # Tests around Multiple Structured Areas in one Request are tested in the MultipleRequests Feature - Scenario: Verify Immunizations structured record for a Patient with Immunizations not linked to any problems + Scenario Outline: Scenario Outline name: Verify Immunizations structured record for a Patient with Immunizations not linked to any problems Given I configure the default "GpcGetStructuredRecord" request - And I add an NHS Number parameter for "patient3" + And I add an NHS Number parameter for "" And I add the immunizations parameter When I make the "GpcGetStructuredRecord" request Then the response status code should indicate success @@ -16,7 +16,7 @@ Feature: StructuredImmunizations And the patient resource in the bundle should contain meta data profile and version id And if the response bundle contains a practitioner resource it should contain meta data profile and version id And if the response bundle contains an organization resource it should contain meta data profile and version id - And the Bundle should be valid for patient "patient3" + And the Bundle should be valid for patient "" And the Patient Id should be valid And the Practitioner Id should be valid And the Organization Id should be valid @@ -27,10 +27,14 @@ Feature: StructuredImmunizations And The Structured List Does Not Include Not In Use Fields And I Check There is No Problems Secondary Problems List And I Check No Problem Resources are Included + Examples: + | Patient | + | patient3 | + | patient36 | - Scenario: Retrieve immunizations structured record for a patient with records with the NotGiven and includeStatus parameters + Scenario Outline: Retrieve immunizations structured record for a patient with records with the NotGiven and includeStatus parameters Given I configure the default "GpcGetStructuredRecord" request - And I add an NHS Number parameter for "patient2" + And I add an NHS Number parameter for "" And I add the immunizations parameter And I add a NotGiven immunizations part parameter And I add a Dissent immunizations part parameter @@ -41,7 +45,7 @@ Feature: StructuredImmunizations And the patient resource in the bundle should contain meta data profile and version id And if the response bundle contains a practitioner resource it should contain meta data profile and version id And if the response bundle contains an organization resource it should contain meta data profile and version id - And the Bundle should be valid for patient "patient2" + And the Bundle should be valid for patient "" And the Patient Id should be valid And the Practitioner Id should be valid And the Organization Id should be valid @@ -52,12 +56,16 @@ Feature: StructuredImmunizations And The Structured List Does Not Include Not In Use Fields And I Check There is No Problems Secondary Problems List And I Check No Problem Resources are Included + Examples: + | Patient | + | patient2 | + | patient36 | #PG 19-2-2020 - Added for 1.3.2 - To check that associated problems and the problems list are sent. - Scenario: Verify Immunizations structured record for a Patient with Immunizations associated to Problems + Scenario Outline: Scenario Outline name: Verify Immunizations structured record for a Patient with Immunizations associated to Problems Given I configure the default "GpcGetStructuredRecord" request - And I add an NHS Number parameter for "patient2" + And I add an NHS Number parameter for "" And I add the immunizations parameter When I make the "GpcGetStructuredRecord" request Then the response status code should indicate success @@ -66,7 +74,7 @@ Feature: StructuredImmunizations And the patient resource in the bundle should contain meta data profile and version id And if the response bundle contains a practitioner resource it should contain meta data profile and version id And if the response bundle contains an organization resource it should contain meta data profile and version id - And the Bundle should be valid for patient "patient2" + And the Bundle should be valid for patient "" And check that the bundle does not contain any duplicate resources And the Patient Id should be valid And the Practitioner Id should be valid @@ -82,6 +90,10 @@ Feature: StructuredImmunizations And I Check The Problems Resources are Valid And I check The Problem Resources Do Not Include Not In Use Fields And Check a Problem is linked to an "Immunization" that is also included in the response with its list + Examples: + | Patient | + | patient2 | + | patient36 | Scenario: Retrieve the immunizations structured record section for an invalid NHS number Given I configure the default "GpcGetStructuredRecord" request diff --git a/GPConnect.Provider.AcceptanceTests/StructuredInvestigations.feature b/GPConnect.Provider.AcceptanceTests/StructuredInvestigations.feature index a48200dc..483980ee 100644 --- a/GPConnect.Provider.AcceptanceTests/StructuredInvestigations.feature +++ b/GPConnect.Provider.AcceptanceTests/StructuredInvestigations.feature @@ -5,9 +5,9 @@ Feature: StructuredInvestigations # Tests around Multiple Structured Areas in one Request are tested in the MultipleRequests Feature @1.5.0-IncrementalAndRegression - Scenario: Verify Investigations structured record for a Patient with Investigations not linked to any problems + Scenario Outline: Verify Investigations structured record for a Patient with Investigations not linked to any problems Given I configure the default "GpcGetStructuredRecord" request - And I add an NHS Number parameter for "patient3" + And I add an NHS Number parameter for "" And I add the Investigations parameter When I make the "GpcGetStructuredRecord" request Then the response status code should indicate success @@ -16,7 +16,7 @@ Feature: StructuredInvestigations And the patient resource in the bundle should contain meta data profile and version id And if the response bundle contains a practitioner resource it should contain meta data profile and version id And if the response bundle contains an organization resource it should contain meta data profile and version id - And the Bundle should be valid for patient "patient3" + And the Bundle should be valid for patient "" And check that the bundle does not contain any duplicate resources And check the response does not contain an operation outcome And the Patient Id should be valid @@ -33,11 +33,15 @@ Feature: StructuredInvestigations And I Check the Test report Filing Do Not Include Not in Use Fields And I Check There is No Problems Secondary Problems List And I Check No Problem Resources are Included + Examples: + | Patient | + | patient3 | + | patient30 | @1.5.0-IncrementalAndRegression - Scenario: Verify Investigations structured record for a Patient with Investigations associated to Problems + Scenario Outline: Verify Investigations structured record for a Patient with Investigations associated to Problems Given I configure the default "GpcGetStructuredRecord" request - And I add an NHS Number parameter for "patient2" + And I add an NHS Number parameter for "" And I add the Investigations parameter When I make the "GpcGetStructuredRecord" request Then the response status code should indicate success @@ -46,7 +50,7 @@ Feature: StructuredInvestigations And the patient resource in the bundle should contain meta data profile and version id And if the response bundle contains a practitioner resource it should contain meta data profile and version id And if the response bundle contains an organization resource it should contain meta data profile and version id - And the Bundle should be valid for patient "patient2" + And the Bundle should be valid for patient "" And check that the bundle does not contain any duplicate resources And check the response does not contain an operation outcome And the Patient Id should be valid @@ -66,12 +70,16 @@ Feature: StructuredInvestigations And I Check the Test report Filing is Valid And I Check the Test report Filing Do Not Include Not in Use Fields And the Bundle should contain "2" lists + Examples: + | Patient | + | patient2 | + | patient30 | #The Aspects covered in this test have been split out from the main tests above as some providers do not support ProcedureRequests at this time. @1.5.0-IncrementalAndRegression - Scenario: Verify Investigations structured record for a Patient with DiagnosticReports Linked to ProcedureRequests + Scenario Outline: Scenario Outline name: Verify Investigations structured record for a Patient with DiagnosticReports Linked to ProcedureRequests Given I configure the default "GpcGetStructuredRecord" request - And I add an NHS Number parameter for "patient3" + And I add an NHS Number parameter for "" And I add the Investigations parameter When I make the "GpcGetStructuredRecord" request Then the response status code should indicate success @@ -80,7 +88,7 @@ Feature: StructuredInvestigations And the patient resource in the bundle should contain meta data profile and version id And if the response bundle contains a practitioner resource it should contain meta data profile and version id And if the response bundle contains an organization resource it should contain meta data profile and version id - And the Bundle should be valid for patient "patient3" + And the Bundle should be valid for patient "" And check that the bundle does not contain any duplicate resources And check the response does not contain an operation outcome And the Patient Id should be valid @@ -99,7 +107,10 @@ Feature: StructuredInvestigations And I Check the Test report Filing Do Not Include Not in Use Fields And I Check There is No Problems Secondary Problems List And I Check No Problem Resources are Included - + Examples: + | Patient | + | patient3 | + | patient30 | @1.5.0-IncrementalAndRegression Scenario: Retrieve Investigations structured record for a patient that has no Investigations data diff --git a/GPConnect.Provider.AcceptanceTests/StructuredMedications.feature b/GPConnect.Provider.AcceptanceTests/StructuredMedications.feature index e681f636..fd6e5c67 100644 --- a/GPConnect.Provider.AcceptanceTests/StructuredMedications.feature +++ b/GPConnect.Provider.AcceptanceTests/StructuredMedications.feature @@ -36,6 +36,8 @@ Feature: StructuredMedications | patient5 | | patient12 | | patient16 | + | patient33 | + | patient34 | Scenario Outline: Retrieve the medication structured record section for a patient with problems linked and including prescription issues Given I configure the default "GpcGetStructuredRecord" request @@ -68,6 +70,7 @@ Feature: StructuredMedications Examples: | Patient | | patient33 | + | patient34 | Scenario Outline: Retrieve the medication structured record for a patient with no problems and excluding prescription issues Given I configure the default "GpcGetStructuredRecord" request @@ -99,6 +102,8 @@ Feature: StructuredMedications | patient3 | | patient5 | | patient12 | + | patient33 | + | patient34 | Scenario: Retrieve the medication structured record section for a patient with no medications Given I configure the default "GpcGetStructuredRecord" request @@ -118,9 +123,9 @@ Feature: StructuredMedications And the Medication Statements should be valid And the Medication Requests should be valid - Scenario: Retrieve the medication structured record section for a patient with a timePeriod + Scenario Outline: Retrieve the medication structured record section for a patient with a timePeriod Given I configure the default "GpcGetStructuredRecord" request - And I add an NHS Number parameter for "patient2" + And I add an NHS Number parameter for "" # fixed date used to match Wiremock mapping And I set a medications period parameter start date to "2022-09-25" When I make the "GpcGetStructuredRecord" request @@ -130,17 +135,22 @@ Feature: StructuredMedications And the patient resource in the bundle should contain meta data profile and version id And if the response bundle contains a practitioner resource it should contain meta data profile and version id And if the response bundle contains an organization resource it should contain meta data profile and version id - And the Bundle should be valid for patient "patient2" + And the Bundle should be valid for patient "" And the Medications should be valid And the Medication Statements should be valid And the Medication Requests should be valid And the List of MedicationStatements should be valid # fixed date used to match Wiremock mapping And the MedicationStatement EffectiveDate is Greater Than Search Date of "2022-09-25" years ago + Examples: + | Patient | + | patient2 | + | patient33 | + | patient34 | - Scenario: Retrieve the medication structured record section for a patient with medication prescribed elsewhere + Scenario Outline: Retrieve the medication structured record section for a patient with medication prescribed elsewhere Given I configure the default "GpcGetStructuredRecord" request - And I add an NHS Number parameter for "patient12" + And I add an NHS Number parameter for "" And I add the medication parameter with includePrescriptionIssues set to "true" When I make the "GpcGetStructuredRecord" request Then the response status code should indicate success @@ -149,10 +159,15 @@ Feature: StructuredMedications And the patient resource in the bundle should contain meta data profile and version id And if the response bundle contains a practitioner resource it should contain meta data profile and version id And if the response bundle contains an organization resource it should contain meta data profile and version id - And the Bundle should be valid for patient "patient12" + And the Bundle should be valid for patient "" And the Bundle should contain "1" lists And the Medications should be valid And the Medication Statements should be valid And the Medication Requests should be valid And the List of MedicationStatements should be valid - And the MedicationStatement for prescriptions prescribed elsewhere should be valid \ No newline at end of file + And the MedicationStatement for prescriptions prescribed elsewhere should be valid + Examples: + | Patient | + | patient12 | + | patient33 | + | patient34 | \ No newline at end of file diff --git a/GPConnect.Provider.AcceptanceTests/StructuredReferrals.feature b/GPConnect.Provider.AcceptanceTests/StructuredReferrals.feature index 175bc97a..a8b2f14f 100644 --- a/GPConnect.Provider.AcceptanceTests/StructuredReferrals.feature +++ b/GPConnect.Provider.AcceptanceTests/StructuredReferrals.feature @@ -5,9 +5,9 @@ Feature: StructuredReferrals # Tests around Multiple Structured Areas in one Request are tested in the MultipleRequests Feature @1.5.0-IncrementalAndRegression - Scenario: Verify Referrals structured record for a Patient with Referrals not linked to any problems + Scenario Outline: Verify Referrals structured record for a Patient with Referrals not linked to any problems Given I configure the default "GpcGetStructuredRecord" request - And I add an NHS Number parameter for "patient3" + And I add an NHS Number parameter for "" And I add the Referrals parameter When I make the "GpcGetStructuredRecord" request Then the response status code should indicate success @@ -16,7 +16,7 @@ Feature: StructuredReferrals And the patient resource in the bundle should contain meta data profile and version id And if the response bundle contains a practitioner resource it should contain meta data profile and version id And if the response bundle contains an organization resource it should contain meta data profile and version id - And the Bundle should be valid for patient "patient3" + And the Bundle should be valid for patient "" And check that the bundle does not contain any duplicate resources And check the response does not contain an operation outcome And the Patient Id should be valid @@ -29,11 +29,15 @@ Feature: StructuredReferrals And I Check the ReferralRequests Do Not Include Not in Use Fields And I Check There is No Problems Secondary Problems List And I Check No Problem Resources are Included + Examples: + | Patient | + | patient3 | + | patient38 | @1.5.0-IncrementalAndRegression - Scenario: Verify Referrals structured record for a Patient with Referrals associated to Problems + Scenario Outline: Verify Referrals structured record for a Patient with Referrals associated to Problems Given I configure the default "GpcGetStructuredRecord" request - And I add an NHS Number parameter for "patient2" + And I add an NHS Number parameter for "" And I add the Referrals parameter When I make the "GpcGetStructuredRecord" request Then the response status code should indicate success @@ -42,7 +46,7 @@ Feature: StructuredReferrals And the patient resource in the bundle should contain meta data profile and version id And if the response bundle contains a practitioner resource it should contain meta data profile and version id And if the response bundle contains an organization resource it should contain meta data profile and version id - And the Bundle should be valid for patient "patient2" + And the Bundle should be valid for patient "" And check that the bundle does not contain any duplicate resources And check the response does not contain an operation outcome And the Patient Id should be valid @@ -58,6 +62,10 @@ Feature: StructuredReferrals And I check The Problem Resources Do Not Include Not In Use Fields And the Bundle should contain "2" lists And Check a Problem is linked to ReferralRequest and that it is also included + Examples: + | Patient | + | patient2 | + | patient38 | @1.5.0-IncrementalAndRegression Scenario: Retrieve Referrals structured record for a patient that has no Referrals data diff --git a/GPConnect.Provider.AcceptanceTests/StructuredUncategorised.feature b/GPConnect.Provider.AcceptanceTests/StructuredUncategorised.feature index c81dba7b..e2e846b6 100644 --- a/GPConnect.Provider.AcceptanceTests/StructuredUncategorised.feature +++ b/GPConnect.Provider.AcceptanceTests/StructuredUncategorised.feature @@ -5,9 +5,9 @@ Feature: StructuredUncategorised # Tests around Multiple Structured Areas in one Request are tested in the MultipleRequests Feature - Scenario: Verify Uncategorised structured record for a Patient with Uncategorised data not linked to any problems + Scenario Outline: Verify Uncategorised structured record for a Patient with Uncategorised data not linked to any problems Given I configure the default "GpcGetStructuredRecord" request - And I add an NHS Number parameter for "patient3" + And I add an NHS Number parameter for "" And I add the uncategorised data parameter When I make the "GpcGetStructuredRecord" request Then the response status code should indicate success @@ -16,7 +16,7 @@ Feature: StructuredUncategorised And the patient resource in the bundle should contain meta data profile and version id And if the response bundle contains a practitioner resource it should contain meta data profile and version id And if the response bundle contains an organization resource it should contain meta data profile and version id - And the Bundle should be valid for patient "patient3" + And the Bundle should be valid for patient "" And the Patient Id should be valid And the Practitioner Id should be valid And the Organization Id should be valid @@ -28,12 +28,16 @@ Feature: StructuredUncategorised And check the response does not contain an operation outcome And I Check There is No Problems Secondary Problems List And I Check No Problem Resources are Included + Examples: + | Patient | + | patient3 | + | patient37 | #PG 19-2-2020 - Added for 1.3.2 - To check that associated problems and the problems list are sent. - Scenario: Verify Uncategorised structured record for a Patient with Uncategorised data associated to Problems + Scenario Outline: Verify Uncategorised structured record for a Patient with Uncategorised data associated to Problems Given I configure the default "GpcGetStructuredRecord" request - And I add an NHS Number parameter for "patient2" + And I add an NHS Number parameter for "" And I add the uncategorised data parameter When I make the "GpcGetStructuredRecord" request Then the response status code should indicate success @@ -42,7 +46,7 @@ Feature: StructuredUncategorised And the patient resource in the bundle should contain meta data profile and version id And if the response bundle contains a practitioner resource it should contain meta data profile and version id And if the response bundle contains an organization resource it should contain meta data profile and version id - And the Bundle should be valid for patient "patient2" + And the Bundle should be valid for patient "" And check that the bundle does not contain any duplicate resources And the Patient Id should be valid And the Practitioner Id should be valid @@ -58,6 +62,10 @@ Feature: StructuredUncategorised And I Check The Problems Resources are Valid And I check The Problem Resources Do Not Include Not In Use Fields And Check a Problem is linked to an "Observation" that is also included in the response with its list + Examples: + | Patient | + | patient2 | + | patient37 | Scenario: Retrieve uncategorised data structured record section for an invalid NHS number Given I configure the default "GpcGetStructuredRecord" request @@ -126,7 +134,6 @@ Feature: StructuredUncategorised Then the response status code should indicate failure And the response status code should be "422" And the response should be a OperationOutcome resource with error code "INVALID_PARAMETER" - Examples: | startDate | endDate | Parameter | PartParameter | | 2014 | 2016-01-01 | includeUncategorisedData | uncategorisedDataSearchPeriod | From 091fa1a138e1e0568ede36ee5d3ffb44a268f223 Mon Sep 17 00:00:00 2001 From: williamjameswillis Date: Tue, 7 Oct 2025 09:32:24 +0100 Subject: [PATCH 14/18] add INT nhs number for StructuredProblems --- .../StructuredProblems.feature | 260 +++++++++--------- 1 file changed, 137 insertions(+), 123 deletions(-) diff --git a/GPConnect.Provider.AcceptanceTests/StructuredProblems.feature b/GPConnect.Provider.AcceptanceTests/StructuredProblems.feature index 1af77318..89c35a16 100644 --- a/GPConnect.Provider.AcceptanceTests/StructuredProblems.feature +++ b/GPConnect.Provider.AcceptanceTests/StructuredProblems.feature @@ -1,22 +1,22 @@ @Structured @StructuredProblems @1.5.0-Full-Pack Feature: StructuredProblems -# These Tests are only Testing this Structured Area in isolation and Not with other Areas or Combinations of Include Parameters -# Tests around Multiple Structured Areas in one Request are tested in the MultipleRequests Feature + # These Tests are only Testing this Structured Area in isolation and Not with other Areas or Combinations of Include Parameters + # Tests around Multiple Structured Areas in one Request are tested in the MultipleRequests Feature -Scenario: Verify response for a Patient with Problems linked to some clinical items - Given I configure the default "GpcGetStructuredRecord" request - And I add an NHS Number parameter for "patient2" + Scenario Outline: Verify response for a Patient with Problems linked to some clinical items + Given I configure the default "GpcGetStructuredRecord" request + And I add an NHS Number parameter for "" And I add the Problems parameter - When I make the "GpcGetStructuredRecord" request - Then the response status code should indicate success + When I make the "GpcGetStructuredRecord" request + Then the response status code should indicate success And the response should be a Bundle resource of type "collection" And the response meta profile should be for "structured" And the patient resource in the bundle should contain meta data profile and version id And if the response bundle contains a practitioner resource it should contain meta data profile and version id And if the response bundle contains an organization resource it should contain meta data profile and version id - And the Bundle should be valid for patient "patient2" + And the Bundle should be valid for patient "" And the Patient Id should be valid And the Practitioner Id should be valid And the Organization Id should be valid @@ -30,24 +30,28 @@ Scenario: Verify response for a Patient with Problems linked to some clinical it And Check the MedicationRequests have a link to a medication that has been included in response And Check there is a MedicationStatement resource that is linked to the MedicationRequest and Medication And Check a Problem is linked to an "Observation" that is also included in the response with its list - And Check that a Problem is linked via context to a consultation but only a reference is sent in response + And Check that a Problem is linked via context to a consultation but only a reference is sent in response And I Check the Problems Uncategorised Secondary List is Valid And I Check the Problems Medications Secondary List is Valid + Examples: + | Patient | + | patient2 | + | patient32 | -#Expect this test to fail for TPP as they do not support Problems linked to Problems + #Expect this test to fail for TPP as they do not support Problems linked to Problems -Scenario: Verify response for a Patient with Problems linked to other Problems - Given I configure the default "GpcGetStructuredRecord" request - And I add an NHS Number parameter for "patient2" + Scenario Outline: Verify response for a Patient with Problems linked to other Problems + Given I configure the default "GpcGetStructuredRecord" request + And I add an NHS Number parameter for "" And I add the Problems parameter - When I make the "GpcGetStructuredRecord" request - Then the response status code should indicate success + When I make the "GpcGetStructuredRecord" request + Then the response status code should indicate success And the response should be a Bundle resource of type "collection" And the response meta profile should be for "structured" And the patient resource in the bundle should contain meta data profile and version id And if the response bundle contains a practitioner resource it should contain meta data profile and version id And if the response bundle contains an organization resource it should contain meta data profile and version id - And the Bundle should be valid for patient "patient2" + And the Bundle should be valid for patient "" And the Patient Id should be valid And the Practitioner Id should be valid And the Organization Id should be valid @@ -58,88 +62,94 @@ Scenario: Verify response for a Patient with Problems linked to other Problems And I Check The Problems Resources are Valid And I check The Problem Resources Do Not Include Not In Use Fields And check the response does not contain an operation outcome - - -Scenario Outline: Retrieve problems structured record with status partParameter expected success - Given I configure the default "GpcGetStructuredRecord" request - And I add an NHS Number parameter for "patient2" + Examples: + | Patient | + | patient2 | + | patient32 | + + + Scenario Outline: Retrieve problems structured record with status partParameter expected success + Given I configure the default "GpcGetStructuredRecord" request + And I add an NHS Number parameter for "" And I add the problems parameter with filterStatus "" - When I make the "GpcGetStructuredRecord" request - Then the response status code should indicate success + When I make the "GpcGetStructuredRecord" request + Then the response status code should indicate success And the response should be a Bundle resource of type "collection" And the response meta profile should be for "structured" And the patient resource in the bundle should contain meta data profile and version id And if the response bundle contains a practitioner resource it should contain meta data profile and version id And if the response bundle contains an organization resource it should contain meta data profile and version id - And the Bundle should be valid for patient "patient2" + And the Bundle should be valid for patient "" And the Patient Id should be valid And the Practitioner Id should be valid - And the Organization Id should be valid + And the Organization Id should be valid And check the response does not contain an operation outcome -Examples: - | value | - | active | - | inactive | + Examples: + | value | Patient | + | active | patient2 | + | inactive | patient32 | + | active | patient2 | + | inactive | patient32 | -Scenario Outline: Retrieve problems structured record with significance partParameter expected success - Given I configure the default "GpcGetStructuredRecord" request - And I add an NHS Number parameter for "patient2" + Scenario Outline: Retrieve problems structured record with significance partParameter expected success + Given I configure the default "GpcGetStructuredRecord" request + And I add an NHS Number parameter for "" And I add the problems parameter with filterSignificance "" - When I make the "GpcGetStructuredRecord" request - Then the response status code should indicate success + When I make the "GpcGetStructuredRecord" request + Then the response status code should indicate success And the response should be a Bundle resource of type "collection" And the response meta profile should be for "structured" And the patient resource in the bundle should contain meta data profile and version id And if the response bundle contains a practitioner resource it should contain meta data profile and version id And if the response bundle contains an organization resource it should contain meta data profile and version id - And the Bundle should be valid for patient "patient2" + And the Bundle should be valid for patient "" And the Patient Id should be valid And the Practitioner Id should be valid - And the Organization Id should be valid + And the Organization Id should be valid And I Check The Primary Problems List And I Check The Primary Problems List Does Not Include Not In Use Fields And I Check The Problems Resources are Valid And I check The Problem Resources Do Not Include Not In Use Fields And check the response does not contain an operation outcome -Examples: - | value | - | major | - | minor | + Examples: + | value | Patient | + | major | patient2 | + | minor | patient32 | -Scenario Outline: Retrieve problems structured record with status and significance partParameter expected success - Given I configure the default "GpcGetStructuredRecord" request - And I add an NHS Number parameter for "patient2" + Scenario Outline: Retrieve problems structured record with status and significance partParameter expected success + Given I configure the default "GpcGetStructuredRecord" request + And I add an NHS Number parameter for "" And I add the problems parameter including status and significance value "" "" - When I make the "GpcGetStructuredRecord" request - Then the response status code should indicate success + When I make the "GpcGetStructuredRecord" request + Then the response status code should indicate success And the response should be a Bundle resource of type "collection" And the response meta profile should be for "structured" And the patient resource in the bundle should contain meta data profile and version id And if the response bundle contains a practitioner resource it should contain meta data profile and version id And if the response bundle contains an organization resource it should contain meta data profile and version id - And the Bundle should be valid for patient "patient2" + And the Bundle should be valid for patient "" And the Patient Id should be valid And the Practitioner Id should be valid - And the Organization Id should be valid + And the Organization Id should be valid And I Check The Primary Problems List And I Check The Primary Problems List Does Not Include Not In Use Fields And I Check The Problems Resources are Valid And I check The Problem Resources Do Not Include Not In Use Fields And check the response does not contain an operation outcome -Examples: - | statusValue | sigValue | - | active | major | - | active | minor | - #| inactive | major | - #| inactive | minor | + Examples: + | statusValue | sigValue | Patient | + | active | major | patient2 | + | active | minor | patient32 | + | inactive | major | patient2 | + | inactive | minor | patient32 | -Scenario: Retrieve problems structured record for a patient that has no problems data - Given I configure the default "GpcGetStructuredRecord" request + Scenario: Retrieve problems structured record for a patient that has no problems data + Given I configure the default "GpcGetStructuredRecord" request And I add an NHS Number parameter for "patient4" And I add the Problems parameter And I add the medication parameter with includePrescriptionIssues set to "true" - When I make the "GpcGetStructuredRecord" request - Then the response status code should indicate success + When I make the "GpcGetStructuredRecord" request + Then the response status code should indicate success And the response should be a Bundle resource of type "collection" And the response meta profile should be for "structured" And the patient resource in the bundle should contain meta data profile and version id @@ -148,119 +158,123 @@ Scenario: Retrieve problems structured record for a patient that has no problems And the Bundle should be valid for patient "patient4" And the Patient Id should be valid And the Practitioner Id should be valid - And the Organization Id should be valid + And the Organization Id should be valid And I Check The Primary Problems List And check the response does not contain an operation outcome And check structured list contains a note and emptyReason when no data in section -Scenario: Retrieve problems structured record for a patient that has repeating pair values expected success - Given I configure the default "GpcGetStructuredRecord" request - And I add an NHS Number parameter for "patient2" + Scenario Outline: Retrieve problems structured record for a patient that has repeating pair values expected success + Given I configure the default "GpcGetStructuredRecord" request + And I add an NHS Number parameter for "" And I add the problems parameter including repeating filter pairs And I add the medication parameter with includePrescriptionIssues set to "true" - When I make the "GpcGetStructuredRecord" request - Then the response status code should indicate success + When I make the "GpcGetStructuredRecord" request + Then the response status code should indicate success And the response should be a Bundle resource of type "collection" And the response meta profile should be for "structured" And the patient resource in the bundle should contain meta data profile and version id And if the response bundle contains a practitioner resource it should contain meta data profile and version id And if the response bundle contains an organization resource it should contain meta data profile and version id - And the Bundle should be valid for patient "patient2" + And the Bundle should be valid for patient "" And the Patient Id should be valid And the Practitioner Id should be valid - And the Organization Id should be valid + And the Organization Id should be valid And check the response does not contain an operation outcome + Examples: + | Patient | + | patient2 | + | patient32 | -Scenario Outline: Retrieve problems structured record with invalid status partParameter expected failure - Given I configure the default "GpcGetStructuredRecord" request + Scenario Outline: Retrieve problems structured record with invalid status partParameter expected failure + Given I configure the default "GpcGetStructuredRecord" request And I add an NHS Number parameter for "patient2" And I add the problems parameter with filterStatus "" - When I make the "GpcGetStructuredRecord" request - Then the response status code should indicate failure + When I make the "GpcGetStructuredRecord" request + Then the response status code should indicate failure And the response status code should be "422" - And the response should be a OperationOutcome resource with error code "INVALID_PARAMETER" -Examples: - | value | - | resolved | - | recurrence | - | remission | - | null | - | off | - -Scenario Outline: Retrieve problems structured record with invalid significance partParameter expected failure - Given I configure the default "GpcGetStructuredRecord" request + And the response should be a OperationOutcome resource with error code "INVALID_PARAMETER" + Examples: + | value | + | resolved | + | recurrence | + | remission | + | null | + | off | + + Scenario Outline: Retrieve problems structured record with invalid significance partParameter expected failure + Given I configure the default "GpcGetStructuredRecord" request And I add an NHS Number parameter for "patient2" And I add the problems parameter with filterSignificance "" - When I make the "GpcGetStructuredRecord" request - Then the response status code should indicate failure + When I make the "GpcGetStructuredRecord" request + Then the response status code should indicate failure And the response status code should be "422" - And the response should be a OperationOutcome resource with error code "INVALID_PARAMETER" -Examples: - | value | - | HIGH | - | null | - | off | + And the response should be a OperationOutcome resource with error code "INVALID_PARAMETER" + Examples: + | value | + | HIGH | + | null | + | off | -Scenario Outline: Retrieve problems structured record with invalid status and significance partParameter expected failure - Given I configure the default "GpcGetStructuredRecord" request + Scenario Outline: Retrieve problems structured record with invalid status and significance partParameter expected failure + Given I configure the default "GpcGetStructuredRecord" request And I add an NHS Number parameter for "patient2" And I add the problems parameter including status and significance value "" "" - When I make the "GpcGetStructuredRecord" request - Then the response status code should indicate failure + When I make the "GpcGetStructuredRecord" request + Then the response status code should indicate failure And the response status code should be "422" - And the response should be a OperationOutcome resource with error code "INVALID_PARAMETER" -Examples: - | statusValue | sigValue | - | invalid | invalid | - | active | low | - | resolved | major | + And the response should be a OperationOutcome resource with error code "INVALID_PARAMETER" + Examples: + | statusValue | sigValue | + | invalid | invalid | + | active | low | + | resolved | major | -Scenario: Retrieve Problems structured record with made up partParameter expected success - Given I configure the default "GpcGetStructuredRecord" request + Scenario: Retrieve Problems structured record with made up partParameter expected success + Given I configure the default "GpcGetStructuredRecord" request And I add an NHS Number parameter for "patient2" - And I add a madeUpProblems part parameter - When I make the "GpcGetStructuredRecord" request - Then the response status code should indicate success + And I add a madeUpProblems part parameter + When I make the "GpcGetStructuredRecord" request + Then the response status code should indicate success And Check the operation outcome returns the correct text and diagnotics "madeUpProblems" And Check the number of issues in the operation outcome "1" -Scenario: Retrieve Problems structured record section for an invalid NHS number - Given I configure the default "GpcGetStructuredRecord" request + Scenario: Retrieve Problems structured record section for an invalid NHS number + Given I configure the default "GpcGetStructuredRecord" request And I add an NHS Number parameter for an invalid NHS Number And I add the Problems parameter - When I make the "GpcGetStructuredRecord" request - Then the response status code should indicate failure + When I make the "GpcGetStructuredRecord" request + Then the response status code should indicate failure And the response should be a OperationOutcome resource -Scenario: Retrieve Problems structured record section for an empty NHS number - Given I configure the default "GpcGetStructuredRecord" request + Scenario: Retrieve Problems structured record section for an empty NHS number + Given I configure the default "GpcGetStructuredRecord" request And I add an NHS Number parameter with an empty NHS Number And I add the Problems parameter - When I make the "GpcGetStructuredRecord" request - Then the response status code should indicate failure + When I make the "GpcGetStructuredRecord" request + Then the response status code should indicate failure And the response should be a OperationOutcome resource -Scenario: Retrieve Problems structured record section for an invalid Identifier System - Given I configure the default "GpcGetStructuredRecord" request + Scenario: Retrieve Problems structured record section for an invalid Identifier System + Given I configure the default "GpcGetStructuredRecord" request And I add an NHS Number parameter for "patient1" with an invalid Identifier System And I add the Problems parameter - When I make the "GpcGetStructuredRecord" request - Then the response status code should indicate failure + When I make the "GpcGetStructuredRecord" request + Then the response status code should indicate failure And the response should be a OperationOutcome resource -Scenario: Retrieve Problems structured record section for an empty Identifier System -Given I configure the default "GpcGetStructuredRecord" request + Scenario: Retrieve Problems structured record section for an empty Identifier System + Given I configure the default "GpcGetStructuredRecord" request And I add an NHS Number parameter for "patient1" with an empty Identifier System And I add the Problems parameter - When I make the "GpcGetStructuredRecord" request - Then the response status code should indicate failure + When I make the "GpcGetStructuredRecord" request + Then the response status code should indicate failure And the response should be a OperationOutcome resource -Scenario: Retrieve Problems structured record for a patient that has sensitive flag - Given I configure the default "GpcGetStructuredRecord" request + Scenario: Retrieve Problems structured record for a patient that has sensitive flag + Given I configure the default "GpcGetStructuredRecord" request And I add an NHS Number parameter for "patient9" And I add the Problems parameter - When I make the "GpcGetStructuredRecord" request - Then the response status code should indicate failure + When I make the "GpcGetStructuredRecord" request + Then the response status code should indicate failure And the response status code should be "404" And the response should be a OperationOutcome resource with error code "PATIENT_NOT_FOUND" From 577aca43229304c5423110385d6db20574567a4f Mon Sep 17 00:00:00 2001 From: williamjameswillis Date: Tue, 7 Oct 2025 15:03:35 +0100 Subject: [PATCH 15/18] add testing for structured problems --- ...onnect.Provider.AcceptanceTests.dll.config | 30 +- .../StructuredAllergies.feature.cs | 98 +-- .../StructuredConsultations.feature.cs | 582 ++++++------- .../StructuredDiary.feature.cs | 237 +++--- .../StructuredDocuments.feature.cs | 762 +++++++++--------- .../StructuredImmunizations.feature.cs | 257 +++--- .../StructuredInvestigations.feature.cs | 346 ++++---- .../StructuredMedications.feature.cs | 239 +++--- .../StructuredProblems.feature | 9 +- .../StructuredProblems.feature.cs | 571 ++++++------- .../StructuredReferrals.feature.cs | 272 ++++--- .../StructuredUncategorised.feature.cs | 272 ++++--- 12 files changed, 1916 insertions(+), 1759 deletions(-) diff --git a/GPConnect.Provider.AcceptanceTests/GPConnect.Provider.AcceptanceTests.dll.config b/GPConnect.Provider.AcceptanceTests/GPConnect.Provider.AcceptanceTests.dll.config index 8f1f744a..75772c4f 100644 --- a/GPConnect.Provider.AcceptanceTests/GPConnect.Provider.AcceptanceTests.dll.config +++ b/GPConnect.Provider.AcceptanceTests/GPConnect.Provider.AcceptanceTests.dll.config @@ -54,10 +54,7 @@ - - - @@ -74,10 +71,14 @@ - + + + + @@ -85,6 +86,10 @@ --> + + + @@ -92,7 +97,19 @@ --> + + + + + + + + + + + @@ -120,12 +137,11 @@ - - + diff --git a/GPConnect.Provider.AcceptanceTests/StructuredAllergies.feature.cs b/GPConnect.Provider.AcceptanceTests/StructuredAllergies.feature.cs index c9037f3f..72859d2b 100644 --- a/GPConnect.Provider.AcceptanceTests/StructuredAllergies.feature.cs +++ b/GPConnect.Provider.AcceptanceTests/StructuredAllergies.feature.cs @@ -90,6 +90,7 @@ public void ScenarioCleanup() [NUnit.Framework.TestCaseAttribute("patient12", null)] [NUnit.Framework.TestCaseAttribute("patient13", null)] [NUnit.Framework.TestCaseAttribute("patient24", null)] + [NUnit.Framework.TestCaseAttribute("patient35", null)] public void RetrieveTheAllergyStructuredRecordSectionForAPatientIncludingResolvedAllergiesNoProblemsAssociated(string patient, string[] exampleTags) { string[] tagsOfScenario = exampleTags; @@ -191,6 +192,7 @@ public void RetrieveTheAllergyStructuredRecordSectionForAPatientIncludingResolve [NUnit.Framework.DescriptionAttribute("Retrieve the allergy structured record section for a patient including resolved a" + "llergies with linked Problems")] [NUnit.Framework.TestCaseAttribute("patient2", null)] + [NUnit.Framework.TestCaseAttribute("patient35", null)] public void RetrieveTheAllergyStructuredRecordSectionForAPatientIncludingResolvedAllergiesWithLinkedProblems(string patient, string[] exampleTags) { string[] tagsOfScenario = exampleTags; @@ -198,7 +200,7 @@ public void RetrieveTheAllergyStructuredRecordSectionForAPatientIncludingResolve argumentsOfScenario.Add("Patient", patient); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the allergy structured record section for a patient including resolved a" + "llergies with linked Problems", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 44 +#line 45 this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) @@ -208,89 +210,89 @@ public void RetrieveTheAllergyStructuredRecordSectionForAPatientIncludingResolve else { this.ScenarioStart(); -#line 45 +#line 46 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 46 +#line 47 testRunner.And(string.Format("I add an NHS Number parameter for \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 47 +#line 48 testRunner.And("I add the allergies parameter with resolvedAllergies set to \"true\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 48 +#line 49 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 49 +#line 50 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 50 +#line 51 testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 51 +#line 52 testRunner.And("the response meta profile should be for \"structured\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 52 +#line 53 testRunner.And("the patient resource in the bundle should contain meta data profile and version i" + "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 53 +#line 54 testRunner.And("if the response bundle contains a practitioner resource it should contain meta da" + "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 54 +#line 55 testRunner.And("if the response bundle contains an organization resource it should contain meta d" + "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 55 +#line 56 testRunner.And("the AllergyIntolerance should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 56 +#line 57 testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 57 +#line 58 testRunner.And("the Practitioner Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 58 +#line 59 testRunner.And("the Organization Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 59 +#line 60 testRunner.And(string.Format("the Bundle should be valid for patient \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 60 +#line 61 testRunner.And("check that the bundle does not contain any duplicate resources", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 61 +#line 62 testRunner.And("the Bundle should contain \"3\" lists", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 62 +#line 63 testRunner.And("the Bundle should contain a list with the title \"Allergies and adverse reactions\"" + "", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 63 +#line 64 testRunner.And("the Bundle should contain a list with the title \"Ended allergies\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 64 +#line 65 testRunner.And("the Bundle should contain the correct number of allergies", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 65 +#line 66 testRunner.And("the Lists are valid for a patient with allergies", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 66 +#line 67 testRunner.And("check the response does not contain an operation outcome", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 67 +#line 68 testRunner.And("I Check The Problems Secondary Problems List", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 68 +#line 69 testRunner.And("I Check The Problems Secondary Problems List Does Not Include Not In Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 69 +#line 70 testRunner.And("I Check The Problems Resources are Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 70 +#line 71 testRunner.And("I check The Problem Resources Do Not Include Not In Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 71 +#line 72 testRunner.And("Check a Problem is linked to an \"AllergyIntolerance\" that is also included in the" + " response with its list", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden @@ -310,7 +312,7 @@ public void RetrieveTheAllergyStructuredRecordSectionIncludingResolvedAllergiesF argumentsOfScenario.Add("Patient", patient); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the allergy structured record section including resolved allergies for a" + " patient without any allergies", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 76 +#line 78 this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) @@ -320,65 +322,65 @@ public void RetrieveTheAllergyStructuredRecordSectionIncludingResolvedAllergiesF else { this.ScenarioStart(); -#line 77 +#line 79 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 78 +#line 80 testRunner.And(string.Format("I add an NHS Number parameter for \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 79 +#line 81 testRunner.And("I add the allergies parameter with resolvedAllergies set to \"true\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 80 +#line 82 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 81 +#line 83 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 82 +#line 84 testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 83 +#line 85 testRunner.And("the response meta profile should be for \"structured\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 84 +#line 86 testRunner.And("the patient resource in the bundle should contain meta data profile and version i" + "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 85 +#line 87 testRunner.And("if the response bundle contains a practitioner resource it should contain meta da" + "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 86 +#line 88 testRunner.And("if the response bundle contains an organization resource it should contain meta d" + "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 87 +#line 89 testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 88 +#line 90 testRunner.And("the Practitioner Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 89 +#line 91 testRunner.And("the Organization Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 90 +#line 92 testRunner.And(string.Format("the Bundle should be valid for patient \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 91 +#line 93 testRunner.And("the Bundle should contain \"2\" lists", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 92 +#line 94 testRunner.And("the Bundle should contain a list with the title \"Allergies and adverse reactions\"" + "", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 93 +#line 95 testRunner.And("the Bundle should contain a list with the title \"Ended allergies\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 94 +#line 96 testRunner.And("the Lists are valid for a patient with no allergies", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 95 +#line 97 testRunner.And("the List of AllergyIntolerances should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } diff --git a/GPConnect.Provider.AcceptanceTests/StructuredConsultations.feature.cs b/GPConnect.Provider.AcceptanceTests/StructuredConsultations.feature.cs index a8173040..f80b0bdc 100644 --- a/GPConnect.Provider.AcceptanceTests/StructuredConsultations.feature.cs +++ b/GPConnect.Provider.AcceptanceTests/StructuredConsultations.feature.cs @@ -80,18 +80,26 @@ public void ScenarioCleanup() } [NUnit.Framework.TestAttribute()] - [NUnit.Framework.DescriptionAttribute("Verify Consultations Response for a Patient with Topic or Headings linked to clin" + - "ical items and a problem")] + [NUnit.Framework.DescriptionAttribute("Scenario Outline name: Verify Consultations Response for a Patient with Topic or " + + "Headings linked to clinical items and a problem")] [NUnit.Framework.CategoryAttribute("1.5.0-IncrementalAndRegression")] - public void VerifyConsultationsResponseForAPatientWithTopicOrHeadingsLinkedToClinicalItemsAndAProblem() + [NUnit.Framework.TestCaseAttribute("patient2", null)] + [NUnit.Framework.TestCaseAttribute("patient31", null)] + public void ScenarioOutlineNameVerifyConsultationsResponseForAPatientWithTopicOrHeadingsLinkedToClinicalItemsAndAProblem(string patient, string[] exampleTags) { - string[] tagsOfScenario = new string[] { + string[] @__tags = new string[] { "1.5.0-IncrementalAndRegression"}; + if ((exampleTags != null)) + { + @__tags = System.Linq.Enumerable.ToArray(System.Linq.Enumerable.Concat(@__tags, exampleTags)); + } + string[] tagsOfScenario = @__tags; System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Verify Consultations Response for a Patient with Topic or Headings linked to clin" + - "ical items and a problem", null, tagsOfScenario, argumentsOfScenario, featureTags); + argumentsOfScenario.Add("Patient", patient); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Scenario Outline name: Verify Consultations Response for a Patient with Topic or " + + "Headings linked to clinical items and a problem", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 8 -this.ScenarioInitialize(scenarioInfo); + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -101,19 +109,19 @@ public void VerifyConsultationsResponseForAPatientWithTopicOrHeadingsLinkedToCli { this.ScenarioStart(); #line 9 - testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); + testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden #line 10 - testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + testRunner.And(string.Format("I add an NHS Number parameter for \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 11 testRunner.And("I add the includeConsultations parameter only", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 12 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); + testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden #line 13 - testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); + testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden #line 14 testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); @@ -141,7 +149,7 @@ public void VerifyConsultationsResponseForAPatientWithTopicOrHeadingsLinkedToCli testRunner.And("check that the bundle does not contain any duplicate resources", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 22 - testRunner.And("the Bundle should be valid for patient \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + testRunner.And(string.Format("the Bundle should be valid for patient \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 23 testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); @@ -223,14 +231,17 @@ public void VerifyConsultationsResponseForAPatientWithTopicOrHeadingsLinkedToCli [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Verify Consultations structured record for a Patient includeConsultation and cons" + "ultationSearchPeriod partParameter")] - public void VerifyConsultationsStructuredRecordForAPatientIncludeConsultationAndConsultationSearchPeriodPartParameter() + [NUnit.Framework.TestCaseAttribute("patient2", null)] + [NUnit.Framework.TestCaseAttribute("patient31", null)] + public void VerifyConsultationsStructuredRecordForAPatientIncludeConsultationAndConsultationSearchPeriodPartParameter(string patient, string[] exampleTags) { - string[] tagsOfScenario = ((string[])(null)); + string[] tagsOfScenario = exampleTags; System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("Patient", patient); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Verify Consultations structured record for a Patient includeConsultation and cons" + "ultationSearchPeriod partParameter", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 47 -this.ScenarioInitialize(scenarioInfo); +#line 51 + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -239,76 +250,76 @@ public void VerifyConsultationsStructuredRecordForAPatientIncludeConsultationAnd else { this.ScenarioStart(); -#line 48 - testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 52 + testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 49 - testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 53 + testRunner.And(string.Format("I add an NHS Number parameter for \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 50 +#line 54 testRunner.And("I add the consultation parameter with consultationSearchPeriod partParameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 51 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 55 + testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 52 - testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line 56 + testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 53 +#line 57 testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 54 +#line 58 testRunner.And("the response meta profile should be for \"structured\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 55 +#line 59 testRunner.And("the patient resource in the bundle should contain meta data profile and version i" + "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 56 +#line 60 testRunner.And("if the response bundle contains a practitioner resource it should contain meta da" + "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 57 +#line 61 testRunner.And("if the response bundle contains an organization resource it should contain meta d" + "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 58 - testRunner.And("the Bundle should be valid for patient \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 62 + testRunner.And(string.Format("the Bundle should be valid for patient \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 59 +#line 63 testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 60 +#line 64 testRunner.And("the Practitioner Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 61 +#line 65 testRunner.And("the Organization Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 62 +#line 66 testRunner.And("I Check the Consultations List is Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 63 +#line 67 testRunner.And("The Consultations List Does Not Include Not In Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 64 +#line 68 testRunner.And("I Check the Encounters are Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 65 +#line 69 testRunner.And("I Check the Encounters Do Not Include Not in Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 66 +#line 70 testRunner.And("I Check the Consultation Lists are Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 67 +#line 71 testRunner.And("I Check All The Consultation Lists Do Not Include Not In Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 68 +#line 72 testRunner.And("I Check the Topic Lists are Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 69 +#line 73 testRunner.And("I Check the Heading Lists are Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 70 +#line 74 testRunner.And("check the response does not contain an operation outcome", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } @@ -318,14 +329,17 @@ public void VerifyConsultationsStructuredRecordForAPatientIncludeConsultationAnd [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Verify Consultations structured record for a Patient includeConsultation and cons" + "ultationsMostRecent partParameter")] - public void VerifyConsultationsStructuredRecordForAPatientIncludeConsultationAndConsultationsMostRecentPartParameter() + [NUnit.Framework.TestCaseAttribute("patient2", null)] + [NUnit.Framework.TestCaseAttribute("patient31", null)] + public void VerifyConsultationsStructuredRecordForAPatientIncludeConsultationAndConsultationsMostRecentPartParameter(string patient, string[] exampleTags) { - string[] tagsOfScenario = ((string[])(null)); + string[] tagsOfScenario = exampleTags; System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("Patient", patient); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Verify Consultations structured record for a Patient includeConsultation and cons" + "ultationsMostRecent partParameter", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 72 -this.ScenarioInitialize(scenarioInfo); +#line 80 + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -334,76 +348,76 @@ public void VerifyConsultationsStructuredRecordForAPatientIncludeConsultationAnd else { this.ScenarioStart(); -#line 73 - testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 81 + testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 74 - testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 82 + testRunner.And(string.Format("I add an NHS Number parameter for \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 75 +#line 83 testRunner.And("I add the consultation parameter with consultationsMostRecent partParameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 76 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 84 + testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 77 - testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line 85 + testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 78 +#line 86 testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 79 +#line 87 testRunner.And("the response meta profile should be for \"structured\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 80 +#line 88 testRunner.And("the patient resource in the bundle should contain meta data profile and version i" + "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 81 +#line 89 testRunner.And("if the response bundle contains a practitioner resource it should contain meta da" + "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 82 +#line 90 testRunner.And("if the response bundle contains an organization resource it should contain meta d" + "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 83 - testRunner.And("the Bundle should be valid for patient \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 91 + testRunner.And(string.Format("the Bundle should be valid for patient \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 84 +#line 92 testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 85 +#line 93 testRunner.And("the Practitioner Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 86 +#line 94 testRunner.And("the Organization Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 87 +#line 95 testRunner.And("I Check the Consultations List is Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 88 +#line 96 testRunner.And("The Consultations List Does Not Include Not In Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 89 +#line 97 testRunner.And("I Check the Encounters are Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 90 +#line 98 testRunner.And("I Check the Encounters Do Not Include Not in Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 91 +#line 99 testRunner.And("I Check the Consultation Lists are Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 92 +#line 100 testRunner.And("I Check All The Consultation Lists Do Not Include Not In Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 93 +#line 101 testRunner.And("I Check the Topic Lists are Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 94 +#line 102 testRunner.And("I Check the Heading Lists are Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 95 +#line 103 testRunner.And("check the response does not contain an operation outcome", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } @@ -419,8 +433,8 @@ public void RetrieveConsultationsStructuredRecordForAPatientThatHasNoConsultatio System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve consultations structured record for a patient that has no consultation d" + "ata", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 97 -this.ScenarioInitialize(scenarioInfo); +#line 109 + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -429,55 +443,55 @@ public void RetrieveConsultationsStructuredRecordForAPatientThatHasNoConsultatio else { this.ScenarioStart(); -#line 98 - testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 110 + testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 99 +#line 111 testRunner.And("I add an NHS Number parameter for \"patient4\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 100 +#line 112 testRunner.And("I add the consultation parameter with consultationSearchPeriod partParameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 101 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 113 + testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 102 - testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line 114 + testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 103 +#line 115 testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 104 +#line 116 testRunner.And("the response meta profile should be for \"structured\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 105 +#line 117 testRunner.And("the patient resource in the bundle should contain meta data profile and version i" + "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 106 +#line 118 testRunner.And("if the response bundle contains a practitioner resource it should contain meta da" + "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 107 +#line 119 testRunner.And("if the response bundle contains an organization resource it should contain meta d" + "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 108 +#line 120 testRunner.And("the Bundle should be valid for patient \"patient4\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 109 +#line 121 testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 110 +#line 122 testRunner.And("the Practitioner Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 111 +#line 123 testRunner.And("the Organization Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 112 +#line 124 testRunner.And("check structured list contains a note and emptyReason when no data in section", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 113 +#line 125 testRunner.And("check the response does not contain an operation outcome", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } @@ -485,14 +499,19 @@ public void RetrieveConsultationsStructuredRecordForAPatientThatHasNoConsultatio } [NUnit.Framework.TestAttribute()] - [NUnit.Framework.DescriptionAttribute("Retrieve consultations structured record with startDate only expected success")] - public void RetrieveConsultationsStructuredRecordWithStartDateOnlyExpectedSuccess() + [NUnit.Framework.DescriptionAttribute("Scenario Outline name: Retrieve consultations structured record with startDate on" + + "ly expected success")] + [NUnit.Framework.TestCaseAttribute("patient2", null)] + [NUnit.Framework.TestCaseAttribute("patient31", null)] + public void ScenarioOutlineNameRetrieveConsultationsStructuredRecordWithStartDateOnlyExpectedSuccess(string patient, string[] exampleTags) { - string[] tagsOfScenario = ((string[])(null)); + string[] tagsOfScenario = exampleTags; System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve consultations structured record with startDate only expected success", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 115 -this.ScenarioInitialize(scenarioInfo); + argumentsOfScenario.Add("Patient", patient); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Scenario Outline name: Retrieve consultations structured record with startDate on" + + "ly expected success", null, tagsOfScenario, argumentsOfScenario, featureTags); +#line 127 + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -501,76 +520,76 @@ public void RetrieveConsultationsStructuredRecordWithStartDateOnlyExpectedSucces else { this.ScenarioStart(); -#line 116 - testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 128 + testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 117 - testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 129 + testRunner.And(string.Format("I add an NHS Number parameter for \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 118 +#line 130 testRunner.And("I add the consultation parameter with startDate only", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 119 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 131 + testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 120 - testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line 132 + testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 121 +#line 133 testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 122 +#line 134 testRunner.And("the response meta profile should be for \"structured\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 123 +#line 135 testRunner.And("the patient resource in the bundle should contain meta data profile and version i" + "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 124 +#line 136 testRunner.And("if the response bundle contains a practitioner resource it should contain meta da" + "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 125 +#line 137 testRunner.And("if the response bundle contains an organization resource it should contain meta d" + "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 126 - testRunner.And("the Bundle should be valid for patient \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 138 + testRunner.And(string.Format("the Bundle should be valid for patient \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 127 +#line 139 testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 128 +#line 140 testRunner.And("the Practitioner Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 129 +#line 141 testRunner.And("the Organization Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 130 +#line 142 testRunner.And("I Check the Consultations List is Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 131 +#line 143 testRunner.And("The Consultations List Does Not Include Not In Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 132 +#line 144 testRunner.And("I Check the Encounters are Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 133 +#line 145 testRunner.And("I Check the Encounters Do Not Include Not in Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 134 +#line 146 testRunner.And("I Check the Consultation Lists are Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 135 +#line 147 testRunner.And("I Check All The Consultation Lists Do Not Include Not In Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 136 +#line 148 testRunner.And("I Check the Topic Lists are Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 137 +#line 149 testRunner.And("I Check the Heading Lists are Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 138 +#line 150 testRunner.And("check the response does not contain an operation outcome", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } @@ -580,14 +599,17 @@ public void RetrieveConsultationsStructuredRecordWithStartDateOnlyExpectedSucces [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Retrieve consultations structured record with endDate value only expected success" + "")] - public void RetrieveConsultationsStructuredRecordWithEndDateValueOnlyExpectedSuccess() + [NUnit.Framework.TestCaseAttribute("patient2", null)] + [NUnit.Framework.TestCaseAttribute("patient31", null)] + public void RetrieveConsultationsStructuredRecordWithEndDateValueOnlyExpectedSuccess(string patient, string[] exampleTags) { - string[] tagsOfScenario = ((string[])(null)); + string[] tagsOfScenario = exampleTags; System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("Patient", patient); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve consultations structured record with endDate value only expected success" + "", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 141 -this.ScenarioInitialize(scenarioInfo); +#line 157 + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -596,76 +618,76 @@ public void RetrieveConsultationsStructuredRecordWithEndDateValueOnlyExpectedSuc else { this.ScenarioStart(); -#line 142 - testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 158 + testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 143 - testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 159 + testRunner.And(string.Format("I add an NHS Number parameter for \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 144 +#line 160 testRunner.And("I add the consultation parameter with endDate only", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 145 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 161 + testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 146 - testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line 162 + testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 147 +#line 163 testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 148 +#line 164 testRunner.And("the response meta profile should be for \"structured\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 149 +#line 165 testRunner.And("the patient resource in the bundle should contain meta data profile and version i" + "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 150 +#line 166 testRunner.And("if the response bundle contains a practitioner resource it should contain meta da" + "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 151 +#line 167 testRunner.And("if the response bundle contains an organization resource it should contain meta d" + "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 152 - testRunner.And("the Bundle should be valid for patient \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 168 + testRunner.And(string.Format("the Bundle should be valid for patient \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 153 +#line 169 testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 154 +#line 170 testRunner.And("the Practitioner Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 155 +#line 171 testRunner.And("the Organization Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 156 +#line 172 testRunner.And("I Check the Consultations List is Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 157 +#line 173 testRunner.And("The Consultations List Does Not Include Not In Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 158 +#line 174 testRunner.And("I Check the Encounters are Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 159 +#line 175 testRunner.And("I Check the Encounters Do Not Include Not in Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 160 +#line 176 testRunner.And("I Check the Consultation Lists are Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 161 +#line 177 testRunner.And("I Check All The Consultation Lists Do Not Include Not In Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 162 +#line 178 testRunner.And("I Check the Topic Lists are Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 163 +#line 179 testRunner.And("I Check the Heading Lists are Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 164 +#line 180 testRunner.And("check the response does not contain an operation outcome", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } @@ -679,8 +701,8 @@ public void RetrieveConsultationsStructuredRecordSectionForAnInvalidNHSNumber() string[] tagsOfScenario = ((string[])(null)); System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve consultations structured record section for an invalid NHS number", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 166 -this.ScenarioInitialize(scenarioInfo); +#line 186 + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -689,22 +711,22 @@ public void RetrieveConsultationsStructuredRecordSectionForAnInvalidNHSNumber() else { this.ScenarioStart(); -#line 167 - testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 187 + testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 168 +#line 188 testRunner.And("I add an NHS Number parameter for an invalid NHS Number", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 169 +#line 189 testRunner.And("I add the includeConsultations parameter only", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 170 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 190 + testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 171 - testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line 191 + testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 172 +#line 192 testRunner.And("the response should be a OperationOutcome resource", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } @@ -718,8 +740,8 @@ public void RetrieveConsultationsStructuredRecordSectionForAnEmptyNHSNumber() string[] tagsOfScenario = ((string[])(null)); System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve consultations structured record section for an empty NHS number", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 174 -this.ScenarioInitialize(scenarioInfo); +#line 194 + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -728,22 +750,22 @@ public void RetrieveConsultationsStructuredRecordSectionForAnEmptyNHSNumber() else { this.ScenarioStart(); -#line 175 - testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 195 + testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 176 +#line 196 testRunner.And("I add an NHS Number parameter with an empty NHS Number", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 177 +#line 197 testRunner.And("I add the includeConsultations parameter only", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 178 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 198 + testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 179 - testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line 199 + testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 180 +#line 200 testRunner.And("the response should be a OperationOutcome resource", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } @@ -759,8 +781,8 @@ public void RetrieveConsultationsStructuredRecordSectionForAnInvalidIdentifierSy System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve consultations structured record section for an invalid Identifier System" + "", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 182 -this.ScenarioInitialize(scenarioInfo); +#line 202 + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -769,22 +791,22 @@ public void RetrieveConsultationsStructuredRecordSectionForAnInvalidIdentifierSy else { this.ScenarioStart(); -#line 183 - testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 203 + testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 184 +#line 204 testRunner.And("I add an NHS Number parameter for \"patient1\" with an invalid Identifier System", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 185 +#line 205 testRunner.And("I add the includeConsultations parameter only", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 186 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 206 + testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 187 - testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line 207 + testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 188 +#line 208 testRunner.And("the response should be a OperationOutcome resource", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } @@ -798,8 +820,8 @@ public void RetrieveConsultationsStructuredRecordSectionForAnEmptyIdentifierSyst string[] tagsOfScenario = ((string[])(null)); System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve consultations structured record section for an empty Identifier System", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 190 -this.ScenarioInitialize(scenarioInfo); +#line 210 + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -808,22 +830,22 @@ public void RetrieveConsultationsStructuredRecordSectionForAnEmptyIdentifierSyst else { this.ScenarioStart(); -#line 191 -testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 211 + testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 192 +#line 212 testRunner.And("I add an NHS Number parameter for \"patient1\" with an empty Identifier System", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 193 +#line 213 testRunner.And("I add the includeConsultations parameter only", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 194 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 214 + testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 195 - testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line 215 + testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 196 +#line 216 testRunner.And("the response should be a OperationOutcome resource", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } @@ -837,8 +859,8 @@ public void RetrieveConsultationsStructuredRecordForAPatientThatHasSensitiveFlag string[] tagsOfScenario = ((string[])(null)); System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve consultations structured record for a patient that has sensitive flag", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 198 -this.ScenarioInitialize(scenarioInfo); +#line 218 + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -847,25 +869,25 @@ public void RetrieveConsultationsStructuredRecordForAPatientThatHasSensitiveFlag else { this.ScenarioStart(); -#line 199 - testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 219 + testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 200 - testRunner.And("I add an NHS Number parameter for \"patient9\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 220 + testRunner.And("I add an NHS Number parameter for \"patient9\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 201 - testRunner.And("I add the includeConsultations parameter only", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 221 + testRunner.And("I add the includeConsultations parameter only", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 202 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 222 + testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 203 - testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line 223 + testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 204 +#line 224 testRunner.And("the response status code should be \"404\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 205 +#line 225 testRunner.And("the response should be a OperationOutcome resource with error code \"PATIENT_NOT_F" + "OUND\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden @@ -882,8 +904,8 @@ public void RetrieveConsultationsStructuredRecordWhereConsultationSearchPeriodPa System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve consultations Structured record where consultationSearchPeriod part para" + "meter is greater than the current date expected failure", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 207 -this.ScenarioInitialize(scenarioInfo); +#line 227 + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -892,26 +914,26 @@ public void RetrieveConsultationsStructuredRecordWhereConsultationSearchPeriodPa else { this.ScenarioStart(); -#line 208 -testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 228 + testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 209 +#line 229 testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 210 +#line 230 testRunner.And("I add the consultation parameter with consultationSearchPeriod partParameter in t" + "he future", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 211 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 231 + testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 212 - testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line 232 + testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 213 +#line 233 testRunner.And("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 214 +#line 234 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_PARAM" + "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden @@ -928,8 +950,8 @@ public void RetrieveConsultationsStructuredRecordWhereStartDateOfTheConsultation System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve consultations structured record where start date of the consultationSear" + "chPeriod part parameter is greater than the end date expected failure", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 216 -this.ScenarioInitialize(scenarioInfo); +#line 236 + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -938,26 +960,26 @@ public void RetrieveConsultationsStructuredRecordWhereStartDateOfTheConsultation else { this.ScenarioStart(); -#line 217 -testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 237 + testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 218 +#line 238 testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 219 +#line 239 testRunner.And("I add the consultation parameter with consultationSearchPeriod partParameter star" + "tDate greater than endDate", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 220 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 240 + testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 221 - testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line 241 + testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 222 +#line 242 testRunner.And("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 223 +#line 243 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_PARAM" + "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden @@ -974,8 +996,8 @@ public void RetrieveConsultationsStructuredRecordWithBothPartparametersConsultat System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve Consultations structured record with both partparameters consultationSea" + "rchPeriod and includeNumberOfMostRecent applied expected failure", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 225 -this.ScenarioInitialize(scenarioInfo); +#line 245 + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -984,25 +1006,25 @@ public void RetrieveConsultationsStructuredRecordWithBothPartparametersConsultat else { this.ScenarioStart(); -#line 226 -testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 246 + testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 227 +#line 247 testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 228 +#line 248 testRunner.And("I add the consultation parameter with both partParameters", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 229 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 249 + testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 230 - testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line 250 + testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 231 +#line 251 testRunner.And("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 232 +#line 252 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_RESOU" + "RCE\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden @@ -1019,8 +1041,8 @@ public void RetrieveConsultationsStructuredRecordMalformedWithPartParameterOnlyE System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve Consultations structured record malformed with partParameter only expect" + "ed success", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 234 -this.ScenarioInitialize(scenarioInfo); +#line 254 + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -1029,26 +1051,26 @@ public void RetrieveConsultationsStructuredRecordMalformedWithPartParameterOnlyE else { this.ScenarioStart(); -#line 235 - testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 255 + testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 236 +#line 256 testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 237 +#line 257 testRunner.And("I add malformed Consultations request partParameter only", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 238 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 258 + testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 239 - testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line 259 + testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 240 +#line 260 testRunner.And("Check the operation outcome returns the correct text and diagnotics \"consultation" + "SearchPeriod\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 241 +#line 261 testRunner.And("Check the number of issues in the operation outcome \"1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } @@ -1083,8 +1105,8 @@ public void RetrieveTheConsultationsStructuredRecordSectionWithInvalidDateValues argumentsOfScenario.Add("startDate", startDate); argumentsOfScenario.Add("endDate", endDate); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the Consultations structured record section with invalid date values", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 243 -this.ScenarioInitialize(scenarioInfo); +#line 263 + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -1093,22 +1115,22 @@ public void RetrieveTheConsultationsStructuredRecordSectionWithInvalidDateValues else { this.ScenarioStart(); -#line 244 - testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 264 + testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 245 +#line 265 testRunner.And("I add an NHS Number parameter for \"patient1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 246 +#line 266 testRunner.And(string.Format("I set a consultations period parameter \"{0}\" to \"{1}\"", startDate, endDate), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 247 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 267 + testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 248 - testRunner.Then("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line 268 + testRunner.Then("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 249 +#line 269 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_PARAM" + "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden diff --git a/GPConnect.Provider.AcceptanceTests/StructuredDiary.feature.cs b/GPConnect.Provider.AcceptanceTests/StructuredDiary.feature.cs index 019b80a5..feb1969f 100644 --- a/GPConnect.Provider.AcceptanceTests/StructuredDiary.feature.cs +++ b/GPConnect.Provider.AcceptanceTests/StructuredDiary.feature.cs @@ -84,14 +84,17 @@ public void ScenarioCleanup() [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Search for Diary Entries for a Patient with Diary Entries With Problems Associate" + "d")] - public void SearchForDiaryEntriesForAPatientWithDiaryEntriesWithProblemsAssociated() + [NUnit.Framework.TestCaseAttribute("patient2", null)] + [NUnit.Framework.TestCaseAttribute("patient39", null)] + public void SearchForDiaryEntriesForAPatientWithDiaryEntriesWithProblemsAssociated(string patient, string[] exampleTags) { - string[] tagsOfScenario = ((string[])(null)); + string[] tagsOfScenario = exampleTags; System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("Patient", patient); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Search for Diary Entries for a Patient with Diary Entries With Problems Associate" + "d", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 7 -this.ScenarioInitialize(scenarioInfo); + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -101,19 +104,19 @@ public void SearchForDiaryEntriesForAPatientWithDiaryEntriesWithProblemsAssociat { this.ScenarioStart(); #line 8 - testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); + testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden #line 9 - testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + testRunner.And(string.Format("I add an NHS Number parameter for \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 10 testRunner.And("I add the Diary parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 11 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); + testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden #line 12 - testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); + testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden #line 13 testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); @@ -134,7 +137,7 @@ public void SearchForDiaryEntriesForAPatientWithDiaryEntriesWithProblemsAssociat "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 18 - testRunner.And("the Bundle should be valid for patient \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + testRunner.And(string.Format("the Bundle should be valid for patient \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 19 testRunner.And("check that the bundle does not contain any duplicate resources", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); @@ -188,14 +191,17 @@ public void SearchForDiaryEntriesForAPatientWithDiaryEntriesWithProblemsAssociat [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Search for Diary Entries for a Patient with Diary Entries and No Problems associa" + "ted")] - public void SearchForDiaryEntriesForAPatientWithDiaryEntriesAndNoProblemsAssociated() + [NUnit.Framework.TestCaseAttribute("patient3", null)] + [NUnit.Framework.TestCaseAttribute("patient39", null)] + public void SearchForDiaryEntriesForAPatientWithDiaryEntriesAndNoProblemsAssociated(string patient, string[] exampleTags) { - string[] tagsOfScenario = ((string[])(null)); + string[] tagsOfScenario = exampleTags; System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("Patient", patient); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Search for Diary Entries for a Patient with Diary Entries and No Problems associa" + "ted", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 35 -this.ScenarioInitialize(scenarioInfo); +#line 39 + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -204,79 +210,79 @@ public void SearchForDiaryEntriesForAPatientWithDiaryEntriesAndNoProblemsAssocia else { this.ScenarioStart(); -#line 36 - testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 40 + testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 37 - testRunner.And("I add an NHS Number parameter for \"patient3\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 41 + testRunner.And(string.Format("I add an NHS Number parameter for \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 38 +#line 42 testRunner.And("I add the Diary parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 39 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 43 + testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 40 - testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line 44 + testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 41 +#line 45 testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 42 +#line 46 testRunner.And("the response meta profile should be for \"structured\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 43 +#line 47 testRunner.And("the patient resource in the bundle should contain meta data profile and version i" + "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 44 +#line 48 testRunner.And("if the response bundle contains a practitioner resource it should contain meta da" + "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 45 +#line 49 testRunner.And("if the response bundle contains an organization resource it should contain meta d" + "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 46 - testRunner.And("the Bundle should be valid for patient \"patient3\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 50 + testRunner.And(string.Format("the Bundle should be valid for patient \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 47 +#line 51 testRunner.And("check that the bundle does not contain any duplicate resources", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 48 +#line 52 testRunner.And("check the response does not contain an operation outcome", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 49 +#line 53 testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 50 +#line 54 testRunner.And("the Practitioner Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 51 +#line 55 testRunner.And("the Organization Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 52 +#line 56 testRunner.And("the Bundle should contain \"1\" lists", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 53 +#line 57 testRunner.And("I Check the Diary List is Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 54 +#line 58 testRunner.And("The Structured List Does Not Include Not In Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 55 +#line 59 testRunner.And("I Check There is No Primary Problems List", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 56 +#line 60 testRunner.And("I Check There is No Problems Secondary Problems List", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 57 +#line 61 testRunner.And("I Check No Problem Resources are Included", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 58 +#line 62 testRunner.And("I Check the Diary ProcedureRequests are Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 59 +#line 63 testRunner.And("I Check the Diary ProcedureRequests Do Not Include Not in Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } @@ -290,8 +296,8 @@ public void SearchForDiaryEntriesForAPatientWithNoDiaryEntries() string[] tagsOfScenario = ((string[])(null)); System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Search for Diary Entries for a Patient with No Diary Entries", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 61 -this.ScenarioInitialize(scenarioInfo); +#line 69 + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -300,58 +306,58 @@ public void SearchForDiaryEntriesForAPatientWithNoDiaryEntries() else { this.ScenarioStart(); -#line 62 - testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 70 + testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 63 +#line 71 testRunner.And("I add an NHS Number parameter for \"patient4\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 64 +#line 72 testRunner.And("I add the Diary parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 65 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 73 + testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 66 - testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line 74 + testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 67 - testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 75 + testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 68 +#line 76 testRunner.And("the response meta profile should be for \"structured\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 69 +#line 77 testRunner.And("the patient resource in the bundle should contain meta data profile and version i" + "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 70 +#line 78 testRunner.And("if the response bundle contains a practitioner resource it should contain meta da" + "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 71 +#line 79 testRunner.And("if the response bundle contains an organization resource it should contain meta d" + "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 72 +#line 80 testRunner.And("the Bundle should be valid for patient \"patient4\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 73 +#line 81 testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 74 +#line 82 testRunner.And("the Practitioner Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 75 +#line 83 testRunner.And("the Organization Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 76 +#line 84 testRunner.And("check the response does not contain an operation outcome", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 77 +#line 85 testRunner.And("I Check Diary list contains a note and emptyReason when no data in section", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 78 +#line 86 testRunner.And("The Structured List Does Not Include Not In Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } @@ -361,17 +367,18 @@ public void SearchForDiaryEntriesForAPatientWithNoDiaryEntries() [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Search for Diary Entries with Todays Date and a Future Date on a Patient with Dia" + "ry Entries")] - [NUnit.Framework.TestCaseAttribute("0", null)] - [NUnit.Framework.TestCaseAttribute("10", null)] - public void SearchForDiaryEntriesWithTodaysDateAndAFutureDateOnAPatientWithDiaryEntries(string yearsInFutureToSearch, string[] exampleTags) + [NUnit.Framework.TestCaseAttribute("0", "patient2", null)] + [NUnit.Framework.TestCaseAttribute("10", "patient39", null)] + public void SearchForDiaryEntriesWithTodaysDateAndAFutureDateOnAPatientWithDiaryEntries(string yearsInFutureToSearch, string patient, string[] exampleTags) { string[] tagsOfScenario = exampleTags; System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); argumentsOfScenario.Add("YearsInFutureToSearch", yearsInFutureToSearch); + argumentsOfScenario.Add("Patient", patient); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Search for Diary Entries with Todays Date and a Future Date on a Patient with Dia" + "ry Entries", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 80 -this.ScenarioInitialize(scenarioInfo); +#line 88 + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -380,67 +387,67 @@ public void SearchForDiaryEntriesWithTodaysDateAndAFutureDateOnAPatientWithDiary else { this.ScenarioStart(); -#line 81 - testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 89 + testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 82 - testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 90 + testRunner.And(string.Format("I add an NHS Number parameter for \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 83 +#line 91 testRunner.Then(string.Format("I add the Diary Search date parameter of \"{0}\" days in future", yearsInFutureToSearch), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 84 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 92 + testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 85 - testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line 93 + testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 86 +#line 94 testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 87 +#line 95 testRunner.And("the response meta profile should be for \"structured\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 88 +#line 96 testRunner.And("the patient resource in the bundle should contain meta data profile and version i" + "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 89 +#line 97 testRunner.And("if the response bundle contains a practitioner resource it should contain meta da" + "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 90 +#line 98 testRunner.And("if the response bundle contains an organization resource it should contain meta d" + "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 91 - testRunner.And("the Bundle should be valid for patient \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 99 + testRunner.And(string.Format("the Bundle should be valid for patient \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 92 +#line 100 testRunner.And("check that the bundle does not contain any duplicate resources", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 93 +#line 101 testRunner.And("check the response does not contain an operation outcome", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 94 +#line 102 testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 95 +#line 103 testRunner.And("the Practitioner Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 96 +#line 104 testRunner.And("the Organization Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 97 +#line 105 testRunner.And("I Check the Diary List is Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 98 +#line 106 testRunner.And("The Structured List Does Not Include Not In Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 99 +#line 107 testRunner.And("I Check the Diary ProcedureRequests are Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 100 +#line 108 testRunner.And("I Check the Diary ProcedureRequests Do Not Include Not in Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } @@ -454,8 +461,8 @@ public void SearchForDiaryEntriesWithAPastDateExpectFail() string[] tagsOfScenario = ((string[])(null)); System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Search for Diary Entries with a Past Date Expect Fail", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 106 -this.ScenarioInitialize(scenarioInfo); +#line 114 + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -464,22 +471,22 @@ public void SearchForDiaryEntriesWithAPastDateExpectFail() else { this.ScenarioStart(); -#line 107 - testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 115 + testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 108 +#line 116 testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 109 +#line 117 testRunner.Then("I add the Diary Search date parameter with a past date \"20\" days ago", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 110 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 118 + testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 111 +#line 119 testRunner.Then("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 112 +#line 120 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_PARAM" + "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden @@ -503,8 +510,8 @@ public void SearchForDiaryEntriesWithInvalidDateValues(string invalidSearchDate, System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); argumentsOfScenario.Add("InvalidSearchDate", invalidSearchDate); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Search for Diary Entries with invalid date values", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 114 -this.ScenarioInitialize(scenarioInfo); +#line 122 + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -513,22 +520,22 @@ public void SearchForDiaryEntriesWithInvalidDateValues(string invalidSearchDate, else { this.ScenarioStart(); -#line 115 - testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 123 + testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 116 +#line 124 testRunner.And("I add an NHS Number parameter for \"patient1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 117 +#line 125 testRunner.And(string.Format("I set a Diary Search date to \"{0}\"", invalidSearchDate), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 118 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 126 + testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 119 - testRunner.Then("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line 127 + testRunner.Then("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 120 +#line 128 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_PARAM" + "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden diff --git a/GPConnect.Provider.AcceptanceTests/StructuredDocuments.feature.cs b/GPConnect.Provider.AcceptanceTests/StructuredDocuments.feature.cs index b1e834c0..6b9ffeb2 100644 --- a/GPConnect.Provider.AcceptanceTests/StructuredDocuments.feature.cs +++ b/GPConnect.Provider.AcceptanceTests/StructuredDocuments.feature.cs @@ -82,12 +82,15 @@ public void ScenarioCleanup() } [NUnit.Framework.TestAttribute()] - [NUnit.Framework.DescriptionAttribute("Search for Documents on a Patient with Documents")] - public void SearchForDocumentsOnAPatientWithDocuments() + [NUnit.Framework.DescriptionAttribute("Scenario Outline name: Search for Documents on a Patient with Documents")] + [NUnit.Framework.TestCaseAttribute("patient2", null)] + [NUnit.Framework.TestCaseAttribute("patient40", null)] + public void ScenarioOutlineNameSearchForDocumentsOnAPatientWithDocuments(string patient, string[] exampleTags) { - string[] tagsOfScenario = ((string[])(null)); + string[] tagsOfScenario = exampleTags; System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Search for Documents on a Patient with Documents", null, tagsOfScenario, argumentsOfScenario, featureTags); + argumentsOfScenario.Add("Patient", patient); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Scenario Outline name: Search for Documents on a Patient with Documents", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 11 this.ScenarioInitialize(scenarioInfo); #line hidden @@ -102,7 +105,7 @@ public void SearchForDocumentsOnAPatientWithDocuments() testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden #line 13 - testRunner.And("I add a Patient Identifier parameter with default System and Value \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + testRunner.And(string.Format("I add a Patient Identifier parameter with default System and Value \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 14 testRunner.When("I make the \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); @@ -150,7 +153,7 @@ public void SearchForDocumentsOnAPatientWithDocumentsOver5MB() "1.5.0-IncrementalAndRegression"}; System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Search for Documents on a Patient with Documents Over 5MB", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 29 +#line 33 this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) @@ -160,43 +163,43 @@ public void SearchForDocumentsOnAPatientWithDocumentsOver5MB() else { this.ScenarioStart(); -#line 30 +#line 34 testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 31 +#line 35 testRunner.And("I add a Patient Identifier parameter with default System and Value \"patient4\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 32 +#line 36 testRunner.When("I make the \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 33 +#line 37 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 34 +#line 38 testRunner.Given("I store the Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 35 +#line 39 testRunner.Given("I configure the default \"DocumentsSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 36 +#line 40 testRunner.And("I set the required parameters for a Documents Search call", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 37 +#line 41 testRunner.When("I make the \"DocumentsSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 38 +#line 42 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 39 +#line 43 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 40 +#line 44 testRunner.And("The Bundle id should match the SSPTraceID", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 41 +#line 45 testRunner.And("I Check the returned DocumentReference is Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 42 +#line 46 testRunner.And("I Check the returned DocumentReference Content Doesnot Contain URL for over 5MB A" + "ttachment", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden @@ -211,7 +214,7 @@ public void SearchForDocumentsOnAPatientWithNODocuments() string[] tagsOfScenario = ((string[])(null)); System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Search for Documents on a Patient with NO Documents", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 44 +#line 48 this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) @@ -221,40 +224,40 @@ public void SearchForDocumentsOnAPatientWithNODocuments() else { this.ScenarioStart(); -#line 45 +#line 49 testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 46 +#line 50 testRunner.And("I add a Patient Identifier parameter with default System and Value \"patient3\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 47 +#line 51 testRunner.When("I make the \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 48 +#line 52 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 49 +#line 53 testRunner.Given("I store the Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 50 +#line 54 testRunner.Given("I configure the default \"DocumentsSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 51 +#line 55 testRunner.And("I set the required parameters for a Documents Search call", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 52 +#line 56 testRunner.When("I make the \"DocumentsSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 53 +#line 57 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 54 +#line 58 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 55 +#line 59 testRunner.And("The Bundle id should match the SSPTraceID", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 56 +#line 60 testRunner.And("The Bundle should contain NO Documents", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } @@ -268,7 +271,7 @@ public void SearchForDocumentsWithoutMandatoryIncludeParamsExpectFail() string[] tagsOfScenario = ((string[])(null)); System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Search for Documents without Mandatory include Params expect fail", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 58 +#line 62 this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) @@ -278,31 +281,31 @@ public void SearchForDocumentsWithoutMandatoryIncludeParamsExpectFail() else { this.ScenarioStart(); -#line 59 +#line 63 testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 60 +#line 64 testRunner.And("I add a Patient Identifier parameter with default System and Value \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 61 +#line 65 testRunner.When("I make the \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 62 +#line 66 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 63 +#line 67 testRunner.Given("I store the Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 64 +#line 68 testRunner.Given("I configure the default \"DocumentsSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 65 +#line 69 testRunner.When("I make the \"DocumentsSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 66 +#line 70 testRunner.Then("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 67 +#line 71 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_PARAM" + "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden @@ -312,12 +315,15 @@ public void SearchForDocumentsWithoutMandatoryIncludeParamsExpectFail() [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Search for Documents using author parameter")] - public void SearchForDocumentsUsingAuthorParameter() + [NUnit.Framework.TestCaseAttribute("patient2", null)] + [NUnit.Framework.TestCaseAttribute("patient40", null)] + public void SearchForDocumentsUsingAuthorParameter(string patient, string[] exampleTags) { - string[] tagsOfScenario = ((string[])(null)); + string[] tagsOfScenario = exampleTags; System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("Patient", patient); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Search for Documents using author parameter", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 69 +#line 73 this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) @@ -327,46 +333,46 @@ public void SearchForDocumentsUsingAuthorParameter() else { this.ScenarioStart(); -#line 70 +#line 74 testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 71 - testRunner.And("I add a Patient Identifier parameter with default System and Value \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 75 + testRunner.And(string.Format("I add a Patient Identifier parameter with default System and Value \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 72 +#line 76 testRunner.When("I make the \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 73 +#line 77 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 74 +#line 78 testRunner.Given("I store the Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 75 +#line 79 testRunner.Given("I configure the default \"DocumentsSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 76 +#line 80 testRunner.And("I set the required parameters for a Documents Search call", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 77 +#line 81 testRunner.And("I set the author parameters for a Documents Search call to \"ORG1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 78 +#line 82 testRunner.When("I make the \"DocumentsSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 79 +#line 83 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 80 +#line 84 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 81 +#line 85 testRunner.And("The Bundle id should match the SSPTraceID", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 82 +#line 86 testRunner.And("I Check the returned DocumentReference is Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 83 +#line 87 testRunner.And("I Check the returned DocumentReference Do Not Include Not In Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } @@ -380,7 +386,7 @@ public void SearchForDocumentsUsingAuthorParameterButWithInvalidIdentifier() string[] tagsOfScenario = ((string[])(null)); System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Search for Documents using author parameter but with invalid identifier", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 85 +#line 93 this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) @@ -390,38 +396,38 @@ public void SearchForDocumentsUsingAuthorParameterButWithInvalidIdentifier() else { this.ScenarioStart(); -#line 86 +#line 94 testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 87 +#line 95 testRunner.And("I add a Patient Identifier parameter with default System and Value \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 88 +#line 96 testRunner.When("I make the \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 89 +#line 97 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 90 +#line 98 testRunner.Given("I store the Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 91 +#line 99 testRunner.Given("I configure the default \"DocumentsSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 92 +#line 100 testRunner.And("I set the required parameters for a Documents Search call", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 93 +#line 101 testRunner.And("I set the author parameters with an invalid identifier for a Documents Search cal" + "l to \"ORG1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 94 +#line 102 testRunner.When("I make the \"DocumentsSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 95 +#line 103 testRunner.Then("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 96 +#line 104 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_PARAM" + "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden @@ -436,7 +442,7 @@ public void SearchForPatientDocumentsCreatedWithinALast365Days() string[] tagsOfScenario = ((string[])(null)); System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Search for Patient Documents created within a last 365 days", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 98 +#line 106 this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) @@ -446,40 +452,40 @@ public void SearchForPatientDocumentsCreatedWithinALast365Days() else { this.ScenarioStart(); -#line 99 +#line 107 testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 100 +#line 108 testRunner.And("I add a Patient Identifier parameter with default System and Value \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 101 +#line 109 testRunner.When("I make the \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 102 +#line 110 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 103 +#line 111 testRunner.Given("I store the Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 104 +#line 112 testRunner.Given("I configure the default \"DocumentsSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 105 +#line 113 testRunner.And("I set the required parameters for a Documents Search call", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 106 +#line 114 testRunner.Then("I set the documents search parameters le to today and ge to 365 days ago", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 107 +#line 115 testRunner.When("I make the \"DocumentsSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 108 +#line 116 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 109 +#line 117 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 110 +#line 118 testRunner.And("The Bundle id should match the SSPTraceID", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } @@ -488,14 +494,16 @@ public void SearchForPatientDocumentsCreatedWithinALast365Days() [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Search for Patient Documents created less than a date")] - [NUnit.Framework.TestCaseAttribute("2", null)] - public void SearchForPatientDocumentsCreatedLessThanADate(string days, string[] exampleTags) + [NUnit.Framework.TestCaseAttribute("2", "patient2", null)] + [NUnit.Framework.TestCaseAttribute("2", "patient40", null)] + public void SearchForPatientDocumentsCreatedLessThanADate(string days, string patient, string[] exampleTags) { string[] tagsOfScenario = exampleTags; System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); argumentsOfScenario.Add("Days", days); + argumentsOfScenario.Add("Patient", patient); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Search for Patient Documents created less than a date", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 112 +#line 120 this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) @@ -505,40 +513,40 @@ public void SearchForPatientDocumentsCreatedLessThanADate(string days, string[] else { this.ScenarioStart(); -#line 113 +#line 121 testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 114 - testRunner.And("I add a Patient Identifier parameter with default System and Value \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 122 + testRunner.And(string.Format("I add a Patient Identifier parameter with default System and Value \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 115 +#line 123 testRunner.When("I make the \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 116 +#line 124 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 117 +#line 125 testRunner.Given("I store the Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 118 +#line 126 testRunner.Given("I configure the default \"DocumentsSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 119 +#line 127 testRunner.And("I set the required parameters for a Documents Search call", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 120 +#line 128 testRunner.Then(string.Format("I set the created search parameter to less than \"{0}\" days ago", days), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 121 +#line 129 testRunner.When("I make the \"DocumentsSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 122 +#line 130 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 123 +#line 131 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 124 +#line 132 testRunner.And("The Bundle id should match the SSPTraceID", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } @@ -547,14 +555,16 @@ public void SearchForPatientDocumentsCreatedLessThanADate(string days, string[] [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Search for Patient Documents created greater than a date")] - [NUnit.Framework.TestCaseAttribute("365", null)] - public void SearchForPatientDocumentsCreatedGreaterThanADate(string days, string[] exampleTags) + [NUnit.Framework.TestCaseAttribute("365", "patient2", null)] + [NUnit.Framework.TestCaseAttribute("365", "patient40", null)] + public void SearchForPatientDocumentsCreatedGreaterThanADate(string days, string patient, string[] exampleTags) { string[] tagsOfScenario = exampleTags; System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); argumentsOfScenario.Add("Days", days); + argumentsOfScenario.Add("Patient", patient); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Search for Patient Documents created greater than a date", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 129 +#line 138 this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) @@ -564,40 +574,40 @@ public void SearchForPatientDocumentsCreatedGreaterThanADate(string days, string else { this.ScenarioStart(); -#line 130 +#line 139 testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 131 - testRunner.And("I add a Patient Identifier parameter with default System and Value \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 140 + testRunner.And(string.Format("I add a Patient Identifier parameter with default System and Value \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 132 +#line 141 testRunner.When("I make the \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 133 +#line 142 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 134 +#line 143 testRunner.Given("I store the Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 135 +#line 144 testRunner.Given("I configure the default \"DocumentsSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 136 +#line 145 testRunner.And("I set the required parameters for a Documents Search call", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 137 +#line 146 testRunner.Then(string.Format("I set the created search parameter to greater than \"{0}\" days ago", days), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 138 +#line 147 testRunner.When("I make the \"DocumentsSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 139 +#line 148 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 140 +#line 149 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 141 +#line 150 testRunner.And("The Bundle id should match the SSPTraceID", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } @@ -605,13 +615,16 @@ public void SearchForPatientDocumentsCreatedGreaterThanADate(string days, string } [NUnit.Framework.TestAttribute()] - [NUnit.Framework.DescriptionAttribute("Search for Documents with an invalid parameter")] - public void SearchForDocumentsWithAnInvalidParameter() + [NUnit.Framework.DescriptionAttribute("Scenario Outline name: Search for Documents with an invalid parameter")] + [NUnit.Framework.TestCaseAttribute("patient2", null)] + [NUnit.Framework.TestCaseAttribute("patient40", null)] + public void ScenarioOutlineNameSearchForDocumentsWithAnInvalidParameter(string patient, string[] exampleTags) { - string[] tagsOfScenario = ((string[])(null)); + string[] tagsOfScenario = exampleTags; System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Search for Documents with an invalid parameter", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 146 + argumentsOfScenario.Add("Patient", patient); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Scenario Outline name: Search for Documents with an invalid parameter", null, tagsOfScenario, argumentsOfScenario, featureTags); +#line 156 this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) @@ -621,37 +634,37 @@ public void SearchForDocumentsWithAnInvalidParameter() else { this.ScenarioStart(); -#line 147 +#line 157 testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 148 - testRunner.And("I add a Patient Identifier parameter with default System and Value \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 158 + testRunner.And(string.Format("I add a Patient Identifier parameter with default System and Value \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 149 +#line 159 testRunner.When("I make the \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 150 +#line 160 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 151 +#line 161 testRunner.Given("I store the Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 152 +#line 162 testRunner.Given("I configure the default \"DocumentsSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 153 +#line 163 testRunner.And("I set the required parameters for a Documents Search call", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 154 +#line 164 testRunner.And("I set an invalid parameter for a Documents Search call", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 155 +#line 165 testRunner.When("I make the \"DocumentsSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 156 +#line 166 testRunner.Then("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 157 +#line 167 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_PARAM" + "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden @@ -666,7 +679,7 @@ public void SearchForDocumentsOnAPatientThatDoesntExist() string[] tagsOfScenario = ((string[])(null)); System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Search for Documents on a Patient that doesnt exist", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 159 +#line 173 this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) @@ -676,22 +689,22 @@ public void SearchForDocumentsOnAPatientThatDoesntExist() else { this.ScenarioStart(); -#line 160 +#line 174 testRunner.Given("I configure the default \"DocumentsSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 161 +#line 175 testRunner.And("I set the required parameters for a Documents Search call", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 162 +#line 176 testRunner.And("I change the patient logical id to a non existent id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 163 +#line 177 testRunner.When("I make the \"DocumentsSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 164 +#line 178 testRunner.Then("the response status code should be \"404\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 165 +#line 179 testRunner.And("the response should be a OperationOutcome resource with error code \"PATIENT_NOT_F" + "OUND\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden @@ -708,7 +721,7 @@ public void SearchForDocumentsOnAPatientWhichExistsOnTheSystemAsATemporaryPatien System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Search for Documents on a patient which exists on the system as a temporary patie" + "nt", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 167 +#line 181 this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) @@ -718,43 +731,43 @@ public void SearchForDocumentsOnAPatientWhichExistsOnTheSystemAsATemporaryPatien else { this.ScenarioStart(); -#line 168 +#line 182 testRunner.Given("I get the next Patient to register and store it", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 169 +#line 183 testRunner.Given("I configure the default \"RegisterPatient\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 170 +#line 184 testRunner.And("I add the Stored Patient as a parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 171 +#line 185 testRunner.When("I make the \"RegisterPatient\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 172 +#line 186 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 173 +#line 187 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 174 +#line 188 testRunner.And("the response bundle should contain a single Patient resource", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 175 +#line 189 testRunner.Given("I store the Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 176 +#line 190 testRunner.Given("I configure the default \"DocumentsSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 177 +#line 191 testRunner.And("I set the required parameters for a Documents Search call", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 178 +#line 192 testRunner.When("I make the \"DocumentsSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 179 +#line 193 testRunner.Then("the response status code should be \"404\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 180 +#line 194 testRunner.And("the response should be a OperationOutcome resource with error code \"PATIENT_NOT_F" + "OUND\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden @@ -764,12 +777,15 @@ public void SearchForDocumentsOnAPatientWhichExistsOnTheSystemAsATemporaryPatien [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Retrieve a Document for Patient2")] - public void RetrieveADocumentForPatient2() + [NUnit.Framework.TestCaseAttribute("patient2", null)] + [NUnit.Framework.TestCaseAttribute("patient40", null)] + public void RetrieveADocumentForPatient2(string patient, string[] exampleTags) { - string[] tagsOfScenario = ((string[])(null)); + string[] tagsOfScenario = exampleTags; System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("Patient", patient); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve a Document for Patient2", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 186 +#line 200 this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) @@ -779,55 +795,55 @@ public void RetrieveADocumentForPatient2() else { this.ScenarioStart(); -#line 187 +#line 201 testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 188 - testRunner.And("I add a Patient Identifier parameter with default System and Value \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 202 + testRunner.And(string.Format("I add a Patient Identifier parameter with default System and Value \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 189 +#line 203 testRunner.When("I make the \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 190 +#line 204 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 191 +#line 205 testRunner.Given("I store the Patient", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 192 +#line 206 testRunner.Given("I configure the default \"DocumentsSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 193 +#line 207 testRunner.And("I set the required parameters for a Documents Search call", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 194 +#line 208 testRunner.When("I make the \"DocumentsSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 195 +#line 209 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 196 +#line 210 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 197 +#line 211 testRunner.And("I save a document url for retrieving later", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 198 +#line 212 testRunner.Given("I configure the default \"DocumentsRetrieve\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 199 +#line 213 testRunner.When("I make the \"DocumentsRetrieve\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 200 +#line 214 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 201 +#line 215 testRunner.And("I save the binary document from the retrieve", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 202 +#line 216 testRunner.And("I Check the returned Binary Document is Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 203 +#line 217 testRunner.And("I Check the returned Binary Document Do Not Include Not In Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } @@ -843,6 +859,7 @@ public void RetrieveADocumentForPatient2() [NUnit.Framework.TestCaseAttribute("patient4", null)] [NUnit.Framework.TestCaseAttribute("patient5", null)] [NUnit.Framework.TestCaseAttribute("patient6", null)] + [NUnit.Framework.TestCaseAttribute("patient40", null)] public void DocumentsPatientSearchAndCheckResponseConformsWithTheGPConnectSpecification(string patient, string[] exampleTags) { string[] tagsOfScenario = exampleTags; @@ -850,7 +867,7 @@ public void DocumentsPatientSearchAndCheckResponseConformsWithTheGPConnectSpecif argumentsOfScenario.Add("Patient", patient); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Documents Patient Search and check response conforms with the GPConnect specifica" + "tion", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 209 +#line 227 this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) @@ -860,76 +877,76 @@ public void DocumentsPatientSearchAndCheckResponseConformsWithTheGPConnectSpecif else { this.ScenarioStart(); -#line 210 +#line 228 testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 211 +#line 229 testRunner.And(string.Format("I add a Patient Identifier parameter with default System and Value \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 212 +#line 230 testRunner.When("I make the \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 213 +#line 231 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 214 +#line 232 testRunner.And("the response body should be FHIR JSON", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 215 +#line 233 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 216 +#line 234 testRunner.And("the response bundle should contain \"1\" entries", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 217 +#line 235 testRunner.And("The Bundle id should match the SSPTraceID", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 218 +#line 236 testRunner.And("the Patient Name should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 219 +#line 237 testRunner.And("the Patient Gender should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 220 +#line 238 testRunner.And("the Patient DOB should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 221 +#line 239 testRunner.And("the Patient Use should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 222 +#line 240 testRunner.And("the Patient Communication should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 223 +#line 241 testRunner.And("the Patient Contact should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 224 +#line 242 testRunner.And("the Patient MultipleBirth should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 225 +#line 243 testRunner.And("the Patient MaritalStatus should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 226 +#line 244 testRunner.And("the Patient Deceased should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 227 +#line 245 testRunner.And("the Patient Telecom should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 228 +#line 246 testRunner.And("the Patient ManagingOrganization Should be Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 229 +#line 247 testRunner.And("the Patient GeneralPractitioner Practitioner should be valid and resolvable", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 230 +#line 248 testRunner.And("the Patient should exclude disallowed fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 231 +#line 249 testRunner.And("the Patient Link should be valid and resolvable", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 232 +#line 250 testRunner.And("the Patient Contact Telecom use should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 233 +#line 251 testRunner.And("the Patient Not In Use should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } @@ -949,7 +966,7 @@ public void DocumentsPatientSearchWithAnInvalidNHSNumber(string nhsNumber, strin System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); argumentsOfScenario.Add("nhsNumber", nhsNumber); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Documents Patient Search with an invalid NHS number", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 243 +#line 262 this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) @@ -959,19 +976,19 @@ public void DocumentsPatientSearchWithAnInvalidNHSNumber(string nhsNumber, strin else { this.ScenarioStart(); -#line 244 +#line 263 testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 245 +#line 264 testRunner.And(string.Format("I add a Patient Identifier parameter with default System and Value \"{0}\"", nhsNumber), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 246 +#line 265 testRunner.When("I make the \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 247 +#line 266 testRunner.Then("the response status code should be \"400\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 248 +#line 267 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_NHS_N" + "UMBER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden @@ -986,7 +1003,7 @@ public void DocumentsPatientSearchResultsShouldContainALogicalIdentifier() string[] tagsOfScenario = ((string[])(null)); System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Documents Patient Search results should contain a logical identifier", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 258 +#line 277 this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) @@ -996,28 +1013,28 @@ public void DocumentsPatientSearchResultsShouldContainALogicalIdentifier() else { this.ScenarioStart(); -#line 259 +#line 278 testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 260 +#line 279 testRunner.And("I add a Patient Identifier parameter with default System and Value \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 261 +#line 280 testRunner.When("I make the \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 262 +#line 281 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 263 +#line 282 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 264 +#line 283 testRunner.And("the response bundle should contain \"1\" entries", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 265 +#line 284 testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 266 +#line 285 testRunner.And("the patient resource in the bundle should contain meta data profile and version i" + "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden @@ -1034,7 +1051,7 @@ public void DocumentsPatientSearchShouldReturnAnErrorWhenNoSystemIsSuppliedInThe System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Documents Patient Search should return an error when no system is supplied in the" + " identifier parameter", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 268 +#line 287 this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) @@ -1044,19 +1061,19 @@ public void DocumentsPatientSearchShouldReturnAnErrorWhenNoSystemIsSuppliedInThe else { this.ScenarioStart(); -#line 269 +#line 288 testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 270 +#line 289 testRunner.And("I add a Patient Identifier parameter with no System and Value \"patient1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 271 +#line 290 testRunner.When("I make the \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 272 +#line 291 testRunner.Then("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 273 +#line 292 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_PARAM" + "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden @@ -1073,7 +1090,7 @@ public void DocumentsPatientSearchShouldReturnAnErrorWhenABlankSystemIsSuppliedI System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Documents Patient Search should return an error when a blank system is supplied i" + "n the identifier parameter", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 275 +#line 294 this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) @@ -1083,19 +1100,19 @@ public void DocumentsPatientSearchShouldReturnAnErrorWhenABlankSystemIsSuppliedI else { this.ScenarioStart(); -#line 276 +#line 295 testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 277 +#line 296 testRunner.And("I add a Patient Identifier parameter with System \"\" and Value \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 278 +#line 297 testRunner.When("I make the \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 279 +#line 298 testRunner.Then("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 280 +#line 299 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_PARAM" + "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden @@ -1112,7 +1129,7 @@ public void DocumentsPatientSearchWhenAPatientIsNotFoundOnTheProviderSystemAnEmp System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Documents Patient Search When a patient is not found on the provider system an em" + "pty bundle should be returned", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 282 +#line 301 this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) @@ -1122,26 +1139,26 @@ public void DocumentsPatientSearchWhenAPatientIsNotFoundOnTheProviderSystemAnEmp else { this.ScenarioStart(); -#line 283 +#line 302 testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 284 +#line 303 testRunner.And("I add a Patient Identifier parameter with default System and Value \"patientNotInS" + "ystem\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 285 +#line 304 testRunner.When("I make the \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 286 +#line 305 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 287 +#line 306 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 288 +#line 307 testRunner.And("the response bundle should contain \"0\" entries", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 289 +#line 308 testRunner.And("The Bundle id should match the SSPTraceID", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } @@ -1155,7 +1172,7 @@ public void DocumentsPatientSearchShouldFailIfNoIdentifierParameterIsInclude() string[] tagsOfScenario = ((string[])(null)); System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Documents Patient Search should fail if no identifier parameter is include", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 291 +#line 310 this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) @@ -1165,16 +1182,16 @@ public void DocumentsPatientSearchShouldFailIfNoIdentifierParameterIsInclude() else { this.ScenarioStart(); -#line 292 +#line 311 testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 293 +#line 312 testRunner.When("I make the \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 294 +#line 313 testRunner.Then("the response status code should be \"400\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 295 +#line 314 testRunner.And("the response should be a OperationOutcome resource with error code \"BAD_REQUEST\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } @@ -1190,7 +1207,7 @@ public void DocumentsPatientSearchTheIdentifierParameterShouldBeRejectedIfTheCas System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Documents Patient Search The identifier parameter should be rejected if the case " + "is incorrect", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 297 +#line 316 this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) @@ -1200,20 +1217,20 @@ public void DocumentsPatientSearchTheIdentifierParameterShouldBeRejectedIfTheCas else { this.ScenarioStart(); -#line 298 +#line 317 testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 299 +#line 318 testRunner.And("I add a Patient Identifier parameter with identifier name \"Identifier\" default Sy" + "stem and Value \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 300 +#line 319 testRunner.When("I make the \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 301 +#line 320 testRunner.Then("the response status code should be \"400\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 302 +#line 321 testRunner.And("the response should be a OperationOutcome resource with error code \"BAD_REQUEST\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } @@ -1229,7 +1246,7 @@ public void DocumentsPatientSearchResponseShouldBeAnErrorIfNoValueIsSentInTheIde System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Documents Patient Search response should be an error if no value is sent in the i" + "dentifier parameter", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 304 +#line 323 this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) @@ -1239,20 +1256,20 @@ public void DocumentsPatientSearchResponseShouldBeAnErrorIfNoValueIsSentInTheIde else { this.ScenarioStart(); -#line 305 +#line 324 testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 306 +#line 325 testRunner.And("I add the parameter \"identifier\" with the value \"https://fhir.nhs.uk/Id/nhs-numbe" + "r|\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 307 +#line 326 testRunner.When("I make the \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 308 +#line 327 testRunner.Then("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 309 +#line 328 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_PARAM" + "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden @@ -1271,7 +1288,7 @@ public void TheDocumentsPatientSearchEndpointShouldAcceptTheAcceptHeader(string argumentsOfScenario.Add("AcceptHeader", acceptHeader); argumentsOfScenario.Add("ResultFormat", resultFormat); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("The Documents Patient Search endpoint should accept the accept header", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 311 +#line 330 this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) @@ -1281,34 +1298,34 @@ public void TheDocumentsPatientSearchEndpointShouldAcceptTheAcceptHeader(string else { this.ScenarioStart(); -#line 312 +#line 331 testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 313 +#line 332 testRunner.And(string.Format("I set the Accept header to \"{0}\"", acceptHeader), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 314 +#line 333 testRunner.And("I add a Patient Identifier parameter with default System and Value \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 315 +#line 334 testRunner.When("I make the \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 316 +#line 335 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 317 +#line 336 testRunner.And(string.Format("the response body should be FHIR {0}", resultFormat), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 318 +#line 337 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 319 +#line 338 testRunner.And("the response bundle should contain \"1\" entries", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 320 +#line 339 testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 321 +#line 340 testRunner.And("the Patient Identifiers should be valid for Patient \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } @@ -1326,7 +1343,7 @@ public void TheDocumentsPatientSearchEndpointShouldAcceptTheFormatParameter(stri argumentsOfScenario.Add("FormatParam", formatParam); argumentsOfScenario.Add("ResultFormat", resultFormat); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("The Documents patient search endpoint should accept the format parameter", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 327 +#line 346 this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) @@ -1336,34 +1353,34 @@ public void TheDocumentsPatientSearchEndpointShouldAcceptTheFormatParameter(stri else { this.ScenarioStart(); -#line 328 +#line 347 testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 329 +#line 348 testRunner.And(string.Format("I add the parameter \"_format\" with the value \"{0}\"", formatParam), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 330 +#line 349 testRunner.And("I add a Patient Identifier parameter with default System and Value \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 331 +#line 350 testRunner.When("I make the \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 332 +#line 351 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 333 +#line 352 testRunner.And(string.Format("the response body should be FHIR {0}", resultFormat), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 334 +#line 353 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 335 +#line 354 testRunner.And("the response bundle should contain \"1\" entries", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 336 +#line 355 testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 337 +#line 356 testRunner.And("the Patient Identifiers should be valid for Patient \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } @@ -1386,7 +1403,7 @@ public void TheDocumentsPatientSearchEndpointShouldAcceptTheFormatParameterAfter argumentsOfScenario.Add("ResultFormat", resultFormat); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("The Documents patient search endpoint should accept the format parameter after th" + "e identifier parameter", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 343 +#line 362 this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) @@ -1396,37 +1413,37 @@ public void TheDocumentsPatientSearchEndpointShouldAcceptTheFormatParameterAfter else { this.ScenarioStart(); -#line 344 +#line 363 testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 345 +#line 364 testRunner.And(string.Format("I set the Accept header to \"{0}\"", acceptHeader), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 346 +#line 365 testRunner.And("I add a Patient Identifier parameter with default System and Value \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 347 +#line 366 testRunner.And(string.Format("I add the parameter \"_format\" with the value \"{0}\"", formatParam), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 348 +#line 367 testRunner.When("I make the \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 349 +#line 368 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 350 +#line 369 testRunner.And(string.Format("the response body should be FHIR {0}", resultFormat), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 351 +#line 370 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 352 +#line 371 testRunner.And("the response bundle should contain \"1\" entries", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 353 +#line 372 testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 354 +#line 373 testRunner.And("the Patient Identifiers should be valid for Patient \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } @@ -1449,7 +1466,7 @@ public void TheDocumentsPatientSearchEndpointShouldAcceptTheFormatParameterBefor argumentsOfScenario.Add("ResultFormat", resultFormat); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("The Documents Patient search endpoint should accept the format parameter before t" + "he identifier parameter", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 362 +#line 381 this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) @@ -1459,37 +1476,37 @@ public void TheDocumentsPatientSearchEndpointShouldAcceptTheFormatParameterBefor else { this.ScenarioStart(); -#line 363 +#line 382 testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 364 +#line 383 testRunner.And(string.Format("I set the Accept header to \"{0}\"", acceptHeader), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 365 +#line 384 testRunner.And(string.Format("I add the parameter \"_format\" with the value \"{0}\"", formatParam), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 366 +#line 385 testRunner.And("I add a Patient Identifier parameter with default System and Value \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 367 +#line 386 testRunner.When("I make the \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 368 +#line 387 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 369 +#line 388 testRunner.And(string.Format("the response body should be FHIR {0}", resultFormat), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 370 +#line 389 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 371 +#line 390 testRunner.And("the response bundle should contain \"1\" entries", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 372 +#line 391 testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 373 +#line 392 testRunner.And("the Patient Identifiers should be valid for Patient \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } @@ -1502,6 +1519,7 @@ public void TheDocumentsPatientSearchEndpointShouldAcceptTheFormatParameterBefor [NUnit.Framework.TestCaseAttribute("patient1", null)] [NUnit.Framework.TestCaseAttribute("patient2", null)] [NUnit.Framework.TestCaseAttribute("patient3", null)] + [NUnit.Framework.TestCaseAttribute("patient40", null)] public void DocumentsPatientSearchResourceShouldContainNHSNumberIdentifierReturnedAsXML(string patient, string[] exampleTags) { string[] tagsOfScenario = exampleTags; @@ -1509,7 +1527,7 @@ public void DocumentsPatientSearchResourceShouldContainNHSNumberIdentifierReturn argumentsOfScenario.Add("Patient", patient); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Documents Patient Search resource should contain NHS number identifier returned a" + "s XML", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 381 +#line 400 this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) @@ -1519,31 +1537,31 @@ public void DocumentsPatientSearchResourceShouldContainNHSNumberIdentifierReturn else { this.ScenarioStart(); -#line 382 +#line 401 testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 383 +#line 402 testRunner.And("I set the Accept header to \"application/fhir+xml\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 384 +#line 403 testRunner.And(string.Format("I add a Patient Identifier parameter with default System and Value \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 385 +#line 404 testRunner.When("I make the \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 386 +#line 405 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 387 +#line 406 testRunner.And("the response body should be FHIR XML", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 388 +#line 407 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 389 +#line 408 testRunner.And("the response bundle should contain \"1\" entries", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 390 +#line 409 testRunner.And(string.Format("the Patient Identifiers should be valid for Patient \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } @@ -1557,7 +1575,7 @@ public void DocumentsPatientSearchResponseDoesNotReturnDeceasedPatient() string[] tagsOfScenario = ((string[])(null)); System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Documents Patient search response does not return deceased patient", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 397 +#line 417 this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) @@ -1567,28 +1585,28 @@ public void DocumentsPatientSearchResponseDoesNotReturnDeceasedPatient() else { this.ScenarioStart(); -#line 398 +#line 418 testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 399 +#line 419 testRunner.And("I add a Patient Identifier parameter with default System and Value \"patient18\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 400 +#line 420 testRunner.When("I make the \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 401 +#line 421 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 402 +#line 422 testRunner.And("the response body should be FHIR JSON", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 403 +#line 423 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 404 +#line 424 testRunner.And("the response bundle should contain \"0\" entries", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 405 +#line 425 testRunner.And("The Bundle id should match the SSPTraceID", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } @@ -1611,7 +1629,7 @@ public void DocumentsPatientSearchShouldErrorIfMultipleParametersValidOrInvalidA argumentsOfScenario.Add("PatientTwo", patientTwo); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Documents Patient search should error if multiple parameters valid or invalid are" + " sent", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 407 +#line 427 this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) @@ -1621,24 +1639,24 @@ public void DocumentsPatientSearchShouldErrorIfMultipleParametersValidOrInvalidA else { this.ScenarioStart(); -#line 408 +#line 428 testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 409 +#line 429 testRunner.And(string.Format("I add a Patient Identifier parameter with identifier name \"{0}\" default System an" + "d Value \"{1}\"", identifier1, patientOne), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 410 +#line 430 testRunner.And(string.Format("I add a Patient Identifier parameter with identifier name \"{0}\" default System an" + "d Value \"{1}\"", identifier2, patientTwo), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 411 +#line 431 testRunner.When("I make the \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 412 +#line 432 testRunner.Then("the response status code should be \"400\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 413 +#line 433 testRunner.And("the response should be a OperationOutcome resource with error code \"BAD_REQUEST\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } @@ -1652,7 +1670,7 @@ public void DocumentsPatientSearchValidResponseCheckCachingHeadersExist() string[] tagsOfScenario = ((string[])(null)); System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Documents Patient search valid response check caching headers exist", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 420 +#line 440 this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) @@ -1662,28 +1680,28 @@ public void DocumentsPatientSearchValidResponseCheckCachingHeadersExist() else { this.ScenarioStart(); -#line 421 +#line 441 testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 422 +#line 442 testRunner.And("I add a Patient Identifier parameter with default System and Value \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 423 +#line 443 testRunner.When("I make the \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 424 +#line 444 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 425 +#line 445 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 426 +#line 446 testRunner.And("the response bundle should contain \"1\" entries", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 427 +#line 447 testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 428 +#line 448 testRunner.And("the required cacheing headers should be present in the response", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } @@ -1697,7 +1715,7 @@ public void DocumentsPatientSearchInvalidResponseCheckCachingHeadersExist() string[] tagsOfScenario = ((string[])(null)); System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Documents Patient search invalid response check caching headers exist", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 430 +#line 450 this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) @@ -1707,23 +1725,23 @@ public void DocumentsPatientSearchInvalidResponseCheckCachingHeadersExist() else { this.ScenarioStart(); -#line 431 +#line 451 testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 432 +#line 452 testRunner.And("I add a Patient Identifier parameter with identifier name \"Identifier\" default Sy" + "stem and Value \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 433 +#line 453 testRunner.When("I make the \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 434 +#line 454 testRunner.Then("the response status code should be \"400\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 435 +#line 455 testRunner.And("the response should be a OperationOutcome resource with error code \"BAD_REQUEST\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 436 +#line 456 testRunner.And("the required cacheing headers should be present in the response", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } @@ -1737,7 +1755,7 @@ public void DocumentsPatientSearchShouldContainAPreferredBranch() string[] tagsOfScenario = ((string[])(null)); System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Documents Patient search should contain a preferred branch", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 438 +#line 458 this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) @@ -1747,25 +1765,25 @@ public void DocumentsPatientSearchShouldContainAPreferredBranch() else { this.ScenarioStart(); -#line 439 +#line 459 testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 440 +#line 460 testRunner.And("I add a Patient Identifier parameter with default System and Value \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 441 +#line 461 testRunner.When("I make the \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 442 +#line 462 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 443 +#line 463 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 444 +#line 464 testRunner.And("the response bundle should contain \"1\" entries", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 445 +#line 465 testRunner.And("the Patient RegistrationDetails should include preferredBranchSurgery", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } @@ -1781,7 +1799,7 @@ public void DocumentsPatientSearchForAPatientWithASensitiveFlagShouldReturnNoRes System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Documents Patient search for a patient with a sensitive flag should return no res" + "ults", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 447 +#line 467 this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) @@ -1791,22 +1809,22 @@ public void DocumentsPatientSearchForAPatientWithASensitiveFlagShouldReturnNoRes else { this.ScenarioStart(); -#line 448 +#line 468 testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 449 +#line 469 testRunner.And("I add a Patient Identifier parameter with default System and Value \"patient9\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 450 +#line 470 testRunner.When("I make the \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 451 +#line 471 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 452 +#line 472 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 453 +#line 473 testRunner.And("the response bundle should contain \"0\" entries", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } @@ -1822,7 +1840,7 @@ public void DocumentsPatientSearchForAPatientWithAInactiveFlagShouldReturnNoResu System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Documents Patient search for a patient with a inactive flag should return no resu" + "lts", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 455 +#line 475 this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) @@ -1832,22 +1850,22 @@ public void DocumentsPatientSearchForAPatientWithAInactiveFlagShouldReturnNoResu else { this.ScenarioStart(); -#line 456 +#line 476 testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 457 +#line 477 testRunner.And("I add a Patient Identifier parameter with default System and Value \"patient21\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 458 +#line 478 testRunner.When("I make the \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 459 +#line 479 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 460 +#line 480 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 461 +#line 481 testRunner.And("the response bundle should contain \"0\" entries", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } @@ -1861,7 +1879,7 @@ public void DocumentsPatientSearchForANoConsentPatientSearchGetsAValidResponse() string[] tagsOfScenario = ((string[])(null)); System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Documents Patient search for a No Consent Patient search gets a valid response", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 463 +#line 483 this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) @@ -1871,28 +1889,28 @@ public void DocumentsPatientSearchForANoConsentPatientSearchGetsAValidResponse() else { this.ScenarioStart(); -#line 464 +#line 484 testRunner.Given("I configure the default \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 465 +#line 485 testRunner.And("I add a Patient Identifier parameter with default System and Value \"patient15\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 466 +#line 486 testRunner.When("I make the \"DocumentsPatientSearch\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 467 +#line 487 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 468 +#line 488 testRunner.And("the response should be a Bundle resource of type \"searchset\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 469 +#line 489 testRunner.And("the response bundle should contain \"1\" entries", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 470 +#line 490 testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 471 +#line 491 testRunner.And("the required cacheing headers should be present in the response", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } diff --git a/GPConnect.Provider.AcceptanceTests/StructuredImmunizations.feature.cs b/GPConnect.Provider.AcceptanceTests/StructuredImmunizations.feature.cs index b026c85c..3139c74d 100644 --- a/GPConnect.Provider.AcceptanceTests/StructuredImmunizations.feature.cs +++ b/GPConnect.Provider.AcceptanceTests/StructuredImmunizations.feature.cs @@ -80,14 +80,17 @@ public void ScenarioCleanup() } [NUnit.Framework.TestAttribute()] - [NUnit.Framework.DescriptionAttribute("Verify Immunizations structured record for a Patient with Immunizations not linke" + - "d to any problems")] - public void VerifyImmunizationsStructuredRecordForAPatientWithImmunizationsNotLinkedToAnyProblems() + [NUnit.Framework.DescriptionAttribute("Scenario Outline name: Verify Immunizations structured record for a Patient with " + + "Immunizations not linked to any problems")] + [NUnit.Framework.TestCaseAttribute("patient3", null)] + [NUnit.Framework.TestCaseAttribute("patient36", null)] + public void ScenarioOutlineNameVerifyImmunizationsStructuredRecordForAPatientWithImmunizationsNotLinkedToAnyProblems(string patient, string[] exampleTags) { - string[] tagsOfScenario = ((string[])(null)); + string[] tagsOfScenario = exampleTags; System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Verify Immunizations structured record for a Patient with Immunizations not linke" + - "d to any problems", null, tagsOfScenario, argumentsOfScenario, featureTags); + argumentsOfScenario.Add("Patient", patient); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Scenario Outline name: Verify Immunizations structured record for a Patient with " + + "Immunizations not linked to any problems", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 8 this.ScenarioInitialize(scenarioInfo); #line hidden @@ -102,7 +105,7 @@ public void VerifyImmunizationsStructuredRecordForAPatientWithImmunizationsNotLi testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden #line 10 - testRunner.And("I add an NHS Number parameter for \"patient3\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + testRunner.And(string.Format("I add an NHS Number parameter for \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 11 testRunner.And("I add the immunizations parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); @@ -132,7 +135,7 @@ public void VerifyImmunizationsStructuredRecordForAPatientWithImmunizationsNotLi "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 19 - testRunner.And("the Bundle should be valid for patient \"patient3\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + testRunner.And(string.Format("the Bundle should be valid for patient \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 20 testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); @@ -171,13 +174,16 @@ public void VerifyImmunizationsStructuredRecordForAPatientWithImmunizationsNotLi [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Retrieve immunizations structured record for a patient with records with the NotG" + "iven and includeStatus parameters")] - public void RetrieveImmunizationsStructuredRecordForAPatientWithRecordsWithTheNotGivenAndIncludeStatusParameters() + [NUnit.Framework.TestCaseAttribute("patient2", null)] + [NUnit.Framework.TestCaseAttribute("patient36", null)] + public void RetrieveImmunizationsStructuredRecordForAPatientWithRecordsWithTheNotGivenAndIncludeStatusParameters(string patient, string[] exampleTags) { - string[] tagsOfScenario = ((string[])(null)); + string[] tagsOfScenario = exampleTags; System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("Patient", patient); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve immunizations structured record for a patient with records with the NotG" + "iven and includeStatus parameters", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 31 +#line 35 this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) @@ -187,76 +193,76 @@ public void RetrieveImmunizationsStructuredRecordForAPatientWithRecordsWithTheNo else { this.ScenarioStart(); -#line 32 +#line 36 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 33 - testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 37 + testRunner.And(string.Format("I add an NHS Number parameter for \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 34 +#line 38 testRunner.And("I add the immunizations parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 35 +#line 39 testRunner.And("I add a NotGiven immunizations part parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 36 +#line 40 testRunner.And("I add a Dissent immunizations part parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 37 +#line 41 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 38 +#line 42 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 39 +#line 43 testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 40 +#line 44 testRunner.And("the response meta profile should be for \"structured\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 41 +#line 45 testRunner.And("the patient resource in the bundle should contain meta data profile and version i" + "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 42 +#line 46 testRunner.And("if the response bundle contains a practitioner resource it should contain meta da" + "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 43 +#line 47 testRunner.And("if the response bundle contains an organization resource it should contain meta d" + "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 44 - testRunner.And("the Bundle should be valid for patient \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 48 + testRunner.And(string.Format("the Bundle should be valid for patient \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 45 +#line 49 testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 46 +#line 50 testRunner.And("the Practitioner Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 47 +#line 51 testRunner.And("the Organization Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 48 +#line 52 testRunner.And("The Immunization Resources are Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 49 +#line 53 testRunner.And("The Immunization Resources Do Not Include Not In Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 50 +#line 54 testRunner.And("the Bundle should contain \"1\" lists", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 51 +#line 55 testRunner.And("The Immunization List is Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 52 +#line 56 testRunner.And("The Structured List Does Not Include Not In Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 53 +#line 57 testRunner.And("I Check There is No Problems Secondary Problems List", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 54 +#line 58 testRunner.And("I Check No Problem Resources are Included", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } @@ -264,15 +270,18 @@ public void RetrieveImmunizationsStructuredRecordForAPatientWithRecordsWithTheNo } [NUnit.Framework.TestAttribute()] - [NUnit.Framework.DescriptionAttribute("Verify Immunizations structured record for a Patient with Immunizations associate" + - "d to Problems")] - public void VerifyImmunizationsStructuredRecordForAPatientWithImmunizationsAssociatedToProblems() + [NUnit.Framework.DescriptionAttribute("Scenario Outline name: Verify Immunizations structured record for a Patient with " + + "Immunizations associated to Problems")] + [NUnit.Framework.TestCaseAttribute("patient2", null)] + [NUnit.Framework.TestCaseAttribute("patient36", null)] + public void ScenarioOutlineNameVerifyImmunizationsStructuredRecordForAPatientWithImmunizationsAssociatedToProblems(string patient, string[] exampleTags) { - string[] tagsOfScenario = ((string[])(null)); + string[] tagsOfScenario = exampleTags; System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Verify Immunizations structured record for a Patient with Immunizations associate" + - "d to Problems", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 58 + argumentsOfScenario.Add("Patient", patient); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Scenario Outline name: Verify Immunizations structured record for a Patient with " + + "Immunizations associated to Problems", null, tagsOfScenario, argumentsOfScenario, featureTags); +#line 66 this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) @@ -282,85 +291,85 @@ public void VerifyImmunizationsStructuredRecordForAPatientWithImmunizationsAssoc else { this.ScenarioStart(); -#line 59 +#line 67 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 60 - testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 68 + testRunner.And(string.Format("I add an NHS Number parameter for \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 61 +#line 69 testRunner.And("I add the immunizations parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 62 +#line 70 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 63 +#line 71 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 64 +#line 72 testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 65 +#line 73 testRunner.And("the response meta profile should be for \"structured\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 66 +#line 74 testRunner.And("the patient resource in the bundle should contain meta data profile and version i" + "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 67 +#line 75 testRunner.And("if the response bundle contains a practitioner resource it should contain meta da" + "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 68 +#line 76 testRunner.And("if the response bundle contains an organization resource it should contain meta d" + "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 69 - testRunner.And("the Bundle should be valid for patient \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 77 + testRunner.And(string.Format("the Bundle should be valid for patient \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 70 +#line 78 testRunner.And("check that the bundle does not contain any duplicate resources", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 71 +#line 79 testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 72 +#line 80 testRunner.And("the Practitioner Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 73 +#line 81 testRunner.And("the Organization Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 74 +#line 82 testRunner.And("The Immunization Resources are Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 75 +#line 83 testRunner.And("The Immunization Resources Do Not Include Not In Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 76 +#line 84 testRunner.And("the Bundle should contain \"2\" lists", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 77 +#line 85 testRunner.And("The Immunization List is Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 78 +#line 86 testRunner.And("The Structured List Does Not Include Not In Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 79 +#line 87 testRunner.And("check the response does not contain an operation outcome", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 80 +#line 88 testRunner.And("I Check The Problems Secondary Problems List", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 81 +#line 89 testRunner.And("I Check The Problems Secondary Problems List Does Not Include Not In Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 82 +#line 90 testRunner.And("I Check The Problems Resources are Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 83 +#line 91 testRunner.And("I check The Problem Resources Do Not Include Not In Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 84 +#line 92 testRunner.And("Check a Problem is linked to an \"Immunization\" that is also included in the respo" + "nse with its list", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden @@ -375,7 +384,7 @@ public void RetrieveTheImmunizationsStructuredRecordSectionForAnInvalidNHSNumber string[] tagsOfScenario = ((string[])(null)); System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the immunizations structured record section for an invalid NHS number", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 86 +#line 98 this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) @@ -385,22 +394,22 @@ public void RetrieveTheImmunizationsStructuredRecordSectionForAnInvalidNHSNumber else { this.ScenarioStart(); -#line 87 +#line 99 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 88 +#line 100 testRunner.And("I add an NHS Number parameter for an invalid NHS Number", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 89 +#line 101 testRunner.And("I add the immunizations parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 90 +#line 102 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 91 +#line 103 testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 92 +#line 104 testRunner.And("the response should be a OperationOutcome resource", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } @@ -414,7 +423,7 @@ public void RetrieveTheImmunizationsStructuredRecordSectionForAnEmptyNHSNumber() string[] tagsOfScenario = ((string[])(null)); System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the immunizations structured record section for an empty NHS number", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 94 +#line 106 this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) @@ -424,22 +433,22 @@ public void RetrieveTheImmunizationsStructuredRecordSectionForAnEmptyNHSNumber() else { this.ScenarioStart(); -#line 95 +#line 107 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 96 +#line 108 testRunner.And("I add an NHS Number parameter with an empty NHS Number", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 97 +#line 109 testRunner.And("I add the immunizations parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 98 +#line 110 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 99 +#line 111 testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 100 +#line 112 testRunner.And("the response should be a OperationOutcome resource", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } @@ -455,7 +464,7 @@ public void RetrieveTheImmunizationsStructuredRecordSectionForAnInvalidIdentifie System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the immunizations structured record section for an invalid Identifier Sy" + "stem", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 102 +#line 114 this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) @@ -465,22 +474,22 @@ public void RetrieveTheImmunizationsStructuredRecordSectionForAnInvalidIdentifie else { this.ScenarioStart(); -#line 103 +#line 115 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 104 +#line 116 testRunner.And("I add an NHS Number parameter for \"patient1\" with an invalid Identifier System", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 105 +#line 117 testRunner.And("I add the immunizations parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 106 +#line 118 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 107 +#line 119 testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 108 +#line 120 testRunner.And("the response should be a OperationOutcome resource", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } @@ -496,7 +505,7 @@ public void RetrieveTheImmunizationsStructuredRecordSectionForAnEmptyIdentifierS System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the immunizations structured record section for an empty Identifier Syst" + "em", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 110 +#line 122 this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) @@ -506,22 +515,22 @@ public void RetrieveTheImmunizationsStructuredRecordSectionForAnEmptyIdentifierS else { this.ScenarioStart(); -#line 111 +#line 123 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 112 +#line 124 testRunner.And("I add an NHS Number parameter for \"patient1\" with an empty Identifier System", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 113 +#line 125 testRunner.And("I add the immunizations parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 114 +#line 126 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 115 +#line 127 testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 116 +#line 128 testRunner.And("the response should be a OperationOutcome resource", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } @@ -537,7 +546,7 @@ public void RetrieveTheImmunizationsStructuredRecordForAPatientThatHasSensitiveF System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the immunizations structured record for a patient that has sensitive fla" + "g", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 118 +#line 130 this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) @@ -547,25 +556,25 @@ public void RetrieveTheImmunizationsStructuredRecordForAPatientThatHasSensitiveF else { this.ScenarioStart(); -#line 119 +#line 131 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 120 +#line 132 testRunner.And("I add an NHS Number parameter for \"patient9\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 121 +#line 133 testRunner.And("I add the immunizations parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 122 +#line 134 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 123 +#line 135 testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 124 +#line 136 testRunner.And("the response status code should be \"404\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 125 +#line 137 testRunner.And("the response should be a OperationOutcome resource with error code \"PATIENT_NOT_F" + "OUND\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden @@ -582,7 +591,7 @@ public void RetrieveTheImmunizationsStructuredRecordForAPatientThatHasNoImmuniza System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the immunizations structured record for a patient that has no immunizati" + "ons", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 127 +#line 139 this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) @@ -592,55 +601,55 @@ public void RetrieveTheImmunizationsStructuredRecordForAPatientThatHasNoImmuniza else { this.ScenarioStart(); -#line 128 +#line 140 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 129 +#line 141 testRunner.And("I add an NHS Number parameter for \"patient4\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 130 +#line 142 testRunner.And("I add the immunizations parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 131 +#line 143 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 132 +#line 144 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 133 +#line 145 testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 134 +#line 146 testRunner.And("the response meta profile should be for \"structured\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 135 +#line 147 testRunner.And("the patient resource in the bundle should contain meta data profile and version i" + "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 136 +#line 148 testRunner.And("if the response bundle contains a practitioner resource it should contain meta da" + "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 137 +#line 149 testRunner.And("if the response bundle contains an organization resource it should contain meta d" + "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 138 +#line 150 testRunner.And("the Bundle should be valid for patient \"patient4\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 139 +#line 151 testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 140 +#line 152 testRunner.And("the Practitioner Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 141 +#line 153 testRunner.And("the Organization Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 142 +#line 154 testRunner.And("check the response does not contain an operation outcome", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 143 +#line 155 testRunner.And("check structured list contains a note and emptyReason when no data in section", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } diff --git a/GPConnect.Provider.AcceptanceTests/StructuredInvestigations.feature.cs b/GPConnect.Provider.AcceptanceTests/StructuredInvestigations.feature.cs index 8f4a19d3..b19aca30 100644 --- a/GPConnect.Provider.AcceptanceTests/StructuredInvestigations.feature.cs +++ b/GPConnect.Provider.AcceptanceTests/StructuredInvestigations.feature.cs @@ -83,11 +83,19 @@ public void ScenarioCleanup() [NUnit.Framework.DescriptionAttribute("Verify Investigations structured record for a Patient with Investigations not lin" + "ked to any problems")] [NUnit.Framework.CategoryAttribute("1.5.0-IncrementalAndRegression")] - public void VerifyInvestigationsStructuredRecordForAPatientWithInvestigationsNotLinkedToAnyProblems() + [NUnit.Framework.TestCaseAttribute("patient3", null)] + [NUnit.Framework.TestCaseAttribute("patient30", null)] + public void VerifyInvestigationsStructuredRecordForAPatientWithInvestigationsNotLinkedToAnyProblems(string patient, string[] exampleTags) { - string[] tagsOfScenario = new string[] { + string[] @__tags = new string[] { "1.5.0-IncrementalAndRegression"}; + if ((exampleTags != null)) + { + @__tags = System.Linq.Enumerable.ToArray(System.Linq.Enumerable.Concat(@__tags, exampleTags)); + } + string[] tagsOfScenario = @__tags; System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("Patient", patient); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Verify Investigations structured record for a Patient with Investigations not lin" + "ked to any problems", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 8 @@ -104,7 +112,7 @@ public void VerifyInvestigationsStructuredRecordForAPatientWithInvestigationsNot testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden #line 10 - testRunner.And("I add an NHS Number parameter for \"patient3\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + testRunner.And(string.Format("I add an NHS Number parameter for \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 11 testRunner.And("I add the Investigations parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); @@ -134,7 +142,7 @@ public void VerifyInvestigationsStructuredRecordForAPatientWithInvestigationsNot "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 19 - testRunner.And("the Bundle should be valid for patient \"patient3\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + testRunner.And(string.Format("the Bundle should be valid for patient \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 20 testRunner.And("check that the bundle does not contain any duplicate resources", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); @@ -192,14 +200,22 @@ public void VerifyInvestigationsStructuredRecordForAPatientWithInvestigationsNot [NUnit.Framework.DescriptionAttribute("Verify Investigations structured record for a Patient with Investigations associa" + "ted to Problems")] [NUnit.Framework.CategoryAttribute("1.5.0-IncrementalAndRegression")] - public void VerifyInvestigationsStructuredRecordForAPatientWithInvestigationsAssociatedToProblems() + [NUnit.Framework.TestCaseAttribute("patient2", null)] + [NUnit.Framework.TestCaseAttribute("patient30", null)] + public void VerifyInvestigationsStructuredRecordForAPatientWithInvestigationsAssociatedToProblems(string patient, string[] exampleTags) { - string[] tagsOfScenario = new string[] { + string[] @__tags = new string[] { "1.5.0-IncrementalAndRegression"}; + if ((exampleTags != null)) + { + @__tags = System.Linq.Enumerable.ToArray(System.Linq.Enumerable.Concat(@__tags, exampleTags)); + } + string[] tagsOfScenario = @__tags; System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("Patient", patient); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Verify Investigations structured record for a Patient with Investigations associa" + "ted to Problems", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 38 +#line 42 this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) @@ -209,97 +225,97 @@ public void VerifyInvestigationsStructuredRecordForAPatientWithInvestigationsAss else { this.ScenarioStart(); -#line 39 +#line 43 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 40 - testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 44 + testRunner.And(string.Format("I add an NHS Number parameter for \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 41 +#line 45 testRunner.And("I add the Investigations parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 42 +#line 46 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 43 +#line 47 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 44 +#line 48 testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 45 +#line 49 testRunner.And("the response meta profile should be for \"structured\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 46 +#line 50 testRunner.And("the patient resource in the bundle should contain meta data profile and version i" + "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 47 +#line 51 testRunner.And("if the response bundle contains a practitioner resource it should contain meta da" + "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 48 +#line 52 testRunner.And("if the response bundle contains an organization resource it should contain meta d" + "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 49 - testRunner.And("the Bundle should be valid for patient \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 53 + testRunner.And(string.Format("the Bundle should be valid for patient \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 50 +#line 54 testRunner.And("check that the bundle does not contain any duplicate resources", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 51 +#line 55 testRunner.And("check the response does not contain an operation outcome", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 52 +#line 56 testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 53 +#line 57 testRunner.And("the Practitioner Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 54 +#line 58 testRunner.And("the Organization Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 55 +#line 59 testRunner.And("I Check the Investigations List is Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 56 +#line 60 testRunner.And("The Structured List Does Not Include Not In Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 57 +#line 61 testRunner.And("I Check the DiagnosticReports are Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 58 +#line 62 testRunner.And("I Check the DiagnosticReports Do Not Include Not in Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 59 +#line 63 testRunner.And("I Check the Specimens are Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 60 +#line 64 testRunner.And("I Check the Specimens Do Not Include Not in Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 61 +#line 65 testRunner.And("I Check The Problems Secondary Problems List", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 62 +#line 66 testRunner.And("I Check The Problems Secondary Problems List Does Not Include Not In Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 63 +#line 67 testRunner.And("I Check The Problems Resources are Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 64 +#line 68 testRunner.And("I check The Problem Resources Do Not Include Not In Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 65 +#line 69 testRunner.And("Check a Problem is linked to DiagnosticReport and that it is also included", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 66 +#line 70 testRunner.And("I Check the Test report Filing is Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 67 +#line 71 testRunner.And("I Check the Test report Filing Do Not Include Not in Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 68 +#line 72 testRunner.And("the Bundle should contain \"2\" lists", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } @@ -307,17 +323,25 @@ public void VerifyInvestigationsStructuredRecordForAPatientWithInvestigationsAss } [NUnit.Framework.TestAttribute()] - [NUnit.Framework.DescriptionAttribute("Verify Investigations structured record for a Patient with DiagnosticReports Link" + - "ed to ProcedureRequests")] + [NUnit.Framework.DescriptionAttribute("Scenario Outline name: Verify Investigations structured record for a Patient with" + + " DiagnosticReports Linked to ProcedureRequests")] [NUnit.Framework.CategoryAttribute("1.5.0-IncrementalAndRegression")] - public void VerifyInvestigationsStructuredRecordForAPatientWithDiagnosticReportsLinkedToProcedureRequests() + [NUnit.Framework.TestCaseAttribute("patient3", null)] + [NUnit.Framework.TestCaseAttribute("patient30", null)] + public void ScenarioOutlineNameVerifyInvestigationsStructuredRecordForAPatientWithDiagnosticReportsLinkedToProcedureRequests(string patient, string[] exampleTags) { - string[] tagsOfScenario = new string[] { + string[] @__tags = new string[] { "1.5.0-IncrementalAndRegression"}; + if ((exampleTags != null)) + { + @__tags = System.Linq.Enumerable.ToArray(System.Linq.Enumerable.Concat(@__tags, exampleTags)); + } + string[] tagsOfScenario = @__tags; System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); - TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Verify Investigations structured record for a Patient with DiagnosticReports Link" + - "ed to ProcedureRequests", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 72 + argumentsOfScenario.Add("Patient", patient); + TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Scenario Outline name: Verify Investigations structured record for a Patient with" + + " DiagnosticReports Linked to ProcedureRequests", null, tagsOfScenario, argumentsOfScenario, featureTags); +#line 80 this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) @@ -327,94 +351,94 @@ public void VerifyInvestigationsStructuredRecordForAPatientWithDiagnosticReports else { this.ScenarioStart(); -#line 73 +#line 81 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 74 - testRunner.And("I add an NHS Number parameter for \"patient3\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 82 + testRunner.And(string.Format("I add an NHS Number parameter for \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 75 +#line 83 testRunner.And("I add the Investigations parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 76 +#line 84 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 77 +#line 85 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 78 +#line 86 testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 79 +#line 87 testRunner.And("the response meta profile should be for \"structured\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 80 +#line 88 testRunner.And("the patient resource in the bundle should contain meta data profile and version i" + "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 81 +#line 89 testRunner.And("if the response bundle contains a practitioner resource it should contain meta da" + "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 82 +#line 90 testRunner.And("if the response bundle contains an organization resource it should contain meta d" + "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 83 - testRunner.And("the Bundle should be valid for patient \"patient3\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 91 + testRunner.And(string.Format("the Bundle should be valid for patient \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 84 +#line 92 testRunner.And("check that the bundle does not contain any duplicate resources", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 85 +#line 93 testRunner.And("check the response does not contain an operation outcome", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 86 +#line 94 testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 87 +#line 95 testRunner.And("the Practitioner Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 88 +#line 96 testRunner.And("the Organization Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 89 +#line 97 testRunner.And("the Bundle should contain \"1\" lists", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 90 +#line 98 testRunner.And("I Check the Investigations List is Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 91 +#line 99 testRunner.And("The Structured List Does Not Include Not In Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 92 +#line 100 testRunner.And("I Check the DiagnosticReports are Valid and Linked to a ProcedureRequest", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 93 +#line 101 testRunner.And("I Check the DiagnosticReports Do Not Include Not in Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 94 +#line 102 testRunner.And("I Check the ProcedureRequests are Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 95 +#line 103 testRunner.And("I Check the ProcedureRequests Do Not Include Not in Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 96 +#line 104 testRunner.And("I Check the Specimens are Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 97 +#line 105 testRunner.And("I Check the Specimens Do Not Include Not in Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 98 +#line 106 testRunner.And("I Check the Test report Filing is Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 99 +#line 107 testRunner.And("I Check the Test report Filing Do Not Include Not in Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 100 +#line 108 testRunner.And("I Check There is No Problems Secondary Problems List", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 101 +#line 109 testRunner.And("I Check No Problem Resources are Included", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } @@ -432,7 +456,7 @@ public void RetrieveInvestigationsStructuredRecordForAPatientThatHasNoInvestigat System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve Investigations structured record for a patient that has no Investigation" + "s data", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 105 +#line 116 this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) @@ -442,55 +466,55 @@ public void RetrieveInvestigationsStructuredRecordForAPatientThatHasNoInvestigat else { this.ScenarioStart(); -#line 106 +#line 117 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 107 +#line 118 testRunner.And("I add an NHS Number parameter for \"patient4\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 108 +#line 119 testRunner.And("I add the Investigations parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 109 +#line 120 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 110 +#line 121 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 111 +#line 122 testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 112 +#line 123 testRunner.And("the response meta profile should be for \"structured\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 113 +#line 124 testRunner.And("the patient resource in the bundle should contain meta data profile and version i" + "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 114 +#line 125 testRunner.And("if the response bundle contains a practitioner resource it should contain meta da" + "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 115 +#line 126 testRunner.And("if the response bundle contains an organization resource it should contain meta d" + "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 116 +#line 127 testRunner.And("the Bundle should be valid for patient \"patient4\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 117 +#line 128 testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 118 +#line 129 testRunner.And("the Practitioner Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 119 +#line 130 testRunner.And("the Organization Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 120 +#line 131 testRunner.And("check structured list contains a note and emptyReason when no data in section", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 121 +#line 132 testRunner.And("check the response does not contain an operation outcome", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } @@ -508,7 +532,7 @@ public void RetrieveTheInvestigationsDataStructuredRecordWithPeriodDatesEqualToC System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the Investigations data structured record with period dates equal to cur" + "rent date expected success and no operation outcome", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 124 +#line 135 this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) @@ -518,22 +542,22 @@ public void RetrieveTheInvestigationsDataStructuredRecordWithPeriodDatesEqualToC else { this.ScenarioStart(); -#line 125 +#line 136 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 126 +#line 137 testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 127 +#line 138 testRunner.And("I add the investigations data parameter with current date", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 128 +#line 139 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 129 +#line 140 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 130 +#line 141 testRunner.And("check the response does not contain an operation outcome", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } @@ -549,7 +573,7 @@ public void RetrieveTheInvestigationsDataStructuredRecordWithValidStartDateAndNo System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the Investigations data structured record with valid start date and no e" + "nd date expected success and no operation outcome", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 132 +#line 143 this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) @@ -559,22 +583,22 @@ public void RetrieveTheInvestigationsDataStructuredRecordWithValidStartDateAndNo else { this.ScenarioStart(); -#line 133 +#line 144 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 134 +#line 145 testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 135 +#line 146 testRunner.And("I add the investigations data parameter with valid start date and no end date", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 136 +#line 147 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 137 +#line 148 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 138 +#line 149 testRunner.And("check the response does not contain an operation outcome", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } @@ -590,7 +614,7 @@ public void RetrieveTheInvestigationsDataStructuredRecordWithNoStartDateAndNoEnd System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the Investigations data structured record with no start date and no end " + "date expected success and no operation outcome", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 140 +#line 151 this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) @@ -600,22 +624,22 @@ public void RetrieveTheInvestigationsDataStructuredRecordWithNoStartDateAndNoEnd else { this.ScenarioStart(); -#line 141 +#line 152 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 142 +#line 153 testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 143 +#line 154 testRunner.And("I add the investigations data parameter with no start date and no end date", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 144 +#line 155 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 145 +#line 156 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 146 +#line 157 testRunner.And("check the response does not contain an operation outcome", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } @@ -633,7 +657,7 @@ public void RetrieveInvestigationsDataStructuredRecordSectionForAnInvalidIdentif System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve Investigations data structured record section for an invalid Identifier " + "System", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 149 +#line 160 this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) @@ -643,22 +667,22 @@ public void RetrieveInvestigationsDataStructuredRecordSectionForAnInvalidIdentif else { this.ScenarioStart(); -#line 150 +#line 161 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 151 +#line 162 testRunner.And("I add an NHS Number parameter for \"patient1\" with an invalid Identifier System", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 152 +#line 163 testRunner.And("I add the Investigations parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 153 +#line 164 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 154 +#line 165 testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 155 +#line 166 testRunner.And("the response should be a OperationOutcome resource", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } @@ -676,7 +700,7 @@ public void RetrieveInvestigationsDataStructuredRecordSectionForAnEmptyIdentifie System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve Investigations data structured record section for an empty Identifier Sy" + "stem", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 158 +#line 169 this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) @@ -686,22 +710,22 @@ public void RetrieveInvestigationsDataStructuredRecordSectionForAnEmptyIdentifie else { this.ScenarioStart(); -#line 159 +#line 170 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 160 +#line 171 testRunner.And("I add an NHS Number parameter for \"patient1\" with an empty Identifier System", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 161 +#line 172 testRunner.And("I add the Investigations parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 162 +#line 173 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 163 +#line 174 testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 164 +#line 175 testRunner.And("the response should be a OperationOutcome resource", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } @@ -719,7 +743,7 @@ public void RetrieveInvestigationsDataStructuredRecordForAPatientThatHasSensitiv System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve Investigations data structured record for a patient that has sensitive f" + "lag", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 167 +#line 178 this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) @@ -729,25 +753,25 @@ public void RetrieveInvestigationsDataStructuredRecordForAPatientThatHasSensitiv else { this.ScenarioStart(); -#line 168 +#line 179 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 169 +#line 180 testRunner.And("I add an NHS Number parameter for \"patient9\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 170 +#line 181 testRunner.And("I add the Investigations parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 171 +#line 182 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 172 +#line 183 testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 173 +#line 184 testRunner.And("the response status code should be \"404\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 174 +#line 185 testRunner.And("the response should be a OperationOutcome resource with error code \"PATIENT_NOT_F" + "OUND\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden @@ -783,7 +807,7 @@ public void RetrieveTheInvestigationsDataStructuredRecordWithInvalidDatesExpecte argumentsOfScenario.Add("PartParameter", partParameter); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the Investigations data structured record with invalid dates expected fa" + "ilure", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 177 +#line 188 this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) @@ -793,25 +817,25 @@ public void RetrieveTheInvestigationsDataStructuredRecordWithInvalidDatesExpecte else { this.ScenarioStart(); -#line 178 +#line 189 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 179 +#line 190 testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 180 +#line 191 testRunner.And(string.Format("I add the investigations data parameter with date permutations \"{0}\" and \"{1}\"", startDate, endDate), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 181 +#line 192 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 182 +#line 193 testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 183 +#line 194 testRunner.And("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 184 +#line 195 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_PARAM" + "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden @@ -830,7 +854,7 @@ public void RetrieveTheInvestigationsDataStructuredRecordWithInvestigationSearch System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the Investigations data structured record with investigationSearchPeriod" + " in future expected failure", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 197 +#line 208 this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) @@ -840,25 +864,25 @@ public void RetrieveTheInvestigationsDataStructuredRecordWithInvestigationSearch else { this.ScenarioStart(); -#line 198 +#line 209 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 199 +#line 210 testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 200 +#line 211 testRunner.And("I add the investigations data parameter with future start date", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 201 +#line 212 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 202 +#line 213 testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 203 +#line 214 testRunner.And("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 204 +#line 215 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_PARAM" + "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden @@ -877,7 +901,7 @@ public void RetrieveTheInvestigationsDataStructuredRecordStartDateAfterEndDateEx System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the Investigations data structured record startDate after endDate expect" + "ed failure", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 207 +#line 218 this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) @@ -887,25 +911,25 @@ public void RetrieveTheInvestigationsDataStructuredRecordStartDateAfterEndDateEx else { this.ScenarioStart(); -#line 208 +#line 219 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 209 +#line 220 testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 210 +#line 221 testRunner.And("I add the investigations data parameter start date after endDate", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 211 +#line 222 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 212 +#line 223 testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 213 +#line 224 testRunner.Then("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 214 +#line 225 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_PARAM" + "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden diff --git a/GPConnect.Provider.AcceptanceTests/StructuredMedications.feature.cs b/GPConnect.Provider.AcceptanceTests/StructuredMedications.feature.cs index 35c44591..bd02bdaf 100644 --- a/GPConnect.Provider.AcceptanceTests/StructuredMedications.feature.cs +++ b/GPConnect.Provider.AcceptanceTests/StructuredMedications.feature.cs @@ -86,6 +86,8 @@ public void ScenarioCleanup() [NUnit.Framework.TestCaseAttribute("patient5", null)] [NUnit.Framework.TestCaseAttribute("patient12", null)] [NUnit.Framework.TestCaseAttribute("patient16", null)] + [NUnit.Framework.TestCaseAttribute("patient33", null)] + [NUnit.Framework.TestCaseAttribute("patient34", null)] public void RetrieveTheMedicationStructuredRecordSectionForAPatientWithNoProblemsAndIncludingPrescriptionIssues(string patient, string[] exampleTags) { string[] tagsOfScenario = exampleTags; @@ -186,6 +188,7 @@ public void RetrieveTheMedicationStructuredRecordSectionForAPatientWithNoProblem [NUnit.Framework.DescriptionAttribute("Retrieve the medication structured record section for a patient with problems lin" + "ked and including prescription issues")] [NUnit.Framework.TestCaseAttribute("patient33", null)] + [NUnit.Framework.TestCaseAttribute("patient34", null)] public void RetrieveTheMedicationStructuredRecordSectionForAPatientWithProblemsLinkedAndIncludingPrescriptionIssues(string patient, string[] exampleTags) { string[] tagsOfScenario = exampleTags; @@ -193,7 +196,7 @@ public void RetrieveTheMedicationStructuredRecordSectionForAPatientWithProblemsL argumentsOfScenario.Add("Patient", patient); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the medication structured record section for a patient with problems lin" + "ked and including prescription issues", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 40 +#line 42 this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) @@ -203,90 +206,90 @@ public void RetrieveTheMedicationStructuredRecordSectionForAPatientWithProblemsL else { this.ScenarioStart(); -#line 41 +#line 43 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 42 +#line 44 testRunner.And(string.Format("I add an NHS Number parameter for \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 43 +#line 45 testRunner.And("I add the medication parameter with includePrescriptionIssues set to \"true\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 44 +#line 46 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 45 +#line 47 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 46 +#line 48 testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 47 +#line 49 testRunner.And("the response meta profile should be for \"structured\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 48 +#line 50 testRunner.And("the patient resource in the bundle should contain meta data profile and version i" + "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 49 +#line 51 testRunner.And("if the response bundle contains a practitioner resource it should contain meta da" + "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 50 +#line 52 testRunner.And("if the response bundle contains an organization resource it should contain meta d" + "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 51 +#line 53 testRunner.And(string.Format("the Bundle should be valid for patient \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 52 +#line 54 testRunner.And("check that the bundle does not contain any duplicate resources", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 53 +#line 55 testRunner.And("the Bundle should contain \"2\" lists", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 54 +#line 56 testRunner.And("the Medications should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 55 +#line 57 testRunner.And("the Medication Statements should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 56 +#line 58 testRunner.And("the Medication Requests should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 57 +#line 59 testRunner.And("the List of MedicationStatements should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 58 +#line 60 testRunner.And("there should only be one order request for acute prescriptions", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 59 +#line 61 testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 60 +#line 62 testRunner.And("the Practitioner Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 61 +#line 63 testRunner.And("the Organization Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 62 +#line 64 testRunner.And("check the response does not contain an operation outcome", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 63 +#line 65 testRunner.And("I Check There is No Problems Secondary Problems List", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 64 +#line 66 testRunner.And("I Check No Problem Resources are Included", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 65 +#line 67 testRunner.And("Check the MedicationRequests have a link to a medication that has been included i" + "n response", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 66 +#line 68 testRunner.And("Check there is a MedicationStatement resource that is linked to the MedicationReq" + "uest and Medication", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 67 +#line 69 testRunner.And("Check the Medications List resource has been included in response", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } @@ -299,6 +302,8 @@ public void RetrieveTheMedicationStructuredRecordSectionForAPatientWithProblemsL [NUnit.Framework.TestCaseAttribute("patient3", null)] [NUnit.Framework.TestCaseAttribute("patient5", null)] [NUnit.Framework.TestCaseAttribute("patient12", null)] + [NUnit.Framework.TestCaseAttribute("patient33", null)] + [NUnit.Framework.TestCaseAttribute("patient34", null)] public void RetrieveTheMedicationStructuredRecordForAPatientWithNoProblemsAndExcludingPrescriptionIssues(string patient, string[] exampleTags) { string[] tagsOfScenario = exampleTags; @@ -306,7 +311,7 @@ public void RetrieveTheMedicationStructuredRecordForAPatientWithNoProblemsAndExc argumentsOfScenario.Add("Patient", patient); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the medication structured record for a patient with no problems and excl" + "uding prescription issues", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 72 +#line 75 this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) @@ -316,79 +321,79 @@ public void RetrieveTheMedicationStructuredRecordForAPatientWithNoProblemsAndExc else { this.ScenarioStart(); -#line 73 +#line 76 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 74 +#line 77 testRunner.And(string.Format("I add an NHS Number parameter for \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 75 +#line 78 testRunner.And("I add the medication parameter with includePrescriptionIssues set to \"false\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 76 +#line 79 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 77 +#line 80 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 78 +#line 81 testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 79 +#line 82 testRunner.And("the response meta profile should be for \"structured\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 80 +#line 83 testRunner.And("the patient resource in the bundle should contain meta data profile and version i" + "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 81 +#line 84 testRunner.And("if the response bundle contains a practitioner resource it should contain meta da" + "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 82 +#line 85 testRunner.And("if the response bundle contains an organization resource it should contain meta d" + "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 83 +#line 86 testRunner.And(string.Format("the Bundle should be valid for patient \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 84 +#line 87 testRunner.And("check that the bundle does not contain any duplicate resources", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 85 +#line 88 testRunner.And("the Bundle should contain \"1\" lists", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 86 +#line 89 testRunner.And("the Medications should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 87 +#line 90 testRunner.And("the Medication Statements should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 88 +#line 91 testRunner.And("the Medication Requests should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 89 +#line 92 testRunner.And("the List of MedicationStatements should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 90 +#line 93 testRunner.And("the Medication Requests should not contain any issues", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 91 +#line 94 testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 92 +#line 95 testRunner.And("the Practitioner Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 93 +#line 96 testRunner.And("the Organization Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 94 +#line 97 testRunner.And("check the response does not contain an operation outcome", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 95 +#line 98 testRunner.And("I Check There is No Problems Secondary Problems List", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 96 +#line 99 testRunner.And("I Check No Problem Resources are Included", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } @@ -404,7 +409,7 @@ public void RetrieveTheMedicationStructuredRecordSectionForAPatientWithNoMedicat System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the medication structured record section for a patient with no medicatio" + "ns", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 103 +#line 108 this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) @@ -414,55 +419,55 @@ public void RetrieveTheMedicationStructuredRecordSectionForAPatientWithNoMedicat else { this.ScenarioStart(); -#line 104 +#line 109 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 105 +#line 110 testRunner.And("I add an NHS Number parameter for \"patient4\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 106 +#line 111 testRunner.And("I add the medication parameter with includePrescriptionIssues set to \"false\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 107 +#line 112 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 108 +#line 113 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 109 +#line 114 testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 110 +#line 115 testRunner.And("the response meta profile should be for \"structured\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 111 +#line 116 testRunner.And("the patient resource in the bundle should contain meta data profile and version i" + "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 112 +#line 117 testRunner.And("if the response bundle contains a practitioner resource it should contain meta da" + "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 113 +#line 118 testRunner.And("if the response bundle contains an organization resource it should contain meta d" + "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 114 +#line 119 testRunner.And("the Bundle should be valid for patient \"patient4\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 115 +#line 120 testRunner.And("the Bundle should contain \"1\" lists", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 116 +#line 121 testRunner.And("the List of MedicationStatements should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 117 +#line 122 testRunner.And("the Medications should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 118 +#line 123 testRunner.And("the Medication Statements should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 119 +#line 124 testRunner.And("the Medication Requests should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } @@ -472,13 +477,17 @@ public void RetrieveTheMedicationStructuredRecordSectionForAPatientWithNoMedicat [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Retrieve the medication structured record section for a patient with a timePeriod" + "")] - public void RetrieveTheMedicationStructuredRecordSectionForAPatientWithATimePeriod() + [NUnit.Framework.TestCaseAttribute("patient2", null)] + [NUnit.Framework.TestCaseAttribute("patient33", null)] + [NUnit.Framework.TestCaseAttribute("patient34", null)] + public void RetrieveTheMedicationStructuredRecordSectionForAPatientWithATimePeriod(string patient, string[] exampleTags) { - string[] tagsOfScenario = ((string[])(null)); + string[] tagsOfScenario = exampleTags; System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("Patient", patient); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the medication structured record section for a patient with a timePeriod" + "", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 121 +#line 126 this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) @@ -488,55 +497,55 @@ public void RetrieveTheMedicationStructuredRecordSectionForAPatientWithATimePeri else { this.ScenarioStart(); -#line 122 +#line 127 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 123 - testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 128 + testRunner.And(string.Format("I add an NHS Number parameter for \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 125 +#line 130 testRunner.And("I set a medications period parameter start date to \"2022-09-25\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 126 +#line 131 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 127 +#line 132 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 128 +#line 133 testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 129 +#line 134 testRunner.And("the response meta profile should be for \"structured\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 130 +#line 135 testRunner.And("the patient resource in the bundle should contain meta data profile and version i" + "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 131 +#line 136 testRunner.And("if the response bundle contains a practitioner resource it should contain meta da" + "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 132 +#line 137 testRunner.And("if the response bundle contains an organization resource it should contain meta d" + "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 133 - testRunner.And("the Bundle should be valid for patient \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 138 + testRunner.And(string.Format("the Bundle should be valid for patient \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 134 +#line 139 testRunner.And("the Medications should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 135 +#line 140 testRunner.And("the Medication Statements should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 136 +#line 141 testRunner.And("the Medication Requests should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 137 +#line 142 testRunner.And("the List of MedicationStatements should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 139 +#line 144 testRunner.And("the MedicationStatement EffectiveDate is Greater Than Search Date of \"2022-09-25\"" + " years ago", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden @@ -547,13 +556,17 @@ public void RetrieveTheMedicationStructuredRecordSectionForAPatientWithATimePeri [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Retrieve the medication structured record section for a patient with medication p" + "rescribed elsewhere")] - public void RetrieveTheMedicationStructuredRecordSectionForAPatientWithMedicationPrescribedElsewhere() + [NUnit.Framework.TestCaseAttribute("patient12", null)] + [NUnit.Framework.TestCaseAttribute("patient33", null)] + [NUnit.Framework.TestCaseAttribute("patient34", null)] + public void RetrieveTheMedicationStructuredRecordSectionForAPatientWithMedicationPrescribedElsewhere(string patient, string[] exampleTags) { - string[] tagsOfScenario = ((string[])(null)); + string[] tagsOfScenario = exampleTags; System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("Patient", patient); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the medication structured record section for a patient with medication p" + "rescribed elsewhere", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 141 +#line 151 this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) @@ -563,58 +576,58 @@ public void RetrieveTheMedicationStructuredRecordSectionForAPatientWithMedicatio else { this.ScenarioStart(); -#line 142 +#line 152 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 143 - testRunner.And("I add an NHS Number parameter for \"patient12\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 153 + testRunner.And(string.Format("I add an NHS Number parameter for \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 144 +#line 154 testRunner.And("I add the medication parameter with includePrescriptionIssues set to \"true\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 145 +#line 155 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 146 +#line 156 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 147 +#line 157 testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 148 +#line 158 testRunner.And("the response meta profile should be for \"structured\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 149 +#line 159 testRunner.And("the patient resource in the bundle should contain meta data profile and version i" + "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 150 +#line 160 testRunner.And("if the response bundle contains a practitioner resource it should contain meta da" + "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 151 +#line 161 testRunner.And("if the response bundle contains an organization resource it should contain meta d" + "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 152 - testRunner.And("the Bundle should be valid for patient \"patient12\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 162 + testRunner.And(string.Format("the Bundle should be valid for patient \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 153 +#line 163 testRunner.And("the Bundle should contain \"1\" lists", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 154 +#line 164 testRunner.And("the Medications should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 155 +#line 165 testRunner.And("the Medication Statements should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 156 +#line 166 testRunner.And("the Medication Requests should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 157 +#line 167 testRunner.And("the List of MedicationStatements should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 158 +#line 168 testRunner.And("the MedicationStatement for prescriptions prescribed elsewhere should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } diff --git a/GPConnect.Provider.AcceptanceTests/StructuredProblems.feature b/GPConnect.Provider.AcceptanceTests/StructuredProblems.feature index 89c35a16..6b226e55 100644 --- a/GPConnect.Provider.AcceptanceTests/StructuredProblems.feature +++ b/GPConnect.Provider.AcceptanceTests/StructuredProblems.feature @@ -270,11 +270,16 @@ Feature: StructuredProblems Then the response status code should indicate failure And the response should be a OperationOutcome resource - Scenario: Retrieve Problems structured record for a patient that has sensitive flag + Scenario Outline: Retrieve Problems structured record for a patient that has sensitive flag Given I configure the default "GpcGetStructuredRecord" request - And I add an NHS Number parameter for "patient9" + And I add an NHS Number parameter for "" And I add the Problems parameter When I make the "GpcGetStructuredRecord" request Then the response status code should indicate failure And the response status code should be "404" And the response should be a OperationOutcome resource with error code "PATIENT_NOT_FOUND" + Examples: + | Patient | + | patient9 | + | patient32 | + diff --git a/GPConnect.Provider.AcceptanceTests/StructuredProblems.feature.cs b/GPConnect.Provider.AcceptanceTests/StructuredProblems.feature.cs index 9c656842..62cccc95 100644 --- a/GPConnect.Provider.AcceptanceTests/StructuredProblems.feature.cs +++ b/GPConnect.Provider.AcceptanceTests/StructuredProblems.feature.cs @@ -81,13 +81,16 @@ public void ScenarioCleanup() [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Verify response for a Patient with Problems linked to some clinical items")] - public void VerifyResponseForAPatientWithProblemsLinkedToSomeClinicalItems() + [NUnit.Framework.TestCaseAttribute("patient2", null)] + [NUnit.Framework.TestCaseAttribute("patient32", null)] + public void VerifyResponseForAPatientWithProblemsLinkedToSomeClinicalItems(string patient, string[] exampleTags) { - string[] tagsOfScenario = ((string[])(null)); + string[] tagsOfScenario = exampleTags; System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("Patient", patient); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Verify response for a Patient with Problems linked to some clinical items", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 8 -this.ScenarioInitialize(scenarioInfo); + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -97,19 +100,19 @@ public void VerifyResponseForAPatientWithProblemsLinkedToSomeClinicalItems() { this.ScenarioStart(); #line 9 - testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); + testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden #line 10 - testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + testRunner.And(string.Format("I add an NHS Number parameter for \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 11 testRunner.And("I add the Problems parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 12 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); + testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden #line 13 - testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); + testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden #line 14 testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); @@ -130,7 +133,7 @@ public void VerifyResponseForAPatientWithProblemsLinkedToSomeClinicalItems() "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 19 - testRunner.And("the Bundle should be valid for patient \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + testRunner.And(string.Format("the Bundle should be valid for patient \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 20 testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); @@ -191,13 +194,16 @@ public void VerifyResponseForAPatientWithProblemsLinkedToSomeClinicalItems() [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Verify response for a Patient with Problems linked to other Problems")] - public void VerifyResponseForAPatientWithProblemsLinkedToOtherProblems() + [NUnit.Framework.TestCaseAttribute("patient2", null)] + [NUnit.Framework.TestCaseAttribute("patient32", null)] + public void VerifyResponseForAPatientWithProblemsLinkedToOtherProblems(string patient, string[] exampleTags) { - string[] tagsOfScenario = ((string[])(null)); + string[] tagsOfScenario = exampleTags; System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("Patient", patient); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Verify response for a Patient with Problems linked to other Problems", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 39 -this.ScenarioInitialize(scenarioInfo); +#line 43 + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -206,70 +212,70 @@ public void VerifyResponseForAPatientWithProblemsLinkedToOtherProblems() else { this.ScenarioStart(); -#line 40 - testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 44 + testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 41 - testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 45 + testRunner.And(string.Format("I add an NHS Number parameter for \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 42 +#line 46 testRunner.And("I add the Problems parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 43 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 47 + testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 44 - testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line 48 + testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 45 +#line 49 testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 46 +#line 50 testRunner.And("the response meta profile should be for \"structured\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 47 +#line 51 testRunner.And("the patient resource in the bundle should contain meta data profile and version i" + "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 48 +#line 52 testRunner.And("if the response bundle contains a practitioner resource it should contain meta da" + "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 49 +#line 53 testRunner.And("if the response bundle contains an organization resource it should contain meta d" + "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 50 - testRunner.And("the Bundle should be valid for patient \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 54 + testRunner.And(string.Format("the Bundle should be valid for patient \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 51 +#line 55 testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 52 +#line 56 testRunner.And("the Practitioner Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 53 +#line 57 testRunner.And("the Organization Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 54 +#line 58 testRunner.And("check that the bundle does not contain any duplicate resources", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 55 +#line 59 testRunner.And("I Check that a problem is linked to another problem", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 56 +#line 60 testRunner.And("I Check The Primary Problems List", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 57 +#line 61 testRunner.And("I Check The Primary Problems List Does Not Include Not In Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 58 +#line 62 testRunner.And("I Check The Problems Resources are Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 59 +#line 63 testRunner.And("I check The Problem Resources Do Not Include Not In Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 60 +#line 64 testRunner.And("check the response does not contain an operation outcome", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } @@ -278,16 +284,19 @@ public void VerifyResponseForAPatientWithProblemsLinkedToOtherProblems() [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Retrieve problems structured record with status partParameter expected success")] - [NUnit.Framework.TestCaseAttribute("active", null)] - [NUnit.Framework.TestCaseAttribute("inactive", null)] - public void RetrieveProblemsStructuredRecordWithStatusPartParameterExpectedSuccess(string value, string[] exampleTags) + [NUnit.Framework.TestCaseAttribute("active", "patient2", null)] + [NUnit.Framework.TestCaseAttribute("inactive", "patient32", null)] + [NUnit.Framework.TestCaseAttribute("active", "patient2", null)] + [NUnit.Framework.TestCaseAttribute("inactive", "patient32", null)] + public void RetrieveProblemsStructuredRecordWithStatusPartParameterExpectedSuccess(string value, string patient, string[] exampleTags) { string[] tagsOfScenario = exampleTags; System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); argumentsOfScenario.Add("value", value); + argumentsOfScenario.Add("Patient", patient); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve problems structured record with status partParameter expected success", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 63 -this.ScenarioInitialize(scenarioInfo); +#line 71 + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -296,52 +305,52 @@ public void RetrieveProblemsStructuredRecordWithStatusPartParameterExpectedSucce else { this.ScenarioStart(); -#line 64 - testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 72 + testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 65 - testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 73 + testRunner.And(string.Format("I add an NHS Number parameter for \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 66 +#line 74 testRunner.And(string.Format("I add the problems parameter with filterStatus \"{0}\"", value), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 67 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 75 + testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 68 - testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line 76 + testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 69 +#line 77 testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 70 +#line 78 testRunner.And("the response meta profile should be for \"structured\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 71 +#line 79 testRunner.And("the patient resource in the bundle should contain meta data profile and version i" + "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 72 +#line 80 testRunner.And("if the response bundle contains a practitioner resource it should contain meta da" + "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 73 +#line 81 testRunner.And("if the response bundle contains an organization resource it should contain meta d" + "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 74 - testRunner.And("the Bundle should be valid for patient \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 82 + testRunner.And(string.Format("the Bundle should be valid for patient \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 75 +#line 83 testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 76 +#line 84 testRunner.And("the Practitioner Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 77 +#line 85 testRunner.And("the Organization Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 78 +#line 86 testRunner.And("check the response does not contain an operation outcome", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } @@ -351,17 +360,18 @@ public void RetrieveProblemsStructuredRecordWithStatusPartParameterExpectedSucce [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Retrieve problems structured record with significance partParameter expected succ" + "ess")] - [NUnit.Framework.TestCaseAttribute("major", null)] - [NUnit.Framework.TestCaseAttribute("minor", null)] - public void RetrieveProblemsStructuredRecordWithSignificancePartParameterExpectedSuccess(string value, string[] exampleTags) + [NUnit.Framework.TestCaseAttribute("major", "patient2", null)] + [NUnit.Framework.TestCaseAttribute("minor", "patient32", null)] + public void RetrieveProblemsStructuredRecordWithSignificancePartParameterExpectedSuccess(string value, string patient, string[] exampleTags) { string[] tagsOfScenario = exampleTags; System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); argumentsOfScenario.Add("value", value); + argumentsOfScenario.Add("Patient", patient); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve problems structured record with significance partParameter expected succ" + "ess", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 84 -this.ScenarioInitialize(scenarioInfo); +#line 94 + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -370,64 +380,64 @@ public void RetrieveProblemsStructuredRecordWithSignificancePartParameterExpecte else { this.ScenarioStart(); -#line 85 - testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 95 + testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 86 - testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 96 + testRunner.And(string.Format("I add an NHS Number parameter for \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 87 +#line 97 testRunner.And(string.Format("I add the problems parameter with filterSignificance \"{0}\"", value), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 88 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 98 + testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 89 - testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line 99 + testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 90 +#line 100 testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 91 +#line 101 testRunner.And("the response meta profile should be for \"structured\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 92 +#line 102 testRunner.And("the patient resource in the bundle should contain meta data profile and version i" + "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 93 +#line 103 testRunner.And("if the response bundle contains a practitioner resource it should contain meta da" + "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 94 +#line 104 testRunner.And("if the response bundle contains an organization resource it should contain meta d" + "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 95 - testRunner.And("the Bundle should be valid for patient \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 105 + testRunner.And(string.Format("the Bundle should be valid for patient \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 96 +#line 106 testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 97 +#line 107 testRunner.And("the Practitioner Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 98 +#line 108 testRunner.And("the Organization Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 99 +#line 109 testRunner.And("I Check The Primary Problems List", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 100 +#line 110 testRunner.And("I Check The Primary Problems List Does Not Include Not In Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 101 +#line 111 testRunner.And("I Check The Problems Resources are Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 102 +#line 112 testRunner.And("I check The Problem Resources Do Not Include Not In Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 103 +#line 113 testRunner.And("check the response does not contain an operation outcome", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } @@ -437,18 +447,21 @@ public void RetrieveProblemsStructuredRecordWithSignificancePartParameterExpecte [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Retrieve problems structured record with status and significance partParameter ex" + "pected success")] - [NUnit.Framework.TestCaseAttribute("active", "major", null)] - [NUnit.Framework.TestCaseAttribute("active", "minor", null)] - public void RetrieveProblemsStructuredRecordWithStatusAndSignificancePartParameterExpectedSuccess(string statusValue, string sigValue, string[] exampleTags) + [NUnit.Framework.TestCaseAttribute("active", "major", "patient2", null)] + [NUnit.Framework.TestCaseAttribute("active", "minor", "patient32", null)] + [NUnit.Framework.TestCaseAttribute("inactive", "major", "patient2", null)] + [NUnit.Framework.TestCaseAttribute("inactive", "minor", "patient32", null)] + public void RetrieveProblemsStructuredRecordWithStatusAndSignificancePartParameterExpectedSuccess(string statusValue, string sigValue, string patient, string[] exampleTags) { string[] tagsOfScenario = exampleTags; System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); argumentsOfScenario.Add("statusValue", statusValue); argumentsOfScenario.Add("sigValue", sigValue); + argumentsOfScenario.Add("Patient", patient); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve problems structured record with status and significance partParameter ex" + "pected success", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 109 -this.ScenarioInitialize(scenarioInfo); +#line 119 + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -457,64 +470,64 @@ public void RetrieveProblemsStructuredRecordWithStatusAndSignificancePartParamet else { this.ScenarioStart(); -#line 110 - testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 120 + testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 111 - testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 121 + testRunner.And(string.Format("I add an NHS Number parameter for \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 112 +#line 122 testRunner.And(string.Format("I add the problems parameter including status and significance value \"{0}\" \"{1}\"", statusValue, sigValue), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 113 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 123 + testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 114 - testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line 124 + testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 115 +#line 125 testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 116 +#line 126 testRunner.And("the response meta profile should be for \"structured\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 117 +#line 127 testRunner.And("the patient resource in the bundle should contain meta data profile and version i" + "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 118 +#line 128 testRunner.And("if the response bundle contains a practitioner resource it should contain meta da" + "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 119 +#line 129 testRunner.And("if the response bundle contains an organization resource it should contain meta d" + "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 120 - testRunner.And("the Bundle should be valid for patient \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 130 + testRunner.And(string.Format("the Bundle should be valid for patient \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 121 +#line 131 testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 122 +#line 132 testRunner.And("the Practitioner Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 123 +#line 133 testRunner.And("the Organization Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 124 +#line 134 testRunner.And("I Check The Primary Problems List", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 125 +#line 135 testRunner.And("I Check The Primary Problems List Does Not Include Not In Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 126 +#line 136 testRunner.And("I Check The Problems Resources are Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 127 +#line 137 testRunner.And("I check The Problem Resources Do Not Include Not In Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 128 +#line 138 testRunner.And("check the response does not contain an operation outcome", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } @@ -528,8 +541,8 @@ public void RetrieveProblemsStructuredRecordForAPatientThatHasNoProblemsData() string[] tagsOfScenario = ((string[])(null)); System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve problems structured record for a patient that has no problems data", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 136 -this.ScenarioInitialize(scenarioInfo); +#line 146 + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -538,61 +551,61 @@ public void RetrieveProblemsStructuredRecordForAPatientThatHasNoProblemsData() else { this.ScenarioStart(); -#line 137 - testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 147 + testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 138 +#line 148 testRunner.And("I add an NHS Number parameter for \"patient4\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 139 +#line 149 testRunner.And("I add the Problems parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 140 +#line 150 testRunner.And("I add the medication parameter with includePrescriptionIssues set to \"true\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 141 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 151 + testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 142 - testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line 152 + testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 143 +#line 153 testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 144 +#line 154 testRunner.And("the response meta profile should be for \"structured\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 145 +#line 155 testRunner.And("the patient resource in the bundle should contain meta data profile and version i" + "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 146 +#line 156 testRunner.And("if the response bundle contains a practitioner resource it should contain meta da" + "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 147 +#line 157 testRunner.And("if the response bundle contains an organization resource it should contain meta d" + "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 148 +#line 158 testRunner.And("the Bundle should be valid for patient \"patient4\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 149 +#line 159 testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 150 +#line 160 testRunner.And("the Practitioner Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 151 +#line 161 testRunner.And("the Organization Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 152 +#line 162 testRunner.And("I Check The Primary Problems List", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 153 +#line 163 testRunner.And("check the response does not contain an operation outcome", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 154 +#line 164 testRunner.And("check structured list contains a note and emptyReason when no data in section", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } @@ -602,14 +615,17 @@ public void RetrieveProblemsStructuredRecordForAPatientThatHasNoProblemsData() [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Retrieve problems structured record for a patient that has repeating pair values " + "expected success")] - public void RetrieveProblemsStructuredRecordForAPatientThatHasRepeatingPairValuesExpectedSuccess() + [NUnit.Framework.TestCaseAttribute("patient2", null)] + [NUnit.Framework.TestCaseAttribute("patient32", null)] + public void RetrieveProblemsStructuredRecordForAPatientThatHasRepeatingPairValuesExpectedSuccess(string patient, string[] exampleTags) { - string[] tagsOfScenario = ((string[])(null)); + string[] tagsOfScenario = exampleTags; System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("Patient", patient); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve problems structured record for a patient that has repeating pair values " + "expected success", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 156 -this.ScenarioInitialize(scenarioInfo); +#line 166 + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -618,55 +634,55 @@ public void RetrieveProblemsStructuredRecordForAPatientThatHasRepeatingPairValue else { this.ScenarioStart(); -#line 157 - testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 167 + testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 158 - testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 168 + testRunner.And(string.Format("I add an NHS Number parameter for \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 159 +#line 169 testRunner.And("I add the problems parameter including repeating filter pairs", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 160 +#line 170 testRunner.And("I add the medication parameter with includePrescriptionIssues set to \"true\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 161 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 171 + testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 162 - testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line 172 + testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 163 +#line 173 testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 164 +#line 174 testRunner.And("the response meta profile should be for \"structured\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 165 +#line 175 testRunner.And("the patient resource in the bundle should contain meta data profile and version i" + "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 166 +#line 176 testRunner.And("if the response bundle contains a practitioner resource it should contain meta da" + "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 167 +#line 177 testRunner.And("if the response bundle contains an organization resource it should contain meta d" + "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 168 - testRunner.And("the Bundle should be valid for patient \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 178 + testRunner.And(string.Format("the Bundle should be valid for patient \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 169 +#line 179 testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 170 +#line 180 testRunner.And("the Practitioner Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 171 +#line 181 testRunner.And("the Organization Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 172 +#line 182 testRunner.And("check the response does not contain an operation outcome", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } @@ -688,8 +704,8 @@ public void RetrieveProblemsStructuredRecordWithInvalidStatusPartParameterExpect argumentsOfScenario.Add("value", value); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve problems structured record with invalid status partParameter expected fa" + "ilure", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 174 -this.ScenarioInitialize(scenarioInfo); +#line 188 + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -698,25 +714,25 @@ public void RetrieveProblemsStructuredRecordWithInvalidStatusPartParameterExpect else { this.ScenarioStart(); -#line 175 - testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 189 + testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 176 +#line 190 testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 177 +#line 191 testRunner.And(string.Format("I add the problems parameter with filterStatus \"{0}\"", value), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 178 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 192 + testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 179 - testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line 193 + testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 180 +#line 194 testRunner.And("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 181 +#line 195 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_PARAM" + "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden @@ -737,8 +753,8 @@ public void RetrieveProblemsStructuredRecordWithInvalidSignificancePartParameter argumentsOfScenario.Add("value", value); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve problems structured record with invalid significance partParameter expec" + "ted failure", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 190 -this.ScenarioInitialize(scenarioInfo); +#line 204 + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -747,25 +763,25 @@ public void RetrieveProblemsStructuredRecordWithInvalidSignificancePartParameter else { this.ScenarioStart(); -#line 191 - testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 205 + testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 192 +#line 206 testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 193 +#line 207 testRunner.And(string.Format("I add the problems parameter with filterSignificance \"{0}\"", value), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 194 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 208 + testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 195 - testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line 209 + testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 196 +#line 210 testRunner.And("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 197 +#line 211 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_PARAM" + "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden @@ -787,8 +803,8 @@ public void RetrieveProblemsStructuredRecordWithInvalidStatusAndSignificancePart argumentsOfScenario.Add("sigValue", sigValue); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve problems structured record with invalid status and significance partPara" + "meter expected failure", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 204 -this.ScenarioInitialize(scenarioInfo); +#line 218 + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -797,25 +813,25 @@ public void RetrieveProblemsStructuredRecordWithInvalidStatusAndSignificancePart else { this.ScenarioStart(); -#line 205 - testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 219 + testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 206 +#line 220 testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 207 +#line 221 testRunner.And(string.Format("I add the problems parameter including status and significance value \"{0}\" \"{1}\"", statusValue, sigValue), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 208 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 222 + testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 209 - testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line 223 + testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 210 +#line 224 testRunner.And("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 211 +#line 225 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_PARAM" + "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden @@ -830,8 +846,8 @@ public void RetrieveProblemsStructuredRecordWithMadeUpPartParameterExpectedSucce string[] tagsOfScenario = ((string[])(null)); System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve Problems structured record with made up partParameter expected success", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 218 -this.ScenarioInitialize(scenarioInfo); +#line 232 + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -840,26 +856,26 @@ public void RetrieveProblemsStructuredRecordWithMadeUpPartParameterExpectedSucce else { this.ScenarioStart(); -#line 219 - testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 233 + testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 220 +#line 234 testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 221 +#line 235 testRunner.And("I add a madeUpProblems part parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 222 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 236 + testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 223 - testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line 237 + testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 224 +#line 238 testRunner.And("Check the operation outcome returns the correct text and diagnotics \"madeUpProble" + "ms\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 225 +#line 239 testRunner.And("Check the number of issues in the operation outcome \"1\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } @@ -873,8 +889,8 @@ public void RetrieveProblemsStructuredRecordSectionForAnInvalidNHSNumber() string[] tagsOfScenario = ((string[])(null)); System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve Problems structured record section for an invalid NHS number", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 227 -this.ScenarioInitialize(scenarioInfo); +#line 241 + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -883,22 +899,22 @@ public void RetrieveProblemsStructuredRecordSectionForAnInvalidNHSNumber() else { this.ScenarioStart(); -#line 228 - testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 242 + testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 229 +#line 243 testRunner.And("I add an NHS Number parameter for an invalid NHS Number", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 230 +#line 244 testRunner.And("I add the Problems parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 231 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 245 + testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 232 - testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line 246 + testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 233 +#line 247 testRunner.And("the response should be a OperationOutcome resource", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } @@ -912,8 +928,8 @@ public void RetrieveProblemsStructuredRecordSectionForAnEmptyNHSNumber() string[] tagsOfScenario = ((string[])(null)); System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve Problems structured record section for an empty NHS number", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 235 -this.ScenarioInitialize(scenarioInfo); +#line 249 + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -922,22 +938,22 @@ public void RetrieveProblemsStructuredRecordSectionForAnEmptyNHSNumber() else { this.ScenarioStart(); -#line 236 - testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 250 + testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 237 +#line 251 testRunner.And("I add an NHS Number parameter with an empty NHS Number", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 238 +#line 252 testRunner.And("I add the Problems parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 239 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 253 + testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 240 - testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line 254 + testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 241 +#line 255 testRunner.And("the response should be a OperationOutcome resource", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } @@ -951,8 +967,8 @@ public void RetrieveProblemsStructuredRecordSectionForAnInvalidIdentifierSystem( string[] tagsOfScenario = ((string[])(null)); System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve Problems structured record section for an invalid Identifier System", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 243 -this.ScenarioInitialize(scenarioInfo); +#line 257 + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -961,22 +977,22 @@ public void RetrieveProblemsStructuredRecordSectionForAnInvalidIdentifierSystem( else { this.ScenarioStart(); -#line 244 - testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 258 + testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 245 +#line 259 testRunner.And("I add an NHS Number parameter for \"patient1\" with an invalid Identifier System", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 246 +#line 260 testRunner.And("I add the Problems parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 247 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 261 + testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 248 - testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line 262 + testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 249 +#line 263 testRunner.And("the response should be a OperationOutcome resource", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } @@ -990,8 +1006,8 @@ public void RetrieveProblemsStructuredRecordSectionForAnEmptyIdentifierSystem() string[] tagsOfScenario = ((string[])(null)); System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve Problems structured record section for an empty Identifier System", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 251 -this.ScenarioInitialize(scenarioInfo); +#line 265 + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -1000,22 +1016,22 @@ public void RetrieveProblemsStructuredRecordSectionForAnEmptyIdentifierSystem() else { this.ScenarioStart(); -#line 252 -testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 266 + testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 253 +#line 267 testRunner.And("I add an NHS Number parameter for \"patient1\" with an empty Identifier System", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 254 +#line 268 testRunner.And("I add the Problems parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 255 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 269 + testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 256 - testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line 270 + testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 257 +#line 271 testRunner.And("the response should be a OperationOutcome resource", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } @@ -1024,13 +1040,16 @@ public void RetrieveProblemsStructuredRecordSectionForAnEmptyIdentifierSystem() [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Retrieve Problems structured record for a patient that has sensitive flag")] - public void RetrieveProblemsStructuredRecordForAPatientThatHasSensitiveFlag() + [NUnit.Framework.TestCaseAttribute("patient9", null)] + [NUnit.Framework.TestCaseAttribute("patient32", null)] + public void RetrieveProblemsStructuredRecordForAPatientThatHasSensitiveFlag(string patient, string[] exampleTags) { - string[] tagsOfScenario = ((string[])(null)); + string[] tagsOfScenario = exampleTags; System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("Patient", patient); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve Problems structured record for a patient that has sensitive flag", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 259 -this.ScenarioInitialize(scenarioInfo); +#line 273 + this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) { @@ -1039,25 +1058,25 @@ public void RetrieveProblemsStructuredRecordForAPatientThatHasSensitiveFlag() else { this.ScenarioStart(); -#line 260 - testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); +#line 274 + testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 261 - testRunner.And("I add an NHS Number parameter for \"patient9\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 275 + testRunner.And(string.Format("I add an NHS Number parameter for \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 262 +#line 276 testRunner.And("I add the Problems parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 263 - testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); +#line 277 + testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 264 - testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); +#line 278 + testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 265 +#line 279 testRunner.And("the response status code should be \"404\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 266 +#line 280 testRunner.And("the response should be a OperationOutcome resource with error code \"PATIENT_NOT_F" + "OUND\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden diff --git a/GPConnect.Provider.AcceptanceTests/StructuredReferrals.feature.cs b/GPConnect.Provider.AcceptanceTests/StructuredReferrals.feature.cs index d689aae5..32f1d1f8 100644 --- a/GPConnect.Provider.AcceptanceTests/StructuredReferrals.feature.cs +++ b/GPConnect.Provider.AcceptanceTests/StructuredReferrals.feature.cs @@ -83,11 +83,19 @@ public void ScenarioCleanup() [NUnit.Framework.DescriptionAttribute("Verify Referrals structured record for a Patient with Referrals not linked to any" + " problems")] [NUnit.Framework.CategoryAttribute("1.5.0-IncrementalAndRegression")] - public void VerifyReferralsStructuredRecordForAPatientWithReferralsNotLinkedToAnyProblems() + [NUnit.Framework.TestCaseAttribute("patient3", null)] + [NUnit.Framework.TestCaseAttribute("patient38", null)] + public void VerifyReferralsStructuredRecordForAPatientWithReferralsNotLinkedToAnyProblems(string patient, string[] exampleTags) { - string[] tagsOfScenario = new string[] { + string[] @__tags = new string[] { "1.5.0-IncrementalAndRegression"}; + if ((exampleTags != null)) + { + @__tags = System.Linq.Enumerable.ToArray(System.Linq.Enumerable.Concat(@__tags, exampleTags)); + } + string[] tagsOfScenario = @__tags; System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("Patient", patient); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Verify Referrals structured record for a Patient with Referrals not linked to any" + " problems", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 8 @@ -104,7 +112,7 @@ public void VerifyReferralsStructuredRecordForAPatientWithReferralsNotLinkedToAn testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden #line 10 - testRunner.And("I add an NHS Number parameter for \"patient3\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + testRunner.And(string.Format("I add an NHS Number parameter for \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 11 testRunner.And("I add the Referrals parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); @@ -134,7 +142,7 @@ public void VerifyReferralsStructuredRecordForAPatientWithReferralsNotLinkedToAn "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 19 - testRunner.And("the Bundle should be valid for patient \"patient3\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + testRunner.And(string.Format("the Bundle should be valid for patient \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 20 testRunner.And("check that the bundle does not contain any duplicate resources", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); @@ -180,14 +188,22 @@ public void VerifyReferralsStructuredRecordForAPatientWithReferralsNotLinkedToAn [NUnit.Framework.DescriptionAttribute("Verify Referrals structured record for a Patient with Referrals associated to Pro" + "blems")] [NUnit.Framework.CategoryAttribute("1.5.0-IncrementalAndRegression")] - public void VerifyReferralsStructuredRecordForAPatientWithReferralsAssociatedToProblems() + [NUnit.Framework.TestCaseAttribute("patient2", null)] + [NUnit.Framework.TestCaseAttribute("patient38", null)] + public void VerifyReferralsStructuredRecordForAPatientWithReferralsAssociatedToProblems(string patient, string[] exampleTags) { - string[] tagsOfScenario = new string[] { + string[] @__tags = new string[] { "1.5.0-IncrementalAndRegression"}; + if ((exampleTags != null)) + { + @__tags = System.Linq.Enumerable.ToArray(System.Linq.Enumerable.Concat(@__tags, exampleTags)); + } + string[] tagsOfScenario = @__tags; System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("Patient", patient); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Verify Referrals structured record for a Patient with Referrals associated to Pro" + "blems", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 34 +#line 38 this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) @@ -197,85 +213,85 @@ public void VerifyReferralsStructuredRecordForAPatientWithReferralsAssociatedToP else { this.ScenarioStart(); -#line 35 +#line 39 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 36 - testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 40 + testRunner.And(string.Format("I add an NHS Number parameter for \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 37 +#line 41 testRunner.And("I add the Referrals parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 38 +#line 42 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 39 +#line 43 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 40 +#line 44 testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 41 +#line 45 testRunner.And("the response meta profile should be for \"structured\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 42 +#line 46 testRunner.And("the patient resource in the bundle should contain meta data profile and version i" + "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 43 +#line 47 testRunner.And("if the response bundle contains a practitioner resource it should contain meta da" + "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 44 +#line 48 testRunner.And("if the response bundle contains an organization resource it should contain meta d" + "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 45 - testRunner.And("the Bundle should be valid for patient \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 49 + testRunner.And(string.Format("the Bundle should be valid for patient \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 46 +#line 50 testRunner.And("check that the bundle does not contain any duplicate resources", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 47 +#line 51 testRunner.And("check the response does not contain an operation outcome", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 48 +#line 52 testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 49 +#line 53 testRunner.And("the Practitioner Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 50 +#line 54 testRunner.And("the Organization Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 51 +#line 55 testRunner.And("I Check the Referrals List is Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 52 +#line 56 testRunner.And("The Structured List Does Not Include Not In Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 53 +#line 57 testRunner.And("I Check the ReferralRequests are Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 54 +#line 58 testRunner.And("I Check the ReferralRequests Do Not Include Not in Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 55 +#line 59 testRunner.And("I Check The Problems Secondary Problems List", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 56 +#line 60 testRunner.And("I Check The Problems Secondary Problems List Does Not Include Not In Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 57 +#line 61 testRunner.And("I Check The Problems Resources are Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 58 +#line 62 testRunner.And("I check The Problem Resources Do Not Include Not In Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 59 +#line 63 testRunner.And("the Bundle should contain \"2\" lists", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 60 +#line 64 testRunner.And("Check a Problem is linked to ReferralRequest and that it is also included", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } @@ -291,7 +307,7 @@ public void RetrieveReferralsStructuredRecordForAPatientThatHasNoReferralsData() "1.5.0-IncrementalAndRegression"}; System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve Referrals structured record for a patient that has no Referrals data", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 63 +#line 71 this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) @@ -301,55 +317,55 @@ public void RetrieveReferralsStructuredRecordForAPatientThatHasNoReferralsData() else { this.ScenarioStart(); -#line 64 +#line 72 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 65 +#line 73 testRunner.And("I add an NHS Number parameter for \"patient4\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 66 +#line 74 testRunner.And("I add the Referrals parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 67 +#line 75 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 68 +#line 76 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 69 +#line 77 testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 70 +#line 78 testRunner.And("the response meta profile should be for \"structured\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 71 +#line 79 testRunner.And("the patient resource in the bundle should contain meta data profile and version i" + "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 72 +#line 80 testRunner.And("if the response bundle contains a practitioner resource it should contain meta da" + "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 73 +#line 81 testRunner.And("if the response bundle contains an organization resource it should contain meta d" + "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 74 +#line 82 testRunner.And("the Bundle should be valid for patient \"patient4\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 75 +#line 83 testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 76 +#line 84 testRunner.And("the Practitioner Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 77 +#line 85 testRunner.And("the Organization Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 78 +#line 86 testRunner.And("check structured list contains a note and emptyReason when no data in section", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 79 +#line 87 testRunner.And("check the response does not contain an operation outcome", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } @@ -376,7 +392,7 @@ public void PatientWithReferralsHasWarningsAndAssociatedNotes(string patient, st argumentsOfScenario.Add("Warning", warning); argumentsOfScenario.Add("Note", note); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Patient with Referrals Has Warnings and Associated Notes", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 83 +#line 91 this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) @@ -386,28 +402,28 @@ public void PatientWithReferralsHasWarningsAndAssociatedNotes(string patient, st else { this.ScenarioStart(); -#line 84 +#line 92 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 85 +#line 93 testRunner.And(string.Format("I add an NHS Number parameter for \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 86 +#line 94 testRunner.And("I add the Referrals parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 87 +#line 95 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 88 +#line 96 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 89 +#line 97 testRunner.And("the Bundle should contain \"1\" lists", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 90 +#line 98 testRunner.And(string.Format("Check the list contains the following warning \"{0}\"", warning), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 91 +#line 99 testRunner.And(string.Format("Check the warning \"{0}\" has associated note \"{1}\"", warning, note), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } @@ -425,7 +441,7 @@ public void RetrieveTheReferralsDataStructuredRecordWithPeriodDatesEqualToCurren System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the Referrals data structured record with period dates equal to current " + "date expected success and no operation outcome", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 98 +#line 106 this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) @@ -435,22 +451,22 @@ public void RetrieveTheReferralsDataStructuredRecordWithPeriodDatesEqualToCurren else { this.ScenarioStart(); -#line 99 +#line 107 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 100 +#line 108 testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 101 +#line 109 testRunner.And("I add the Referrals data parameter with current date", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 102 +#line 110 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 103 +#line 111 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 104 +#line 112 testRunner.And("check the response does not contain an operation outcome", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } @@ -466,7 +482,7 @@ public void RetrieveTheReferralsDataStructuredRecordWithValidStartDateAndNoEndDa System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the Referrals data structured record with valid start date and no end da" + "te expected success and no operation outcome", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 106 +#line 114 this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) @@ -476,22 +492,22 @@ public void RetrieveTheReferralsDataStructuredRecordWithValidStartDateAndNoEndDa else { this.ScenarioStart(); -#line 107 +#line 115 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 108 +#line 116 testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 109 +#line 117 testRunner.And("I add the Referrals data parameter with valid start date and no end date", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 110 +#line 118 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 111 +#line 119 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 112 +#line 120 testRunner.And("check the response does not contain an operation outcome", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } @@ -507,7 +523,7 @@ public void RetrieveTheReferralsDataStructuredRecordWithNoStartDateAndNoEndDateE System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the Referrals data structured record with no start date and no end date " + "expected success and no operation outcome", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 114 +#line 122 this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) @@ -517,22 +533,22 @@ public void RetrieveTheReferralsDataStructuredRecordWithNoStartDateAndNoEndDateE else { this.ScenarioStart(); -#line 115 +#line 123 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 116 +#line 124 testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 117 +#line 125 testRunner.And("I add the Referrals data parameter with no start date and no end date", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 118 +#line 126 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 119 +#line 127 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 120 +#line 128 testRunner.And("check the response does not contain an operation outcome", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } @@ -550,7 +566,7 @@ public void RetrieveReferralsDataStructuredRecordSectionForAnInvalidIdentifierSy System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve Referrals data structured record section for an invalid Identifier Syste" + "m", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 123 +#line 131 this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) @@ -560,22 +576,22 @@ public void RetrieveReferralsDataStructuredRecordSectionForAnInvalidIdentifierSy else { this.ScenarioStart(); -#line 124 +#line 132 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 125 +#line 133 testRunner.And("I add an NHS Number parameter for \"patient1\" with an invalid Identifier System", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 126 +#line 134 testRunner.And("I add the Referrals parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 127 +#line 135 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 128 +#line 136 testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 129 +#line 137 testRunner.And("the response should be a OperationOutcome resource", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } @@ -591,7 +607,7 @@ public void RetrieveReferralsDataStructuredRecordSectionForAnEmptyIdentifierSyst "1.5.0-IncrementalAndRegression"}; System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve Referrals data structured record section for an empty Identifier System", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 132 +#line 140 this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) @@ -601,22 +617,22 @@ public void RetrieveReferralsDataStructuredRecordSectionForAnEmptyIdentifierSyst else { this.ScenarioStart(); -#line 133 +#line 141 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 134 +#line 142 testRunner.And("I add an NHS Number parameter for \"patient1\" with an empty Identifier System", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 135 +#line 143 testRunner.And("I add the Referrals parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 136 +#line 144 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 137 +#line 145 testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 138 +#line 146 testRunner.And("the response should be a OperationOutcome resource", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } @@ -632,7 +648,7 @@ public void RetrieveReferralsDataStructuredRecordForAPatientThatHasSensitiveFlag "1.5.0-IncrementalAndRegression"}; System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve Referrals data structured record for a patient that has sensitive flag", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 141 +#line 149 this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) @@ -642,25 +658,25 @@ public void RetrieveReferralsDataStructuredRecordForAPatientThatHasSensitiveFlag else { this.ScenarioStart(); -#line 142 +#line 150 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 143 +#line 151 testRunner.And("I add an NHS Number parameter for \"patient9\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 144 +#line 152 testRunner.And("I add the Referrals parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 145 +#line 153 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 146 +#line 154 testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 147 +#line 155 testRunner.And("the response status code should be \"404\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 149 +#line 157 testRunner.And("the response should be a OperationOutcome resource with error code \"PATIENT_NOT_F" + "OUND\" and display \"Patient not found\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden @@ -696,7 +712,7 @@ public void RetrieveTheReferralsDataStructuredRecordWithInvalidDatesExpectedFail argumentsOfScenario.Add("PartParameter", partParameter); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the Referrals data structured record with invalid dates expected failure" + "", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 152 +#line 160 this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) @@ -706,25 +722,25 @@ public void RetrieveTheReferralsDataStructuredRecordWithInvalidDatesExpectedFail else { this.ScenarioStart(); -#line 153 +#line 161 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 154 +#line 162 testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 155 +#line 163 testRunner.And(string.Format("I add the Referrals data parameter with date permutations \"{0}\" and \"{1}\"", startDate, endDate), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 156 +#line 164 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 157 +#line 165 testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 158 +#line 166 testRunner.And("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 159 +#line 167 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_PARAM" + "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden @@ -743,7 +759,7 @@ public void RetrieveTheReferralsDataStructuredRecordWithReferralSearchPeriodInFu System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the Referrals data structured record with referralSearchPeriod in future" + " expected failure", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 172 +#line 180 this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) @@ -753,25 +769,25 @@ public void RetrieveTheReferralsDataStructuredRecordWithReferralSearchPeriodInFu else { this.ScenarioStart(); -#line 173 +#line 181 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 174 +#line 182 testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 175 +#line 183 testRunner.And("I add the Referrals data parameter with future start date", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 176 +#line 184 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 177 +#line 185 testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 178 +#line 186 testRunner.And("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 179 +#line 187 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_PARAM" + "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden @@ -790,7 +806,7 @@ public void RetrieveTheReferralsDataStructuredRecordStartDateAfterEndDateExpecte System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the Referrals data structured record startDate after endDate expected fa" + "ilure", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 182 +#line 190 this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) @@ -800,25 +816,25 @@ public void RetrieveTheReferralsDataStructuredRecordStartDateAfterEndDateExpecte else { this.ScenarioStart(); -#line 183 +#line 191 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 184 +#line 192 testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 185 +#line 193 testRunner.And("I add the Referrals data parameter start date after endDate", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 186 +#line 194 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 187 +#line 195 testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 188 +#line 196 testRunner.Then("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 189 +#line 197 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_PARAM" + "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden diff --git a/GPConnect.Provider.AcceptanceTests/StructuredUncategorised.feature.cs b/GPConnect.Provider.AcceptanceTests/StructuredUncategorised.feature.cs index 54388671..c9837048 100644 --- a/GPConnect.Provider.AcceptanceTests/StructuredUncategorised.feature.cs +++ b/GPConnect.Provider.AcceptanceTests/StructuredUncategorised.feature.cs @@ -82,10 +82,13 @@ public void ScenarioCleanup() [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Verify Uncategorised structured record for a Patient with Uncategorised data not " + "linked to any problems")] - public void VerifyUncategorisedStructuredRecordForAPatientWithUncategorisedDataNotLinkedToAnyProblems() + [NUnit.Framework.TestCaseAttribute("patient3", null)] + [NUnit.Framework.TestCaseAttribute("patient37", null)] + public void VerifyUncategorisedStructuredRecordForAPatientWithUncategorisedDataNotLinkedToAnyProblems(string patient, string[] exampleTags) { - string[] tagsOfScenario = ((string[])(null)); + string[] tagsOfScenario = exampleTags; System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("Patient", patient); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Verify Uncategorised structured record for a Patient with Uncategorised data not " + "linked to any problems", null, tagsOfScenario, argumentsOfScenario, featureTags); #line 8 @@ -102,7 +105,7 @@ public void VerifyUncategorisedStructuredRecordForAPatientWithUncategorisedDataN testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden #line 10 - testRunner.And("I add an NHS Number parameter for \"patient3\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + testRunner.And(string.Format("I add an NHS Number parameter for \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 11 testRunner.And("I add the uncategorised data parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); @@ -132,7 +135,7 @@ public void VerifyUncategorisedStructuredRecordForAPatientWithUncategorisedDataN "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 19 - testRunner.And("the Bundle should be valid for patient \"patient3\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); + testRunner.And(string.Format("the Bundle should be valid for patient \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden #line 20 testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); @@ -174,13 +177,16 @@ public void VerifyUncategorisedStructuredRecordForAPatientWithUncategorisedDataN [NUnit.Framework.TestAttribute()] [NUnit.Framework.DescriptionAttribute("Verify Uncategorised structured record for a Patient with Uncategorised data asso" + "ciated to Problems")] - public void VerifyUncategorisedStructuredRecordForAPatientWithUncategorisedDataAssociatedToProblems() + [NUnit.Framework.TestCaseAttribute("patient2", null)] + [NUnit.Framework.TestCaseAttribute("patient37", null)] + public void VerifyUncategorisedStructuredRecordForAPatientWithUncategorisedDataAssociatedToProblems(string patient, string[] exampleTags) { - string[] tagsOfScenario = ((string[])(null)); + string[] tagsOfScenario = exampleTags; System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); + argumentsOfScenario.Add("Patient", patient); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Verify Uncategorised structured record for a Patient with Uncategorised data asso" + "ciated to Problems", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 34 +#line 38 this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) @@ -190,85 +196,85 @@ public void VerifyUncategorisedStructuredRecordForAPatientWithUncategorisedDataA else { this.ScenarioStart(); -#line 35 +#line 39 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 36 - testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 40 + testRunner.And(string.Format("I add an NHS Number parameter for \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 37 +#line 41 testRunner.And("I add the uncategorised data parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 38 +#line 42 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 39 +#line 43 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 40 +#line 44 testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 41 +#line 45 testRunner.And("the response meta profile should be for \"structured\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 42 +#line 46 testRunner.And("the patient resource in the bundle should contain meta data profile and version i" + "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 43 +#line 47 testRunner.And("if the response bundle contains a practitioner resource it should contain meta da" + "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 44 +#line 48 testRunner.And("if the response bundle contains an organization resource it should contain meta d" + "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 45 - testRunner.And("the Bundle should be valid for patient \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); +#line 49 + testRunner.And(string.Format("the Bundle should be valid for patient \"{0}\"", patient), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 46 +#line 50 testRunner.And("check that the bundle does not contain any duplicate resources", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 47 +#line 51 testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 48 +#line 52 testRunner.And("the Practitioner Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 49 +#line 53 testRunner.And("the Organization Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 50 +#line 54 testRunner.And("The Observation Resources are Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 51 +#line 55 testRunner.And("The Observation Resources Do Not Include Not In Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 52 +#line 56 testRunner.And("the Bundle should contain \"2\" lists", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 53 +#line 57 testRunner.And("The Observation List is Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 54 +#line 58 testRunner.And("The Structured List Does Not Include Not In Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 55 +#line 59 testRunner.And("check the response does not contain an operation outcome", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 56 +#line 60 testRunner.And("I Check The Problems Secondary Problems List", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 57 +#line 61 testRunner.And("I Check The Problems Secondary Problems List Does Not Include Not In Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 58 +#line 62 testRunner.And("I Check The Problems Resources are Valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 59 +#line 63 testRunner.And("I check The Problem Resources Do Not Include Not In Use Fields", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 60 +#line 64 testRunner.And("Check a Problem is linked to an \"Observation\" that is also included in the respon" + "se with its list", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden @@ -283,7 +289,7 @@ public void RetrieveUncategorisedDataStructuredRecordSectionForAnInvalidNHSNumbe string[] tagsOfScenario = ((string[])(null)); System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve uncategorised data structured record section for an invalid NHS number", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 62 +#line 70 this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) @@ -293,22 +299,22 @@ public void RetrieveUncategorisedDataStructuredRecordSectionForAnInvalidNHSNumbe else { this.ScenarioStart(); -#line 63 +#line 71 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 64 +#line 72 testRunner.And("I add an NHS Number parameter for an invalid NHS Number", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 65 +#line 73 testRunner.And("I add the uncategorised data parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 66 +#line 74 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 67 +#line 75 testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 68 +#line 76 testRunner.And("the response should be a OperationOutcome resource", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } @@ -322,7 +328,7 @@ public void RetrieveUncategorisedDataStructuredRecordSectionForAnEmptyNHSNumber( string[] tagsOfScenario = ((string[])(null)); System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve uncategorised data structured record section for an empty NHS number", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 70 +#line 78 this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) @@ -332,22 +338,22 @@ public void RetrieveUncategorisedDataStructuredRecordSectionForAnEmptyNHSNumber( else { this.ScenarioStart(); -#line 71 +#line 79 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 72 +#line 80 testRunner.And("I add an NHS Number parameter with an empty NHS Number", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 73 +#line 81 testRunner.And("I add the uncategorised data parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 74 +#line 82 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 75 +#line 83 testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 76 +#line 84 testRunner.And("the response should be a OperationOutcome resource", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } @@ -363,7 +369,7 @@ public void RetrieveUncategorisedDataStructuredRecordSectionForAnInvalidIdentifi System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve uncategorised data structured record section for an invalid Identifier S" + "ystem", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 78 +#line 86 this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) @@ -373,22 +379,22 @@ public void RetrieveUncategorisedDataStructuredRecordSectionForAnInvalidIdentifi else { this.ScenarioStart(); -#line 79 +#line 87 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 80 +#line 88 testRunner.And("I add an NHS Number parameter for \"patient1\" with an invalid Identifier System", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 81 +#line 89 testRunner.And("I add the uncategorised data parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 82 +#line 90 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 83 +#line 91 testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 84 +#line 92 testRunner.And("the response should be a OperationOutcome resource", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } @@ -404,7 +410,7 @@ public void RetrieveUncategorisedDataStructuredRecordSectionForAnEmptyIdentifier System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve uncategorised data structured record section for an empty Identifier Sys" + "tem", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 86 +#line 94 this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) @@ -414,22 +420,22 @@ public void RetrieveUncategorisedDataStructuredRecordSectionForAnEmptyIdentifier else { this.ScenarioStart(); -#line 87 +#line 95 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 88 +#line 96 testRunner.And("I add an NHS Number parameter for \"patient1\" with an empty Identifier System", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 89 +#line 97 testRunner.And("I add the uncategorised data parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 90 +#line 98 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 91 +#line 99 testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 92 +#line 100 testRunner.And("the response should be a OperationOutcome resource", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } @@ -445,7 +451,7 @@ public void RetrieveUncategorisedDataStructuredRecordForAPatientThatHasSensitive System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve uncategorised data structured record for a patient that has sensitive fl" + "ag", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 94 +#line 102 this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) @@ -455,25 +461,25 @@ public void RetrieveUncategorisedDataStructuredRecordForAPatientThatHasSensitive else { this.ScenarioStart(); -#line 95 +#line 103 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 96 +#line 104 testRunner.And("I add an NHS Number parameter for \"patient9\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 97 +#line 105 testRunner.And("I add the uncategorised data parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 98 +#line 106 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 99 +#line 107 testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 100 +#line 108 testRunner.And("the response status code should be \"404\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 101 +#line 109 testRunner.And("the response should be a OperationOutcome resource with error code \"PATIENT_NOT_F" + "OUND\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden @@ -490,7 +496,7 @@ public void RetrieveUncategorisedDataStructuredRecordForAPatientThatHasNoUncateg System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve uncategorised data structured record for a patient that has no uncategor" + "ised data", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 103 +#line 111 this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) @@ -500,55 +506,55 @@ public void RetrieveUncategorisedDataStructuredRecordForAPatientThatHasNoUncateg else { this.ScenarioStart(); -#line 104 +#line 112 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 105 +#line 113 testRunner.And("I add an NHS Number parameter for \"patient4\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 106 +#line 114 testRunner.And("I add the uncategorised data parameter", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 107 +#line 115 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 108 +#line 116 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 109 +#line 117 testRunner.And("the response should be a Bundle resource of type \"collection\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 110 +#line 118 testRunner.And("the response meta profile should be for \"structured\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 111 +#line 119 testRunner.And("the patient resource in the bundle should contain meta data profile and version i" + "d", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 112 +#line 120 testRunner.And("if the response bundle contains a practitioner resource it should contain meta da" + "ta profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 113 +#line 121 testRunner.And("if the response bundle contains an organization resource it should contain meta d" + "ata profile and version id", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 114 +#line 122 testRunner.And("the Bundle should be valid for patient \"patient4\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 115 +#line 123 testRunner.And("the Patient Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 116 +#line 124 testRunner.And("the Practitioner Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 117 +#line 125 testRunner.And("the Organization Id should be valid", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 118 +#line 126 testRunner.And("check the response does not contain an operation outcome", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 119 +#line 127 testRunner.And("check structured list contains a note and emptyReason when no data in section", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } @@ -576,7 +582,7 @@ public void RetrieveTheUncategorisedDataStructuredRecordWithInvalidDatesExpected argumentsOfScenario.Add("PartParameter", partParameter); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the uncategorised data structured record with invalid dates expected fai" + "lure", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 121 +#line 129 this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) @@ -586,25 +592,25 @@ public void RetrieveTheUncategorisedDataStructuredRecordWithInvalidDatesExpected else { this.ScenarioStart(); -#line 122 +#line 130 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 123 +#line 131 testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 124 +#line 132 testRunner.And(string.Format("I add the uncategorised data parameter with date permutations \"{0}\" and \"{1}\"", startDate, endDate), ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 125 +#line 133 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 126 +#line 134 testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 127 +#line 135 testRunner.And("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 128 +#line 136 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_PARAM" + "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden @@ -621,7 +627,7 @@ public void RetrieveTheUncategorisedDataStructuredRecordWithUncategorisedDataSea System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the uncategorised data structured record with uncategorisedDataSearchPer" + "iod in future expected failure", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 141 +#line 148 this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) @@ -631,25 +637,25 @@ public void RetrieveTheUncategorisedDataStructuredRecordWithUncategorisedDataSea else { this.ScenarioStart(); -#line 142 +#line 149 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 143 +#line 150 testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 144 +#line 151 testRunner.And("I add the uncategorised data parameter with future start date", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 145 +#line 152 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 146 +#line 153 testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 147 +#line 154 testRunner.And("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 148 +#line 155 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_PARAM" + "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden @@ -666,7 +672,7 @@ public void RetrieveTheUncategorisedDataStructuredRecordWithPeriodDatesEqualToCu System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the uncategorised data structured record with period dates equal to curr" + "ent date expected success and no operation outcome", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 150 +#line 157 this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) @@ -676,22 +682,22 @@ public void RetrieveTheUncategorisedDataStructuredRecordWithPeriodDatesEqualToCu else { this.ScenarioStart(); -#line 151 +#line 158 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 152 +#line 159 testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 153 +#line 160 testRunner.And("I add the uncategorised data parameter with current date", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 154 +#line 161 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 155 +#line 162 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 156 +#line 163 testRunner.And("check the response does not contain an operation outcome", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } @@ -707,7 +713,7 @@ public void RetrieveTheUncategorisedDataStructuredRecordWithValidStartDateAndNoE System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the uncategorised data structured record with valid start date and no en" + "d date expected success and no operation outcome", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 158 +#line 165 this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) @@ -717,22 +723,22 @@ public void RetrieveTheUncategorisedDataStructuredRecordWithValidStartDateAndNoE else { this.ScenarioStart(); -#line 159 +#line 166 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 160 +#line 167 testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 161 +#line 168 testRunner.And("I add the uncategorised data parameter with valid start date and no end date", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 162 +#line 169 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 163 +#line 170 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 164 +#line 171 testRunner.And("check the response does not contain an operation outcome", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } @@ -748,7 +754,7 @@ public void RetrieveTheUncategorisedDataStructuredRecordWithNoStartDateAndNoEndD System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the uncategorised data structured record with no start date and no end d" + "ate expected success and no operation outcome", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 166 +#line 173 this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) @@ -758,22 +764,22 @@ public void RetrieveTheUncategorisedDataStructuredRecordWithNoStartDateAndNoEndD else { this.ScenarioStart(); -#line 167 +#line 174 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 168 +#line 175 testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 169 +#line 176 testRunner.And("I add the uncategorised data parameter with no start date and no end date", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 170 +#line 177 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 171 +#line 178 testRunner.Then("the response status code should indicate success", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 172 +#line 179 testRunner.And("check the response does not contain an operation outcome", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden } @@ -789,7 +795,7 @@ public void RetrieveTheUncategorisedDataStructuredRecordStartDateAfterEndDateExp System.Collections.Specialized.OrderedDictionary argumentsOfScenario = new System.Collections.Specialized.OrderedDictionary(); TechTalk.SpecFlow.ScenarioInfo scenarioInfo = new TechTalk.SpecFlow.ScenarioInfo("Retrieve the uncategorised data structured record startDate after endDate expecte" + "d failure", null, tagsOfScenario, argumentsOfScenario, featureTags); -#line 174 +#line 181 this.ScenarioInitialize(scenarioInfo); #line hidden if ((TagHelper.ContainsIgnoreTag(tagsOfScenario) || TagHelper.ContainsIgnoreTag(featureTags))) @@ -799,25 +805,25 @@ public void RetrieveTheUncategorisedDataStructuredRecordStartDateAfterEndDateExp else { this.ScenarioStart(); -#line 175 +#line 182 testRunner.Given("I configure the default \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Given "); #line hidden -#line 176 +#line 183 testRunner.And("I add an NHS Number parameter for \"patient2\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 177 +#line 184 testRunner.And("I add the uncategorised data parameter start date after endDate", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden -#line 178 +#line 185 testRunner.When("I make the \"GpcGetStructuredRecord\" request", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "When "); #line hidden -#line 179 +#line 186 testRunner.Then("the response status code should indicate failure", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 180 +#line 187 testRunner.Then("the response status code should be \"422\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "Then "); #line hidden -#line 181 +#line 188 testRunner.And("the response should be a OperationOutcome resource with error code \"INVALID_PARAM" + "ETER\"", ((string)(null)), ((TechTalk.SpecFlow.Table)(null)), "And "); #line hidden From 7049934637982efdfce6dc47f98efea571a8fafd Mon Sep 17 00:00:00 2001 From: williamjameswillis Date: Wed, 8 Oct 2025 13:38:45 +0100 Subject: [PATCH 16/18] latest config --- ...PConnect.Provider.AcceptanceTests.dll.config | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/GPConnect.Provider.AcceptanceTests/GPConnect.Provider.AcceptanceTests.dll.config b/GPConnect.Provider.AcceptanceTests/GPConnect.Provider.AcceptanceTests.dll.config index 75772c4f..21868260 100644 --- a/GPConnect.Provider.AcceptanceTests/GPConnect.Provider.AcceptanceTests.dll.config +++ b/GPConnect.Provider.AcceptanceTests/GPConnect.Provider.AcceptanceTests.dll.config @@ -59,7 +59,7 @@ - + @@ -78,6 +78,8 @@ + + @@ -89,6 +91,7 @@ + @@ -100,6 +103,7 @@ + @@ -108,9 +112,10 @@ - - - + + + + @@ -120,8 +125,7 @@ - - + @@ -133,7 +137,6 @@ - From 8781fb149f50ea355564da0bb351846aa03eed3b Mon Sep 17 00:00:00 2001 From: williamjameswillis Date: Thu, 9 Oct 2025 10:20:46 +0100 Subject: [PATCH 17/18] latest config --- ...GPConnect.Provider.AcceptanceTests.dll.config | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/GPConnect.Provider.AcceptanceTests/GPConnect.Provider.AcceptanceTests.dll.config b/GPConnect.Provider.AcceptanceTests/GPConnect.Provider.AcceptanceTests.dll.config index 21868260..c6af0257 100644 --- a/GPConnect.Provider.AcceptanceTests/GPConnect.Provider.AcceptanceTests.dll.config +++ b/GPConnect.Provider.AcceptanceTests/GPConnect.Provider.AcceptanceTests.dll.config @@ -84,14 +84,14 @@ - - - - + + + + + @@ -107,14 +107,14 @@ - + From 8f1ef462d6462d78ac808331c9d92bfd382b1cb0 Mon Sep 17 00:00:00 2001 From: williamjameswillis Date: Mon, 13 Oct 2025 09:28:55 +0100 Subject: [PATCH 18/18] point at orangebox --- ...Connect.Provider.AcceptanceTests.dll.config | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/GPConnect.Provider.AcceptanceTests/GPConnect.Provider.AcceptanceTests.dll.config b/GPConnect.Provider.AcceptanceTests/GPConnect.Provider.AcceptanceTests.dll.config index c6af0257..0d3976ce 100644 --- a/GPConnect.Provider.AcceptanceTests/GPConnect.Provider.AcceptanceTests.dll.config +++ b/GPConnect.Provider.AcceptanceTests/GPConnect.Provider.AcceptanceTests.dll.config @@ -71,27 +71,27 @@ - - - - + + + + + - +