@@ -15,6 +15,28 @@ const MOCK_CONTEXT = {
15
15
} ,
16
16
] ,
17
17
} ;
18
+ const researchStudyResource = {
19
+ resourceType : 'ResearchStudy' ,
20
+ id : 'ResearchStudyExample01' ,
21
+ } ;
22
+ const MOCK_CONTEXT_WITH_RESEARCH_STUDY = {
23
+ resourceType : 'Bundle' ,
24
+ type : 'collection' ,
25
+ entry : [
26
+ {
27
+ fullUrl : 'context-url-1' ,
28
+ resource : { resourceType : 'Patient' , id : MOCK_MRN } ,
29
+ } ,
30
+ {
31
+ fullUrl : 'context-url-2' ,
32
+ resource : researchStudyResource ,
33
+ } ,
34
+ {
35
+ fullUrl : 'context-url-3' ,
36
+ resource : { ...researchStudyResource , id : 'ResearchStudyExample02' } ,
37
+ } ,
38
+ ] ,
39
+ } ;
18
40
19
41
// Construct extractor and create spies for mocking responses
20
42
const extractor = new FHIRAdverseEventExtractor ( { baseFhirUrl : MOCK_URL , requestHeaders : MOCK_HEADERS } ) ;
@@ -40,6 +62,12 @@ describe('FHIRAdverseEventExtractor', () => {
40
62
expect ( params ) . not . toHaveProperty ( 'study' ) ;
41
63
} ) ;
42
64
65
+ test ( 'should add study id for all ResearchStudy resources that are in context' , async ( ) => {
66
+ const params = await extractor . parametrizeArgsForFHIRModule ( { context : MOCK_CONTEXT_WITH_RESEARCH_STUDY } ) ;
67
+ expect ( params ) . toHaveProperty ( 'study' ) ;
68
+ expect ( params . study ) . toEqual ( `${ researchStudyResource . id } ,ResearchStudyExample02` ) ;
69
+ } ) ;
70
+
43
71
describe ( 'pass in optional study parameter' , ( ) => {
44
72
test ( 'should add study when set to param values' , async ( ) => {
45
73
const params = await extractorWithStudy . parametrizeArgsForFHIRModule ( { context : MOCK_CONTEXT } ) ;
@@ -51,6 +79,12 @@ describe('FHIRAdverseEventExtractor', () => {
51
79
const params = await extractorWithStudy . parametrizeArgsForFHIRModule ( { context : MOCK_CONTEXT } ) ;
52
80
expect ( params ) . not . toHaveProperty ( 'patient' ) ;
53
81
} ) ;
82
+
83
+ test ( 'should add study from study parameter and from context' , async ( ) => {
84
+ const params = await extractorWithStudy . parametrizeArgsForFHIRModule ( { context : MOCK_CONTEXT_WITH_RESEARCH_STUDY } ) ;
85
+ expect ( params ) . toHaveProperty ( 'study' ) ;
86
+ expect ( params . study ) . toEqual ( `${ extractorWithStudy . study } ,${ researchStudyResource . id } ,ResearchStudyExample02` ) ;
87
+ } ) ;
54
88
} ) ;
55
89
} ) ;
56
90
} ) ;
0 commit comments