@@ -8,21 +8,80 @@ import { ApiContextProvider, ServiceConfig } from "../../../api/ServiceContext";
8
8
import MeasureInformation from "./measureInformation/MeasureInformation" ;
9
9
import MeasureMetadata from "./measureMetadata/MeasureMetadata" ;
10
10
import { Measure } from "@madie/madie-models" ;
11
+ // @ts -ignore
12
+ import { measureStore } from "@madie/madie-util" ;
11
13
12
- const testMeasure = {
14
+ const measure = {
13
15
id : "1" ,
14
- measureName : "testMeasure " ,
16
+ measureName : "measure " ,
15
17
cqlLibraryName : "TestLibrary" ,
16
- model : "QI-Core v4.1.1 " ,
18
+ model : "QDM v5.6 " ,
17
19
ecqmTitle : "ecqmTitle" ,
18
20
measurementPeriodStart : "01/01/2022" ,
19
21
measurementPeriodEnd : "12/02/2022" ,
20
22
measureMetaData : {
21
- steward : { name : "steward" } ,
22
- description : "Test Description" ,
23
- copyright : null ,
24
- disclaimer : null ,
25
- rationale : null ,
23
+ steward : {
24
+ id : "id" ,
25
+ name : "name" ,
26
+ oid : "oid" ,
27
+ url : "url" ,
28
+ } ,
29
+ developers : [
30
+ {
31
+ id : "id" ,
32
+ name : "name" ,
33
+ oid : "oid" ,
34
+ url : "url" ,
35
+ } ,
36
+ ] ,
37
+ description : "description" ,
38
+ copyright : "copyright" ,
39
+ disclaimer : "disclaimer" ,
40
+ rationale : "rationale" ,
41
+ guidance : "guidance" ,
42
+ clinicalRecommendation : "clinicalRecommendation" ,
43
+ draft : true ,
44
+ references : [
45
+ {
46
+ id : "id" ,
47
+ referenceText : "referenceText" ,
48
+ referenceType : "referenceType" ,
49
+ } ,
50
+ ] ,
51
+ endorsements : [
52
+ {
53
+ endorser : "" ,
54
+ endorserSystemId : null ,
55
+ endorsementId : "" ,
56
+ } ,
57
+ ] ,
58
+ definition : "definition" ,
59
+ experimental : null ,
60
+ transmissionFormat : "transmissionFormat" ,
61
+ measureSetTitle : "measureSetTitle" ,
62
+ cqlMetaData : {
63
+ codeSystemMap : { } ,
64
+ } ,
65
+ } ,
66
+ } as unknown as Measure ;
67
+
68
+ const incompletedIconMeasure = {
69
+ id : "2" ,
70
+ model : "QDM v5.6" ,
71
+ measureMetaData : {
72
+ draft : true ,
73
+ references : [ ] ,
74
+ endorsements : [
75
+ {
76
+ endorser : "" ,
77
+ endorserSystemId : null ,
78
+ endorsementId : "" ,
79
+ } ,
80
+ ] ,
81
+ experimental : null ,
82
+ cqlMetaData : {
83
+ codeSystemMap : { } ,
84
+ } ,
26
85
} ,
27
86
} as unknown as Measure ;
28
87
@@ -32,8 +91,8 @@ jest.mock("@madie/madie-util", () => ({
32
91
useDocumentTitle : jest . fn ( ) ,
33
92
measureStore : {
34
93
updateMeasure : ( measure ) => measure ,
35
- state : jest . fn ( ) . mockImplementation ( ( ) => testMeasure ) ,
36
- initialState : jest . fn ( ) . mockImplementation ( ( ) => testMeasure ) ,
94
+ state : jest . fn ( ) . mockImplementation ( ( ) => measure ) ,
95
+ initialState : jest . fn ( ) . mockImplementation ( ( ) => measure ) ,
37
96
subscribe : ( set ) => {
38
97
return { unsubscribe : ( ) => null } ;
39
98
} ,
@@ -385,4 +444,102 @@ describe("MeasureDetails component", () => {
385
444
expect ( getByTestId ( "leftPanelMeasureInformation" ) ) . toBeInTheDocument ( ) ;
386
445
expect ( getByTestId ( "leftPanelMeasureSet" ) ) . toBeInTheDocument ( ) ;
387
446
} ) ;
447
+
448
+ it ( "should render the tabs in the measure details side nav with completed icons" , ( ) => {
449
+ render (
450
+ < ApiContextProvider value = { serviceConfig } >
451
+ < MemoryRouter initialEntries = { [ { pathname : "/foo" } ] } >
452
+ < Routes >
453
+ < Route
454
+ path = "/foo"
455
+ element = {
456
+ < MeasureDetails
457
+ setErrorMessage = { setErrorMessage }
458
+ isQDM = { true }
459
+ />
460
+ }
461
+ />
462
+ </ Routes >
463
+ </ MemoryRouter >
464
+ </ ApiContextProvider >
465
+ ) ;
466
+
467
+ expect (
468
+ getByTestId ( "measure-details-completed-icon-sideNavMeasureInformation" )
469
+ ) . toBeInTheDocument ( ) ;
470
+ expect (
471
+ getByTestId (
472
+ "measure-details-completed-icon-sideNavMeasureModelAndMeasurementPeriod"
473
+ )
474
+ ) . toBeInTheDocument ( ) ;
475
+ expect (
476
+ getByTestId ( "measure-details-completed-icon-sideNavMeasureSteward" )
477
+ ) . toBeInTheDocument ( ) ;
478
+ expect (
479
+ getByTestId ( "measure-details-completed-icon-sideNavMeasureDescription" )
480
+ ) . toBeInTheDocument ( ) ;
481
+ expect (
482
+ getByTestId ( "measure-details-completed-icon-sideNavMeasureRationale" )
483
+ ) . toBeInTheDocument ( ) ;
484
+ expect (
485
+ getByTestId ( "measure-details-completed-icon-sideNavMeasureGuidance" )
486
+ ) . toBeInTheDocument ( ) ;
487
+ expect (
488
+ getByTestId ( "measure-details-completed-icon-sideNavQDMMeasureDefinition" )
489
+ ) . toBeInTheDocument ( ) ;
490
+ expect (
491
+ getByTestId (
492
+ "measure-details-completed-icon-sideNavMeasureClinicalRecommendation"
493
+ )
494
+ ) . toBeInTheDocument ( ) ;
495
+ expect (
496
+ getByTestId ( "measure-details-completed-icon-sideNavMeasureReferences" )
497
+ ) . toBeInTheDocument ( ) ;
498
+ expect (
499
+ getByTestId ( "measure-details-completed-icon-sideNavMeasureSet" )
500
+ ) . toBeInTheDocument ( ) ;
501
+ expect (
502
+ getByTestId ( "measure-details-completed-icon-sideNavMeasureCopyright" )
503
+ ) . toBeInTheDocument ( ) ;
504
+ expect (
505
+ getByTestId ( "measure-details-completed-icon-sideNavMeasureDisclaimer" )
506
+ ) . toBeInTheDocument ( ) ;
507
+ } ) ;
508
+
509
+ it ( "should render the tabs in the measure details side nav with incompleted icons" , ( ) => {
510
+ measureStore . state . mockImplementationOnce ( ( ) => incompletedIconMeasure ) ;
511
+
512
+ render (
513
+ < ApiContextProvider value = { serviceConfig } >
514
+ < MemoryRouter initialEntries = { [ { pathname : "/foo" } ] } >
515
+ < Routes >
516
+ < Route
517
+ path = "/foo"
518
+ element = {
519
+ < MeasureDetails
520
+ setErrorMessage = { setErrorMessage }
521
+ isQDM = { true }
522
+ />
523
+ }
524
+ />
525
+ </ Routes >
526
+ </ MemoryRouter >
527
+ </ ApiContextProvider >
528
+ ) ;
529
+
530
+ expect (
531
+ getByTestId ( "measure-details-incompleted-icon-sideNavMeasureInformation" )
532
+ ) . toBeInTheDocument ( ) ;
533
+ expect (
534
+ getByTestId (
535
+ "measure-details-incompleted-icon-sideNavMeasureModelAndMeasurementPeriod"
536
+ )
537
+ ) . toBeInTheDocument ( ) ;
538
+ expect (
539
+ getByTestId ( "measure-details-incompleted-icon-sideNavMeasureSteward" )
540
+ ) . toBeInTheDocument ( ) ;
541
+ expect (
542
+ getByTestId ( "measure-details-incompleted-icon-sideNavMeasureReferences" )
543
+ ) . toBeInTheDocument ( ) ;
544
+ } ) ;
388
545
} ) ;
0 commit comments