Ignore:
Timestamp:
Jun 28, 2012, 6:54:30 PM (12 years ago)
Author:
Sam Habiel
Message:

Moved some unit tests around; Unit tests for BSDX25; minor refactoring for BSDX25

File:
1 edited

Legend:

Unmodified
Added
Removed
  • Scheduling/trunk/m/BSDXUT1.m

    r1462 r1463  
    1 BSDXUT1 ; VEN/SMH - Unit Tests for Scheduling GUI - cont. ; 6/27/12 4:59pm
     1BSDXUT1 ; VEN/SMH - Unit Tests for Scheduling GUI - cont. ; 6/28/12 10:17am
    22        ;;1.7T1;BSDX;;Aug 31, 2011;Build 18
    33        ;
     4        ;
     5UT08    ; Unit Tests for BSDX08; Must have patients 1,2,3,4,5 defined in system
     6        N RESNAM S RESNAM="UTCLINIC"
     7        N HLRESIENS ; holds output of UTCR^BSDXUT - HL IEN^Resource IEN
     8        D
     9        . N $ET S $ET="D ^%ZTER B"
     10        . S HLRESIENS=$$UTCR^BSDXUT(RESNAM)
     11        . I HLRESIENS<0 S $EC=",U1," ; not supposed to happen - hard crash if so
     12        ;
     13        N HLIEN,RESIEN
     14        S HLIEN=$P(HLRESIENS,U)
     15        S RESIEN=$P(HLRESIENS,U,2)
     16        ;
     17        ; Get start and end times
     18        N TIMES S TIMES=$$TIMES^BSDXUT ; appt time^end time
     19        N APPTTIME S APPTTIME=$P(TIMES,U)
     20        N ENDTIME S ENDTIME=$P(TIMES,U,2)
     21        ;
     22        ; Test 1: Make normal appointment and cancel it. See if every thing works
     23        N ZZZ,DFN
     24        S DFN=3
     25        D APPADD^BSDX07(.ZZZ,APPTTIME,ENDTIME,DFN,RESNAM,30,"Sam's Note",1)
     26        S APPID=+$P(^BSDXTMP($J,1),U)
     27        D APPDEL^BSDX08(.ZZZ,APPID,"PC",1,"Sam's Cancel Note")
     28        I $P(^BSDXAPPT(APPID,0),U,12)'>0 W "Error in Cancellation-1",!
     29        I $O(^SC(HLIEN,"S",APPTTIME,1,0))]"" W "Error in Cancellation-2",!
     30        I $P(^DPT(DFN,"S",APPTTIME,0),U,2)'="PC" W "Error in Cancellation-3",!
     31        I ^DPT(DFN,"S",APPTTIME,"R")'="Sam's Cancel Note" W "Error in Cancellation-4",!
     32        ;
     33        ; Test 2: Check for -1 -- TODO: Fix later... Can't do right now automatically
     34        ; Make appt
     35        D APPADD^BSDX07(.ZZZ,APPTTIME,ENDTIME,DFN,RESNAM,30,"Sam's Note",1)
     36        ; Lock the node in another job
     37        S APPID=+$P(^BSDXTMP($J,1),U)
     38        ; W "Lock ^BSDXAPPT("_APPID_") in another session. You have 10 seconds." H 10
     39        D APPDEL^BSDX08(.ZZZ,APPID,"PC",1,"Sam's Cancel Note")
     40        ;
     41        ; Test 3: Check for -100
     42        N TIMES S TIMES=$$TIMES^BSDXUT ; appt time^end time
     43        N APPTTIME S APPTTIME=$P(TIMES,U)
     44        N ENDTIME S ENDTIME=$P(TIMES,U,2)
     45        D APPADD^BSDX07(.ZZZ,APPTTIME,ENDTIME,DFN,RESNAM,30,"Sam's Note",1)
     46        S APPID=+$P(^BSDXTMP($J,1),U)
     47        N BSDXDIE1 S BSDXDIE1=1
     48        D APPDEL^BSDX08(.ZZZ,APPID,"PC",1,"Reasons")
     49        I $P(^BSDXTMP($J,1),"~")'=-100 W "Error in -100",!
     50        K BSDXDIE1
     51        ;
     52        ; Test 3.5: Check for -100 with an appointment to rollback.
     53        N TIMES S TIMES=$$TIMES^BSDXUT ; appt time^end time
     54        N APPTTIME S APPTTIME=$P(TIMES,U)
     55        N ENDTIME S ENDTIME=$P(TIMES,U,2)
     56        D APPADD^BSDX07(.ZZZ,APPTTIME,ENDTIME,DFN,RESNAM,30,"Sam's Note",1)
     57        S APPID=+$P(^BSDXTMP($J,1),U)
     58        N BSDXDIE2 S BSDXDIE2=1
     59        D APPDEL^BSDX08(.ZZZ,APPID,"PC",1,"Reasons")
     60        I $P(^BSDXTMP($J,1),"~")'=-100 W "Error in -100-1",!
     61        I $P(^BSDXAPPT(APPID,0),U,12)'="" W "Error in -100-2",!
     62        K BSDXDIE2
     63        ; Test 4: Restartable transaction -- retired in V 1.7
     64        ; Test 5: for invalid Appointment ID (-2 and -3)
     65        D APPDEL^BSDX08(.ZZZ,0,"PC",1,"Reasons")
     66        I $P(^BSDXTMP($J,1),"~")'=-2 W "Error in -2",!
     67        D APPDEL^BSDX08(.ZZZ,999999,"PC",1,"Reasons")
     68        I $P(^BSDXTMP($J,1),"~")'=-3 W "Error in -3",!
     69        ; More unit Tests
     70        ;
     71        ; Test 6: for Cancelling walkin and checked-in appointments
     72        N TIMES S TIMES=$$TIMES^BSDXUT ; appt time^end time
     73        N APPTTIME S APPTTIME=$P(TIMES,U)
     74        N ENDTIME S ENDTIME=$P(TIMES,U,2)
     75        S DFN=4
     76        D APPADD^BSDX07(.ZZZ,APPTTIME,ENDTIME,DFN,RESNAM,10,"Sam's Note",1) ; Add appt
     77        S APPID=+$P(^BSDXTMP($J,1),U)
     78        I APPID=0 W "Error in test 6",!
     79        D CHECKIN^BSDX25(.ZZZ,APPID,$$NOW^XLFDT) ; check-in
     80        D APPDEL^BSDX08(.ZZZ,APPID,"PC",10,"Cancel Note") ; Delete appt
     81        I $P(^BSDXTMP($J,1),$C(30))'="" W "Error in test 6",!
     82        ;
     83        ; Test 7: for cancelling walkin and checked-in appointments
     84        N TIMES S TIMES=$$TIMES^BSDXUT ; appt time^end time
     85        N APPTTIME S APPTTIME=$P(TIMES,U)
     86        N ENDTIME S ENDTIME=$P(TIMES,U,2)
     87        S DFN=4
     88        D APPADD^BSDX07(.ZZZ,APPTTIME,ENDTIME,DFN,RESNAM,10,"Sam's Note",1) ; Add appt
     89        S APPID=+$P(^BSDXTMP($J,1),U)
     90        I APPID=0 W "Error in test 6",!
     91        D CHECKIN^BSDX25(.ZZZ,APPID,$$NOW^XLFDT) ; Checkin
     92        S BSDXRESULT=$$RMCI^BSDXAPI(DFN,HLIEN,APPTTIME) ; remove checkin
     93        D APPDEL^BSDX08(.ZZZ,APPID,"PC",10,"Cancel Note") ; delete appt
     94        I $P(^BSDXTMP($J,1),$C(30))'="" W "Error in test 6",!
     95        ;
     96        ; Unlinked Clinic Tests
     97        N RESNAM S RESNAM="UTCLINICUL" ; Unlinked Clinic
     98        N RESIEN
     99        D
     100        . N $ET S $ET="D ^%ZTER B"
     101        . S RESIEN=$$UTCRRES^BSDXUT(RESNAM)
     102        . I RESIEN<0 S $EC=",U1," ; not supposed to happen - hard crash if so
     103        ;
     104        ; Get start and end times
     105        N TIMES S TIMES=$$TIMES^BSDXUT ; appt time^end time
     106        N APPTTIME S APPTTIME=$P(TIMES,U)
     107        N ENDTIME S ENDTIME=$P(TIMES,U,2)
     108        ;
     109        ; Test 1: Make normal appointment and cancel it. See if every thing works
     110        N ZZZ,DFN
     111        S DFN=3
     112        D APPADD^BSDX07(.ZZZ,APPTTIME,ENDTIME,DFN,RESNAM,30,"Sam's Note",1)
     113        S APPID=+$P(^BSDXTMP($J,1),U)
     114        D APPDEL^BSDX08(.ZZZ,APPID,"PC",1,"Sam's Cancel Note")
     115        I $P(^BSDXAPPT(APPID,0),U,12)'>0 W "Error in Cancellation-1"
     116        ;
     117        ; Test 6: for Cancelling walkin and checked-in appointments
     118        N TIMES S TIMES=$$TIMES^BSDXUT ; appt time^end time
     119        N APPTTIME S APPTTIME=$P(TIMES,U)
     120        N ENDTIME S ENDTIME=$P(TIMES,U,2)
     121        S DFN=4
     122        D APPADD^BSDX07(.ZZZ,APPTTIME,ENDTIME,DFN,RESNAM,10,"Sam's Note",1) ; Add appt
     123        S APPID=+$P(^BSDXTMP($J,1),U)
     124        I APPID=0 W "Error in test 6",!
     125        D CHECKIN^BSDX25(.ZZZ,APPID,$$NOW^XLFDT) ; check-in
     126        D APPDEL^BSDX08(.ZZZ,APPID,"PC",10,"Cancel Note") ; Delete appt
     127        I $P(^BSDXTMP($J,1),$C(30))'="" W "Error in test 6",!
     128        ;
     129        ; Test 7: for cancelling walkin and checked-in appointments
     130        N TIMES S TIMES=$$TIMES^BSDXUT ; appt time^end time
     131        N APPTTIME S APPTTIME=$P(TIMES,U)
     132        N ENDTIME S ENDTIME=$P(TIMES,U,2)
     133        S DFN=5
     134        D APPADD^BSDX07(.ZZZ,APPTTIME,ENDTIME,DFN,RESNAM,10,"Sam's Note",1) ; Add appt
     135        S APPID=+$P(^BSDXTMP($J,1),U)
     136        I APPID=0 W "Error in test 6",!
     137        D CHECKIN^BSDX25(.ZZZ,APPID,$$NOW^XLFDT) ; Checkin
     138        S BSDXRESULT=$$RMCI^BSDXAPI(DFN,HLIEN,APPTTIME) ; remove checkin
     139        D APPDEL^BSDX08(.ZZZ,APPID,"PC",10,"Cancel Note") ; delete appt
     140        I $P(^BSDXTMP($J,1),$C(30))'="" W "Error in test 6",!
     141        QUIT
    4142        ;
    5143UT29 ; Unit Test for BSDX29
Note: See TracChangeset for help on using the changeset viewer.