11const getPort = require ( 'get-port' ) ;
22const supertest = require ( 'supertest' ) ;
33const HTTP_STATUS = require ( 'http-status-codes' ) ;
4-
54const db = require ( '../../../../app/models' ) ;
5+ const { KB_PIVOT_MAPPING } = require ( '../../../../app/constants' ) ;
66// get test user info
77const CONFIG = require ( '../../../../app/config' ) ;
88const { listen} = require ( '../../../../app' ) ;
99
1010CONFIG . set ( 'env' , 'test' ) ;
1111const { username, password} = CONFIG . get ( 'testing' ) ;
1212
13- const ALTERATION_DATA = {
14- geneVariant : 'TEST GENE VARIANT' ,
15- germline : true ,
16- } ;
17-
18- const ALTERATION_UPDATE_DATA = {
19- geneVariant : 'UPDATED GENE VARIANT' ,
20- germline : false ,
21- } ;
22-
2313const alterationProperties = [
24- 'ident' , 'createdAt' , 'geneVariant' , 'germline' ,
14+ 'ident' , 'createdAt' , 'geneVariant' , 'germline' , 'variantType' ,
2515] ;
2616
2717const checkAlteration = ( alterationObject ) => {
@@ -42,8 +32,23 @@ const checkAlterations = (alterations) => {
4232 } ) ;
4333} ;
4434
35+ const CHECKING_DATA = {
36+ geneVariant : 'TEST GENE VARIANT' ,
37+ variantType : 'cnv' ,
38+ germline : true ,
39+ } ;
40+
41+ const CHECKING_UPDATE_DATA = {
42+ geneVariant : 'UPDATED GENE VARIANT' ,
43+ variantType : 'cnv' ,
44+ germline : false ,
45+ } ;
46+
4547let server ;
4648let request ;
49+ let variant ;
50+ let ALTERATION_DATA ;
51+ let ALTERATION_UPDATE_DATA ;
4752
4853// Start API
4954beforeAll ( async ( ) => {
@@ -63,6 +68,23 @@ describe('/reports/{report}/summary/genomic-alterations-identified', () => {
6368 templateId : template . id ,
6469 patientId : 'PROBE_TEST_PATIENT' ,
6570 } ) ;
71+
72+ // Find a random variant for testing
73+ const modelName = KB_PIVOT_MAPPING . cnv ;
74+ variant = await db . models [ modelName ] . findOne ( ) ;
75+ ALTERATION_DATA = {
76+ geneVariant : 'TEST GENE VARIANT' ,
77+ variantType : 'cnv' ,
78+ variantIdent : variant . ident ,
79+ germline : true ,
80+ } ;
81+
82+ ALTERATION_UPDATE_DATA = {
83+ geneVariant : 'UPDATED GENE VARIANT' ,
84+ variantType : 'cnv' ,
85+ variantIdent : variant . ident ,
86+ germline : false ,
87+ } ;
6688 } ) ;
6789
6890 afterAll ( async ( ) => {
@@ -130,7 +152,7 @@ describe('/reports/{report}/summary/genomic-alterations-identified', () => {
130152 . expect ( HTTP_STATUS . CREATED ) ;
131153
132154 checkAlteration ( res . body ) ;
133- expect ( res . body ) . toEqual ( expect . objectContaining ( ALTERATION_DATA ) ) ;
155+ expect ( res . body ) . toEqual ( expect . objectContaining ( CHECKING_DATA ) ) ;
134156
135157 // Check that record was created in the db
136158 const result = await db . models . genomicAlterationsIdentified . findOne ( {
@@ -142,18 +164,6 @@ describe('/reports/{report}/summary/genomic-alterations-identified', () => {
142164 await result . destroy ( { force : true } ) ;
143165 } ) ;
144166
145- test ( '/ - 400 Bad Request - Additional Property' , async ( ) => {
146- await request
147- . post ( `/api/reports/${ report . ident } /summary/genomic-alterations-identified` )
148- . send ( {
149- ...ALTERATION_UPDATE_DATA ,
150- additionalProperty : 'ADDITIONAL_PROPERTY' ,
151- } )
152- . auth ( username , password )
153- . type ( 'json' )
154- . expect ( HTTP_STATUS . BAD_REQUEST ) ;
155- } ) ;
156-
157167 test ( '/ - 400 Bad Request - Incorrect field type' , async ( ) => {
158168 await request
159169 . post ( `/api/reports/${ report . ident } /summary/genomic-alterations-identified` )
@@ -201,19 +211,7 @@ describe('/reports/{report}/summary/genomic-alterations-identified', () => {
201211
202212 expect ( res . body ) . not . toBeNull ( ) ;
203213 checkAlteration ( res . body ) ;
204- expect ( res . body ) . toEqual ( expect . objectContaining ( ALTERATION_UPDATE_DATA ) ) ;
205- } ) ;
206-
207- test ( '/{alteration} - 400 Bad Request - Additional Property' , async ( ) => {
208- await request
209- . put ( `/api/reports/${ report . ident } /summary/genomic-alterations-identified/${ putAlteration . ident } ` )
210- . send ( {
211- ...ALTERATION_UPDATE_DATA ,
212- additionalProperty : 'ADDITIONAL_PROPERTY' ,
213- } )
214- . auth ( username , password )
215- . type ( 'json' )
216- . expect ( HTTP_STATUS . BAD_REQUEST ) ;
214+ expect ( res . body ) . toEqual ( expect . objectContaining ( CHECKING_UPDATE_DATA ) ) ;
217215 } ) ;
218216
219217 test ( '/{alteration} - 400 Bad Request - Incorrect field type' , async ( ) => {
0 commit comments