# -*- 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_Saline # date 2020/08/10 # author Behrouz NematiPour # import names from dialin.squish import utils, denaliMessages REQUEST_REJECT_REASON_SALINE_BOLUS_IN_PROGRESS = 16 def gotoScreenNtest_Contains_TreatmentSalineBolusData(): mouseClick(waitForObject(names.o_treatmentHome_startTreatment)) test.compare(str(waitForObjectExists(names.o_treatmentStart_SalineSection).buttonText), "START BOLUS") test.compare(str(waitForObjectExists(names.o_treatmentStart_SalineSection).title ), "SALINE BOLUS") test.compare( waitForObjectExists(names.o_treatmentStart_SalineSection).visible , True) def getUnit(): global saline_unit saline_unit = str(waitForObjectExists(names.o_treatmentStart_SalineSection).unit) def test_target(vTarget): test.compare( waitForObjectExists(names.o_treatmentStart_SalineSection).valueTarget , vTarget ) test.compare(str(waitForObjectExists(names.o_treatmentStart_SalineTarget ).text) , "({:.0f} {})".format(vTarget, saline_unit)) def test_state(vAccept, vText): mReason = 0 if (not vAccept): mReason = REQUEST_REJECT_REASON_SALINE_BOLUS_IN_PROGRESS mouseClick(waitForObject(names.o_treatmentStart_SalineStart)) # when rejected reason set 16 # although rejected value has been sent to check UI only looks for Accept field # value and reason are not related by added those two to have a different value in case of rejection target = 50 + mReason denaliMessages.setSalineBolusResponse(vAccept, mReason, target) test.compare(str(waitForObjectExists(names.o_treatmentStart_SalineSection).buttonText), "{} BOLUS".format(vText)) test_target(target) def test_ultrafiltration(vEnabled): test.compare(waitForObjectExists(names.o_treatmentStart_ultrafiltrationTouchArea_TreatmentUltrafiltration).isTouchable, vEnabled) def main(): utils.tstStart(__file__) startApplication(names.AUT_NAME) utils.waitForGUI(1) #initially is stopped (Text => START) gotoScreenNtest_Contains_TreatmentSalineBolusData() utils.waitForGUI(1) getUnit() # Init stopped, stopped =(accepted)=> running (Text => STOP ) test_state(True , "STOP" ) test_ultrafiltration(False) # Now running, running =(rejected)== running (Text == STOP ) test_state(False, "STOP" ) test_ultrafiltration(False) # multiple same request should not affect if rejected # Now running, running =(rejected)== running (Text == STOP ) test_state(False, "STOP" ) test_ultrafiltration(False) # Still running, running =(accepted)=> stopped (Text == START) test_state(True , "START") test_ultrafiltration(True) # Now stopped, stopped =(rejected)== stopped (Text == START) test_state(False, "START") test_ultrafiltration(True) # Now stopped, stopped =(accepted)=> running (Text == STOP ) test_state(True , "STOP" ) test_ultrafiltration(False) # Still running, running =(accepted)=> stopped (Text == START) test_state(True, "START") test_ultrafiltration(True) utils.tstDone()