public void GiveTheRequestEntryGetter_WhenInvoked_ThenCorrectValueShouldBeReturned()
        {
            FhirTransactionRequestEntry requestEntry = FhirTransactionRequestEntryGenerator.GenerateDefaultCreateRequestEntry <Patient>();

            _fhirTransactionRequest.Patient = requestEntry;

            Assert.Same(
                requestEntry,
                _patientPropertyAccessor.RequestEntryGetter(_fhirTransactionRequest));
        }
        public static FhirTransactionContext DefaultFhirTransactionContext(DicomDataset metadata = null)
        {
            var context = new FhirTransactionContext(ChangeFeedGenerator.Generate(metadata: metadata ?? CreateDicomDataset()))
            {
                UtcDateTimeOffset = TimeSpan.Zero,
            };

            context.Request.Patient      = FhirTransactionRequestEntryGenerator.GenerateDefaultCreateRequestEntry <Patient>();
            context.Request.ImagingStudy = FhirTransactionRequestEntryGenerator.GenerateDefaultCreateRequestEntry <ImagingStudy>();
            context.Request.Endpoint     = FhirTransactionRequestEntryGenerator.GenerateDefaultCreateRequestEntry <Endpoint>();

            return(context);
        }
        public void GivenARequestToCreateAPatient_WhenResponseIsOK_ThenResourceConflictExceptionShouldBeThrown()
        {
            var response = new Bundle.ResponseComponent();

            response.AddAnnotation(HttpStatusCode.OK);

            var context = new FhirTransactionContext(ChangeFeedGenerator.Generate());

            context.Request.Patient = FhirTransactionRequestEntryGenerator.GenerateDefaultCreateRequestEntry <Patient>();

            context.Response.Patient = new FhirTransactionResponseEntry(response, new Patient());

            Assert.Throws <ResourceConflictException>(() => _patientPipeline.ProcessResponse(context));
        }