1
1
const path = require ( 'path' ) ;
2
2
const _ = require ( 'lodash' ) ;
3
3
const { CSVCancerDiseaseStatusExtractor } = require ( '../../src/extractors' ) ;
4
+ const { getPatientFromContext } = require ( '../../src/helpers/contextUtils' ) ;
4
5
const exampleCSVDiseaseStatusModuleResponse = require ( './fixtures/csv-cancer-disease-status-module-response.json' ) ;
5
6
const exampleCSVDiseaseStatusBundle = require ( './fixtures/csv-cancer-disease-status-bundle.json' ) ;
7
+ const MOCK_CONTEXT = require ( './fixtures/context-with-patient.json' ) ;
6
8
7
9
// Constants for tests
8
10
const MOCK_PATIENT_MRN = 'pat-mrn-1' ; // linked to values in example-module-response above
@@ -25,7 +27,7 @@ const csvModuleSpy = jest.spyOn(csvModule, 'get');
25
27
describe ( 'CSVCancerDiseaseStatusExtractor' , ( ) => {
26
28
describe ( 'joinAndReformatData' , ( ) => {
27
29
test ( 'should join data appropriately and throw errors when missing required properties' , ( ) => {
28
- const expectedErrorString = 'DiseaseStatusData missing an expected property: mrn, conditionId, diseaseStatusCode, and dateOfObservation are required.' ;
30
+ const expectedErrorString = 'DiseaseStatusData missing an expected property: conditionId, diseaseStatusCode, and dateOfObservation are required.' ;
29
31
const localData = _ . cloneDeep ( exampleCSVDiseaseStatusModuleResponse ) ;
30
32
// Test that valid data works fine
31
33
expect ( csvCancerDiseaseStatusExtractor . joinAndReformatData ( exampleCSVDiseaseStatusModuleResponse ) ) . toEqual ( expect . anything ( ) ) ;
@@ -36,7 +38,7 @@ describe('CSVCancerDiseaseStatusExtractor', () => {
36
38
// Only including required properties is valid
37
39
expect ( csvCancerDiseaseStatusExtractor . joinAndReformatData ( localData ) ) . toEqual ( expect . anything ( ) ) ;
38
40
39
- const requiredProperties = [ 'mrn' , ' conditionId', 'diseaseStatusCode' , 'dateOfObservation' ] ;
41
+ const requiredProperties = [ 'conditionId' , 'diseaseStatusCode' , 'dateOfObservation' ] ;
40
42
41
43
// Removing each required property should throw an error
42
44
requiredProperties . forEach ( ( key ) => {
@@ -50,7 +52,7 @@ describe('CSVCancerDiseaseStatusExtractor', () => {
50
52
describe ( 'get' , ( ) => {
51
53
test ( 'should return bundle with Observation' , async ( ) => {
52
54
csvModuleSpy . mockReturnValue ( exampleCSVDiseaseStatusModuleResponse ) ;
53
- const data = await csvCancerDiseaseStatusExtractor . get ( { mrn : MOCK_PATIENT_MRN } ) ;
55
+ const data = await csvCancerDiseaseStatusExtractor . get ( { mrn : MOCK_PATIENT_MRN , context : MOCK_CONTEXT } ) ;
54
56
expect ( data . resourceType ) . toEqual ( 'Bundle' ) ;
55
57
expect ( data . type ) . toEqual ( 'collection' ) ;
56
58
expect ( data . entry ) . toBeDefined ( ) ;
@@ -60,7 +62,7 @@ describe('CSVCancerDiseaseStatusExtractor', () => {
60
62
61
63
test ( 'should return empty bundle when no data available from module' , async ( ) => {
62
64
csvModuleSpy . mockReturnValue ( [ ] ) ;
63
- const data = await csvCancerDiseaseStatusExtractor . get ( { mrn : MOCK_PATIENT_MRN } ) ;
65
+ const data = await csvCancerDiseaseStatusExtractor . get ( { mrn : MOCK_PATIENT_MRN , context : MOCK_CONTEXT } ) ;
64
66
expect ( data . resourceType ) . toEqual ( 'Bundle' ) ;
65
67
expect ( data . type ) . toEqual ( 'collection' ) ;
66
68
expect ( data . entry ) . toBeDefined ( ) ;
0 commit comments