source: Scheduling/trunk/m/BSDXUT2.m@ 1466

Last change on this file since 1466 was 1466, checked in by Sam Habiel, 12 years ago

Refactoring BSDX25 continued...

File size: 6.1 KB
Line 
1BSDXUT2 ; VEN/SMH - Unit Tests for Scheduling GUI - cont. ; 7/3/12 12:03pm
2 ;;1.7T1;BSDX;;Aug 31, 2011;Build 18
3 ;
4EN ; Run all unit tests in this routine
5 D UT25
6 QUIT
7 ;
8UT25 ; Unit Tests for BSDX25
9 ; Make appointment, checkin, then uncheckin
10 N $ET S $ET="W ""An Error Occured. Breaking."",! BREAK"
11 N RESNAM S RESNAM="UTCLINIC"
12 N HLRESIENS ; holds output of UTCR^BSDXUT - HL IEN^Resource IEN
13 D
14 . N $ET S $ET="D ^%ZTER B"
15 . S HLRESIENS=$$UTCR^BSDXUT(RESNAM)
16 . I HLRESIENS<0 S $EC=",U1," ; not supposed to happen - hard crash if so
17 ;
18 N HLIEN,RESIEN
19 S HLIEN=$P(HLRESIENS,U)
20 S RESIEN=$P(HLRESIENS,U,2)
21 ;
22 ; Get start and end times
23 N TIMES S TIMES=$$TIMES^BSDXUT ; appt time^end time
24 N APPTTIME S APPTTIME=$P(TIMES,U)
25 N ENDTIME S ENDTIME=$P(TIMES,U,2)
26 ;
27 ; Test 1: Make normal appointment and cancel it. See if every thing works
28 N ZZZ,DFN
29 S DFN=5
30 N ZZZ
31 D APPADD^BSDX07(.ZZZ,APPTTIME,ENDTIME,DFN,RESNAM,30,"Sam's Note",1)
32 N APPTID S APPTID=+^BSDXTMP($J,1)
33 N HL S HL=$$GET1^DIQ(9002018.4,APPTID,".07:.04","I")
34 D CHECKIN^BSDX25(.ZZZ,APPTID,$$NOW^XLFDT())
35 IF '$P(^BSDXAPPT(APPTID,0),U,3) WRITE "ERROR IN CHECKIN 1",!
36 IF '+$G(^SC(HL,"S",APPTTIME,1,1,"C")) WRITE "ERROR IN CHECKIN 2",!
37 D RMCI^BSDX25(.ZZZ,APPTID)
38 IF $P(^BSDXAPPT(APPTID,0),U,3) WRITE "ERROR IN UNCHECKIN 1",!
39 IF $G(^SC(HL,"S",APPTTIME,1,1,"C")) WRITE "ERROR IN UNCHECKIN 2",!
40 D RMCI^BSDX25(.ZZZ,APPTID) ; again, test sanity in repeat
41 IF $P(^BSDXAPPT(APPTID,0),U,3) WRITE "ERROR IN UNCHECKIN 1",!
42 IF $G(^SC(HL,"S",APPTTIME,1,1,"C")) WRITE "ERROR IN UNCHECKIN 2",!
43 ; now test various error conditions
44 ; Test Error 1
45 D RMCI^BSDX25(.ZZZ,)
46 IF +^BSDXTMP($J,1)'=-1 WRITE "ERROR IN ETest 1",!
47 ; Test Error 2
48 D RMCI^BSDX25(.ZZZ,234987234398)
49 IF +^BSDXTMP($J,1)'=-2 WRITE "ERROR IN Etest 2",!
50 ; Tests for 3 to 5 difficult to produce
51 ; Error tests follow: Mumps error test;
52 ; Error in RMCI
53 N BSDXDIE S BSDXDIE=1
54 D RMCI^BSDX25(.ZZZ,APPTID)
55 IF +^BSDXTMP($J,1)'=-100 WRITE "ERROR IN Etest 3",!
56 K BSDXDIE
57 ; M Error in CHECKIN
58 N BSDXDIE S BSDXDIE=1
59 D CHECKIN^BSDX25(.ZZZ,APPTID,$$NOW^XLFDT())
60 IF +^BSDXTMP($J,1)'=-100 WRITE "ERROR IN Etest 8",!
61 K BSDXDIE
62 ; M Error in $$CHECKIN^BSDXAPI
63 N BSDXDIE2 S BSDXDIE2=1
64 D CHECKIN^BSDX25(.ZZZ,APPTID,$$NOW^XLFDT())
65 IF +^BSDXTMP($J,1)'=-100 WRITE "ERROR IN Etest 9",!
66 K BSDXDIE2
67 ;
68 ; Get start and end times
69 N TIMES S TIMES=$$TIMES^BSDXUT ; appt time^end time
70 N APPTTIME S APPTTIME=$P(TIMES,U)
71 N ENDTIME S ENDTIME=$P(TIMES,U,2)
72 ;
73 N ZZZ,DFN
74 S DFN=5
75 N ZZZ
76 D APPADD^BSDX07(.ZZZ,APPTTIME,ENDTIME,DFN,RESNAM,30,"Sam's Note",1)
77 N APPTID S APPTID=+^BSDXTMP($J,1)
78 N HL S HL=$$GET1^DIQ(9002018.4,APPTID,".07:.04","I")
79 ;
80 ; Simulated Error in $$BSDXCHK^BSDX25
81 N BSDXSIMERR1 S BSDXSIMERR1=1
82 D CHECKIN^BSDX25(.ZZZ,APPTID,$$NOW^XLFDT())
83 IF +^BSDXTMP($J,1)'=-3 WRITE "ERROR in Etest 10",!
84 IF $P(^BSDXAPPT(APPTID,0),U,3) WRITE "ERROR IN CHECKIN 111",!
85 IF +$G(^SC(HL,"S",APPTTIME,1,1,"C")) WRITE "ERROR IN CHECKIN 112",!
86 K BSDXSIMERR1
87 ;
88 ; Simulated Error in $$CHECKICK^BSDXAPI
89 N BSDXSIMERR2 S BSDXSIMERR2=1
90 D CHECKIN^BSDX25(.ZZZ,APPTID,$$NOW^XLFDT())
91 IF +^BSDXTMP($J,1)'=-10 WRITE "ERROR in Etest 11",!
92 IF $P(^BSDXAPPT(APPTID,0),U,3) WRITE "ERROR IN CHECKIN 113",!
93 IF +$G(^SC(HL,"S",APPTTIME,1,1,"C")) WRITE "ERROR IN CHECKIN 114",!
94 K BSDXSIMERR2
95 ;
96 ; Simulated Error in $$CHECKIN^BSDXAPI
97 N BSDXSIMERR3 S BSDXSIMERR3=1
98 D CHECKIN^BSDX25(.ZZZ,APPTID,$$NOW^XLFDT())
99 IF +^BSDXTMP($J,1)'=-10 WRITE "ERROR in Etest 11",!
100 IF $P(^BSDXAPPT(APPTID,0),U,3) WRITE "ERROR IN CHECKIN 115",!
101 IF +$G(^SC(HL,"S",APPTTIME,1,1,"C")) WRITE "ERROR IN CHECKIN 116",!
102 K BSDXSIMERR3
103 ;
104 ; Unlinked Clinic Tests
105 N RESNAM S RESNAM="UTCLINICUL" ; Unlinked Clinic
106 N RESIEN
107 D
108 . N $ET S $ET="D ^%ZTER B"
109 . S RESIEN=$$UTCRRES^BSDXUT(RESNAM)
110 . I RESIEN<0 S $EC=",U1," ; not supposed to happen - hard crash if so
111 ;
112 ; Get start and end times
113 N TIMES S TIMES=$$TIMES^BSDXUT ; appt time^end time
114 N APPTTIME S APPTTIME=$P(TIMES,U)
115 N ENDTIME S ENDTIME=$P(TIMES,U,2)
116 ;
117 N ZZZ,DFN
118 S DFN=4
119 N ZZZ
120 D APPADD^BSDX07(.ZZZ,APPTTIME,ENDTIME,DFN,RESNAM,30,"Sam's Note",1)
121 N APPTID S APPTID=+^BSDXTMP($J,1)
122 N HL S HL=$$GET1^DIQ(9002018.4,APPTID,".07:.04","I")
123 I HL'="" W "Error. Hospital Location Exists",!
124 ;
125 D CHECKIN^BSDX25(.ZZZ,APPTID,$$NOW^XLFDT())
126 IF '$P(^BSDXAPPT(APPTID,0),U,3) WRITE "ERROR IN CHECKIN 3",!
127 ;test
128 D RMCI^BSDX25(.ZZZ,APPTID)
129 IF $P(^BSDXAPPT(APPTID,0),U,3) WRITE "ERROR IN UNCHECKIN 3",!
130 D RMCI^BSDX25(.ZZZ,APPTID) ; again, test sanity in repeat
131 IF $P(^BSDXAPPT(APPTID,0),U,3) WRITE "ERROR IN UNCHECKIN 3",!
132 ; now test various error conditions
133 ; Test Error 1
134 D RMCI^BSDX25(.ZZZ,)
135 IF +^BSDXTMP($J,1)'=-1 WRITE "ERROR IN ETest 5",!
136 ; Test Error 2
137 D RMCI^BSDX25(.ZZZ,234987234398)
138 IF +^BSDXTMP($J,1)'=-2 WRITE "ERROR IN Etest 6",!
139 ; Tests for 3 to 5 difficult to produce
140 ; Error tests follow: Mumps error test; Transaction restartability
141 N BSDXDIE S BSDXDIE=1
142 D RMCI^BSDX25(.ZZZ,APPTID)
143 IF +^BSDXTMP($J,1)'=-100 WRITE "ERROR IN Etest 7",!
144 K BSDXDIE
145 ;
146 ; Tests for running PIMS by itself.
147 N APPTTIME S APPTTIME=$$TIMEHL^BSDXUT(HLIEN) ; appt time
148 N DFN S DFN=2
149 N % S %=$$MAKE1^BSDXAPI(DFN,HLIEN,3,APPTTIME,15,"Sam Test Appt"_DFN)
150 I % W "Error in $$MAKE1^BSDXAPI for TIME "_APPTTIME_" for DFN "_DFN,!,%,!
151 I '$D(^BSDXAPPT("APAT",DFN,APPTTIME)) W "No BSDX Appointment Created",!
152 ;TODO: Index doesn't include resource.
153 N APPTID S APPTID=$O(^(APPTTIME,""))
154 I 'APPTID W "Can't get appointment",!
155 IF $P(^BSDXAPPT(APPTID,0),U,3) WRITE "ERROR IN CHECKIN 3",!
156 N % S %=$$CHECKIN1^BSDXAPI(DFN,HLIEN,APPTTIME) ; Checkin via PIMS
157 I % W "Error in Checking in via BSDXAPI",!
158 IF '+$G(^SC(HLIEN,"S",APPTTIME,1,1,"C")) WRITE "ERROR IN CHECKIN 10",!
159 IF '$P(^BSDXAPPT(APPTID,0),U,3) WRITE "ERROR IN CHECKIN 11",!
160 N % S %=$$RMCI^BSDXAPI1(DFN,HLIEN,APPTTIME)
161 I % W "Error removing Check-in via PIMS",!
162 I +$G(^SC(HLIEN,"S",APPTTIME,1,1,"C")) WRITE "ERROR IN UNCHECKIN 12",!
163 IF $P(^BSDXAPPT(APPTID,0),U,3) WRITE "ERROR IN CHECKIN 13",!
164 N % S %=$$CHECKIN1^BSDXAPI(DFN,HLIEN,APPTTIME) ; Checkin via PIMS again
165 I % W "Error in Checking in via BSDXAPI",!
166 IF '+$G(^SC(HLIEN,"S",APPTTIME,1,1,"C")) WRITE "ERROR IN CHECKIN 14",!
167 IF '$P(^BSDXAPPT(APPTID,0),U,3) WRITE "ERROR IN CHECKIN 15",!
168 QUIT
Note: See TracBrowser for help on using the repository browser.