1 | package gov.va.med.edp.pt.demog.model {
|
---|
2 |
|
---|
3 | import gov.va.med.edp.pt.demog.model.TestPatientCheckVO;
|
---|
4 | import gov.va.med.edp.pt.demog.model.PatientCheckVO;
|
---|
5 |
|
---|
6 | import flexunit.framework.TestCase;
|
---|
7 |
|
---|
8 | public class TestPatientChecksModel extends TestCase {
|
---|
9 |
|
---|
10 | private var m:PatientChecksModel = new PatientChecksModel();
|
---|
11 |
|
---|
12 | public override function setUp():void {
|
---|
13 | // this setup simulates patient checks
|
---|
14 | m = new PatientChecksModel();
|
---|
15 | m.checkState = PatientChecksModel.STATE_LOADING; // simulate loading
|
---|
16 |
|
---|
17 | m.patientChecks = new PatientCheckVO();
|
---|
18 | m.patientChecks.dfn = "foobar";
|
---|
19 | }
|
---|
20 |
|
---|
21 | public function testCreate():void {
|
---|
22 | m = new PatientChecksModel();
|
---|
23 | assertEquals(PatientChecksModel.STATE_NONE, m.checkState);
|
---|
24 | assertNull(m.patientChecks);
|
---|
25 | assertFalse(m.patientChecksReady);
|
---|
26 | assertFalse(m.continueEnabled);
|
---|
27 | assertFalse(m.backEnabled);
|
---|
28 | }
|
---|
29 |
|
---|
30 | public function testReset():void {
|
---|
31 | m.reset();
|
---|
32 | assertNull(m.patientChecks);
|
---|
33 | assertFalse(m.patientChecksReady);
|
---|
34 | assertFalse(m.continueEnabled);
|
---|
35 | assertFalse(m.backEnabled);
|
---|
36 | }
|
---|
37 |
|
---|
38 | public function testAlreadyOnBoardCheck():void {
|
---|
39 | m.patientChecks.onBoardText = "FOO,BAR";
|
---|
40 | m.patientChecksReady = true;
|
---|
41 |
|
---|
42 | assertEquals(PatientChecksModel.STATE_LOADED, m.checkState);
|
---|
43 | assertTrue(m.continueEnabled);
|
---|
44 | assertFalse(m.backEnabled);
|
---|
45 |
|
---|
46 | m.forward();
|
---|
47 |
|
---|
48 | assertEquals(PatientChecksModel.STATE_ONBOARD, m.checkState);
|
---|
49 | assertFalse(m.continueEnabled);
|
---|
50 | assertTrue(m.backEnabled);
|
---|
51 |
|
---|
52 | m.back();
|
---|
53 |
|
---|
54 | assertEquals(PatientChecksModel.STATE_LOADED, m.checkState);
|
---|
55 | assertTrue(m.continueEnabled);
|
---|
56 | assertFalse(m.backEnabled);
|
---|
57 | }
|
---|
58 |
|
---|
59 | public function testCycleThroughSimilarNamesSensitiveDeceasedAndFlagsPatientChecks():void {
|
---|
60 | m.patientChecks.similarNames = TestPatientCheckVO.createPtList();
|
---|
61 | m.patientChecks.deceasedText = "This patient died on Jan 24, 2007.\nDo you wish to continue?";
|
---|
62 | m.patientChecks.flags = TestPatientCheckVO.createPtFlags();
|
---|
63 | m.patientChecksReady = true;
|
---|
64 |
|
---|
65 | assertEquals(PatientChecksModel.STATE_LOADED, m.checkState);
|
---|
66 | assertTrue(m.continueEnabled);
|
---|
67 | assertFalse(m.backEnabled);
|
---|
68 |
|
---|
69 | m.forward();
|
---|
70 |
|
---|
71 | assertEquals(PatientChecksModel.STATE_SIMILAR, m.checkState);
|
---|
72 | assertTrue(m.continueEnabled);
|
---|
73 | assertTrue(m.backEnabled);
|
---|
74 |
|
---|
75 | m.forward();
|
---|
76 |
|
---|
77 | assertEquals(PatientChecksModel.STATE_DECEASED, m.checkState);
|
---|
78 | assertTrue(m.continueEnabled);
|
---|
79 | assertTrue(m.backEnabled);
|
---|
80 |
|
---|
81 | m.forward();
|
---|
82 |
|
---|
83 | assertEquals(PatientChecksModel.STATE_FLAGS, m.checkState);
|
---|
84 | assertTrue(m.continueEnabled);
|
---|
85 | assertTrue(m.backEnabled);
|
---|
86 |
|
---|
87 | m.back();
|
---|
88 |
|
---|
89 | assertEquals(PatientChecksModel.STATE_DECEASED, m.checkState);
|
---|
90 | assertTrue(m.continueEnabled);
|
---|
91 | assertTrue(m.backEnabled);
|
---|
92 |
|
---|
93 | m.back();
|
---|
94 |
|
---|
95 | assertEquals(PatientChecksModel.STATE_SIMILAR, m.checkState);
|
---|
96 | assertTrue(m.continueEnabled);
|
---|
97 | assertTrue(m.backEnabled);
|
---|
98 |
|
---|
99 | m.back();
|
---|
100 |
|
---|
101 | assertEquals(PatientChecksModel.STATE_LOADED, m.checkState);
|
---|
102 | assertTrue(m.continueEnabled);
|
---|
103 | assertFalse(m.backEnabled);
|
---|
104 |
|
---|
105 | m.forward();
|
---|
106 | m.forward();
|
---|
107 | m.forward();
|
---|
108 |
|
---|
109 | m.forward();
|
---|
110 |
|
---|
111 | assertEquals(PatientChecksModel.STATE_ALLOW, m.checkState);
|
---|
112 | assertFalse(m.continueEnabled);
|
---|
113 | assertFalse(m.backEnabled);
|
---|
114 | }
|
---|
115 |
|
---|
116 | public function testMayAccessSensitivePatient():void {
|
---|
117 | m.patientChecks.sensitive = true;
|
---|
118 | m.patientChecks.warningText = "unable to access this patient";
|
---|
119 | m.patientChecks.mayAccess = false;
|
---|
120 | m.patientChecksReady = true;
|
---|
121 |
|
---|
122 | assertEquals(PatientChecksModel.STATE_LOADED, m.checkState);
|
---|
123 | assertTrue(m.continueEnabled);
|
---|
124 | assertFalse(m.backEnabled);
|
---|
125 |
|
---|
126 | m.forward();
|
---|
127 |
|
---|
128 | assertEquals(PatientChecksModel.STATE_SENSITIVE, m.checkState);
|
---|
129 | assertFalse(m.continueEnabled);
|
---|
130 | assertTrue(m.backEnabled);
|
---|
131 |
|
---|
132 | m.back();
|
---|
133 |
|
---|
134 | assertEquals(PatientChecksModel.STATE_LOADED, m.checkState);
|
---|
135 | assertTrue(m.continueEnabled);
|
---|
136 | assertFalse(m.backEnabled);
|
---|
137 | }
|
---|
138 | }
|
---|
139 | }
|
---|