# -*- coding: utf-8 -*- ## # Copyright (c) 2019-2020 Diality Inc. - All Rights Reserved. # copyright # THIS CODE MAY NOT BE COPIED OR REPRODUCED IN ANY FORM, # IN PART OR IN WHOLE, # WITHOUT THE EXPLICIT PERMISSION OF THE COPYRIGHT OWNER. # # file tst_Treatment_Adjustment_Heparin # date 2020/11/24 # author Behrouz NematiPour # import names from dialin.ui import HDSimulator, utils, TXStates from dialin.common.msg_defs import RequestRejectReasons as rejectReason from numpy.distutils.fcompiler import none HDSimulator = HDSimulator() def gotoScreenNtest_Contains_TreatmentHeparinData(): mouseClick(waitForObject(names.o_treatmentHome_startTreatment)) test.compare(str(waitForObjectExists(names.o_treatmentStart_HeparinSection).buttonText), "HEPARIN DELIVERY") test.compare(str(waitForObjectExists(names.o_treatmentStart_HeparinSection).title ), "HEPARIN") test.compare( waitForObjectExists(names.o_treatmentStart_HeparinSection).visible , True) utils.waitForGUI(1) def getUnit(): return str(waitForObjectExists(names.o_treatmentStart_HeparinSection).unit) def test_state(vAccept, vText, vState): mReason = 0 if (not vAccept): mReason = rejectReason.REQUEST_REJECT_REASON_HEPARIN_PRESTOP_EXCEEDS_DURATION.value HDSimulator.cmd_set_heparin_pause_resume_response(vAccept, mReason, vState) utils.waitForGUI(0.2) heparin_button = findObject(names.o_treatmentStart_HeparinPause) # heparin button is not always enable for click if vState == TXStates.HEPARIN_STATE_DISPENSING or vState == TXStates.HEPARIN_STATE_PAUSED or vState == TXStates.HEPARIN_STATE_COMPLETED : if not heparin_button is None: test.compare(heparin_button.enabled, True) mouseClick(heparin_button) else: test.compare(heparin_button.enabled, False) test.compare(str(waitForObjectExists(names.o_treatmentStart_HeparinSection).buttonText), "{} DELIVERY".format(vText)) def main(): utils.tstStart(__file__) startApplication(names.AUT_NAME) utils.waitForGUI(1) # Initial OFF -> Idle/START/UF_True gotoScreenNtest_Contains_TreatmentHeparinData() # set the Treatment to running state, otherwise the heparin section will be disabled. HDSimulator.cmd_set_treatment_states_data(TXStates.TREATMENT_DIALYSIS_STATE, TXStates.UF_OFF_STATE, TXStates.SALINE_BOLUS_STATE_IDLE, TXStates.HEPARIN_STATE_OFF) # it is not working upon user request so there is not rejection # Initial OFF => BOLUS -> Bolus/HEPARIN test_state(True, "HEPARIN" , TXStates.HEPARIN_STATE_INITIAL_BOLUS ) # it is not working upon user request so there is not rejection # Now BOLUS => DISPENSING -> Dispensing/PAUSE test_state(True, "PAUSE" , TXStates.HEPARIN_STATE_DISPENSING ) # Now Dispensing => Paused => Rejected -> Dispensing/PAUSE test_state(False, "PAUSE" , TXStates.HEPARIN_STATE_DISPENSING ) # Retry Dispensing => Paused => Rejected -> Dispensing/PAUSE test_state(False, "PAUSE" , TXStates.HEPARIN_STATE_DISPENSING ) # Still Dispensing => paused => Accepted -> Paused/RESUME test_state(True, "RESUME" , TXStates.HEPARIN_STATE_PAUSED ) # Now Paused => Dispensing => Rejected -> Paused/RESUME test_state(False, "RESUME" , TXStates.HEPARIN_STATE_PAUSED ) # Retry Paused => Dispensing => Rejected -> Paused/RESUME test_state(False, "RESUME" , TXStates.HEPARIN_STATE_PAUSED ) # Still Paused => Dispensing => Accepted -> Dispensing/PAUSE test_state(True , "PAUSE" , TXStates.HEPARIN_STATE_DISPENSING ) # it is not working upon user request so there is not rejection # Now Dispensing => Complete -> Complete/RESUME test_state(True, "RESUME" , TXStates.HEPARIN_STATE_COMPLETED ) # Now Complete => Dispensing => Rejected -> Complete/RESUME test_state(False, "RESUME" , TXStates.HEPARIN_STATE_COMPLETED ) # Retry Complete => Dispensing => Rejected -> Complete/RESUME test_state(False, "RESUME" , TXStates.HEPARIN_STATE_COMPLETED ) # Still Complete => Dispensing => Accepted -> Dispensing/PAUSE test_state(True, "PAUSE" , TXStates.HEPARIN_STATE_DISPENSING ) # it is not working upon user request so there is not rejection # the dispensing to pause retry tested above and we assume it will deliver until is empty # Now Dispensing => Empty => -> Dispensing/PAUSE test_state(True, "HEPARIN" , TXStates.HEPARIN_STATE_EMPTY ) utils.tstDone()