Index: tst_treatment_saline_data/test.py =================================================================== diff -u -r6bb43117bca2673c5de877f5b70b094da344418a -ra3c7851a7de7cbed6b06abef5033b35308c04c93 --- tst_treatment_saline_data/test.py (.../test.py) (revision 6bb43117bca2673c5de877f5b70b094da344418a) +++ tst_treatment_saline_data/test.py (.../test.py) (revision a3c7851a7de7cbed6b06abef5033b35308c04c93) @@ -1,24 +1,25 @@ # -*- 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_In_treatment -# date 2020/02/11 -# author Joseph Varghese +# Copyright (c) 2022-2026 Diality Inc. - All Rights Reserved. # -# NOTE: -# This test contradicts verification of saline bolus in In-treatment section of Application +# 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 test.py +# +# @author (last) JonnyP +# @date (last) 10-Apr-2025 +# @author (original) joseph_varghese +# @date (original) 01-Mar-2022 +# +############################################################################ import names from configuration import config, utility from dialin.ui import utils -from dialin.common.hd_defs import HDStandbyStates, TreatmentStates +from dialin.common.hd_defs import HDStandbyStates, TreatmentStates, BloodLeakZeroingStates from dialin.ui.hd_simulator import HDSimulator from dialin.common.ui_defs import TXStates as txStates from dialin.common.msg_defs import RequestRejectReasons as rejectReason @@ -47,8 +48,8 @@ Method to verify cumulative value on saline section @param expected_cumulative_value: (int) expected cumulative value on saline section """ - test.compare(waitForObjectExists(names.o_treatmentHome_cumalative_value).text , expected_cumulative_value, "cumulative value verified") - test.compare(waitForObjectExists(names.o_treatmentHome_cumalative_unit).text , config.SALINE_UNIT, "cumulative unit verified" ) + test.compare(waitForObjectExists(names.o_treatmentHome_cumalative_value).text , expected_cumulative_value, "cumulative value verified, expecting "+expected_cumulative_value) + test.compare(waitForObjectExists(names.o_treatmentHome_cumalative_unit).text , config.SALINE_UNIT, "cumulative unit verified, expecting"+config.SALINE_UNIT ) def verify_delivered_value(expected_delivered_value): @@ -81,6 +82,9 @@ """ test.compare(waitForObjectExists(names.o_treatmentHome_ultrafiltrationTouchArea_TreatmentUltrafiltration).isTouchable, enabled_status,"uf touchable area is visible") +def saline_rejection_text_object(text): + names.o_treatmentHome_Saline_Rejection_Text["text"] = text + return names.o_treatmentHome_Saline_Rejection_Text def test_state(accept_status, button_text, target, saline_states): """ @@ -95,12 +99,20 @@ # when rejected reason set 16 -> saline bolus in progress if (not accept_status): rejection_reason = rejectReason.REQUEST_REJECT_REASON_SALINE_BOLUS_IN_PROGRESS.value hd_simulator.cmd_set_saline_bolus_response(accepted = accept_status, reason = rejection_reason, target = target) - if (not accept_status): test.compare(waitForObjectExists(utility.rejection_msg(config.REJECTION_REASON[rejection_reason])).text, config.REJECTION_REASON[rejection_reason], "expected rejection {msg} displayed".format(msg=config.REJECTION_REASON[rejection_reason])) + if (not accept_status): test.compare(waitForObjectExists(saline_rejection_text_object(config.REJECTION_REASON[rejection_reason])).text, config.REJECTION_REASON[rejection_reason], "expected rejection {msg} displayed".format(msg=config.REJECTION_REASON[rejection_reason])) #set saline transition state. - hd_simulator.cmd_set_treatment_states_data(sub_mode=HDStandbyStates.STANDBY_WAIT_FOR_DISINFECT_STATE.value, uf_state=TreatmentStates.TREATMENT_START_STATE.value, saline_state=saline_states, heparin_state=TreatmentStates.TREATMENT_START_STATE.value, - rinseback_state=TreatmentStates.TREATMENT_START_STATE.value, recirculate_state=TreatmentStates.TREATMENT_START_STATE.value, blood_prime_state=TreatmentStates.TREATMENT_START_STATE.value, - treatment_end_state=TreatmentStates.TREATMENT_START_STATE.value, treatment_stop_state=TreatmentStates.TREATMENT_START_STATE.value, dialysis_state=TreatmentStates.TREATMENT_START_STATE.value) + hd_simulator.cmd_set_treatment_states_data(sub_mode=HDStandbyStates.STANDBY_WAIT_FOR_DISINFECT_STATE.value, + uf_state=TreatmentStates.TREATMENT_START_STATE.value, + saline_state=saline_states, + heparin_state=TreatmentStates.TREATMENT_START_STATE.value, + rinseback_state=TreatmentStates.TREATMENT_START_STATE.value, + recirculate_state=TreatmentStates.TREATMENT_START_STATE.value, + blood_prime_state=TreatmentStates.TREATMENT_START_STATE.value, + treatment_end_state=TreatmentStates.TREATMENT_START_STATE.value, + treatment_stop_state=TreatmentStates.TREATMENT_START_STATE.value, + dialysis_state=TreatmentStates.TREATMENT_START_STATE.value, + bloodLeakZeoringState = BloodLeakZeroingStates.BLD_ZEROING_IDLE_STATE.value) test.compare(str(waitForObjectExists(names.o_treatmentStart_SalineSection).buttonText), "{} BOLUS".format(button_text)) verify_target_value(expected_target_value = target) @@ -117,9 +129,11 @@ test.startSection("verification of rejection messages on saline bolus") for rejection in range(1, config.NUM_OF_REQUEST_REJECT_REASONS): hd_simulator.cmd_set_saline_bolus_response(accepted=accept_status, reason=rejection, target=target) - rejection_message = waitForObjectExists(utility.rejection_msg(config.REJECTION_REASON[rejection])) - test.compare(rejection_message.text, config.REJECTION_REASON[rejection], "expected rejection {msg} displayed".format(msg=config.REJECTION_REASON[rejection])) - + try: + rejection_message = waitForObjectExists(saline_rejection_text_object(config.REJECTION_REASON[rejection]), 256) #256ms timeout + test.compare(rejection_message.text, config.REJECTION_REASON[rejection], "expected rejection {msg} displayed".format(msg=config.REJECTION_REASON[rejection])) + except LookupError: + test.fail("expected rejection {msg} message object not found".format(msg=config.REJECTION_REASON[rejection])) test.endSection() @@ -135,14 +149,17 @@ for delivered_value, cumulative_value in config.SALINE_BOLUS_VALUES.items(): hd_simulator.cmd_set_treatment_saline_bolus_data(target=target_value, - cumulative=cumulative_value, - delivered=delivered_value) + cumulative=cumulative_value, + delivered=delivered_value, + DPI2BLDVolML=0.0, + RSRVR2DPIVolML=0.0, + zeroingRqstStatus=1) test.log("verification of saline values from dialysis state for target value :" + str(target_value)+ " cumulative value :" +str(cumulative_value)+" and delivered value :"+ str(delivered_value)) verify_target_value(expected_target_value = format(target_value, '.1f')) - verify_delivered_value(expected_delivered_value = format(delivered_value, '.0f')) - verify_cumulative_value(expected_cumulative_value = format(cumulative_value, '.0f')) + verify_delivered_value(expected_delivered_value = format(delivered_value, '.1f')) + verify_cumulative_value(expected_cumulative_value = format(cumulative_value, '.1f')) test.endSection() @@ -212,40 +229,71 @@ test.startSection("verification of saline parameter states on main treatment screen") - hd_simulator.cmd_set_treatment_states_data(sub_mode=HDStandbyStates.STANDBY_WAIT_FOR_DISINFECT_STATE .value, uf_state=TreatmentStates.TREATMENT_START_STATE.value, saline_state=TreatmentStates.TREATMENT_START_STATE.value, heparin_state=TreatmentStates.TREATMENT_START_STATE.value, - rinseback_state=TreatmentStates.TREATMENT_START_STATE.value, recirculate_state=TreatmentStates.TREATMENT_START_STATE.value, blood_prime_state=TreatmentStates.TREATMENT_START_STATE.value, - treatment_end_state=TreatmentStates.TREATMENT_START_STATE.value, treatment_stop_state=TreatmentStates.TREATMENT_START_STATE.value, dialysis_state=TreatmentStates.TREATMENT_START_STATE.value) + hd_simulator.cmd_set_treatment_states_data(sub_mode=HDStandbyStates.STANDBY_WAIT_FOR_DISINFECT_STATE.value, + uf_state=TreatmentStates.TREATMENT_START_STATE.value, + saline_state=TreatmentStates.TREATMENT_START_STATE.value, + heparin_state=TreatmentStates.TREATMENT_START_STATE.value, + rinseback_state=TreatmentStates.TREATMENT_START_STATE.value, + recirculate_state=TreatmentStates.TREATMENT_START_STATE.value, + blood_prime_state=TreatmentStates.TREATMENT_START_STATE.value, + treatment_end_state=TreatmentStates.TREATMENT_START_STATE.value, + treatment_stop_state=TreatmentStates.TREATMENT_START_STATE.value, + dialysis_state=TreatmentStates.TREATMENT_START_STATE.value, + bloodLeakZeoringState = BloodLeakZeroingStates.BLD_ZEROING_IDLE_STATE.value) mouseClick(waitForObject(names.o_treatmentHome_startFluidButton_TouchRect)) test.compare((waitForObjectExists(names.o_treatmentHome_startFluidButton_TouchRect).enabled), True, "START BOLUS button is enable") test.compare((waitForObjectExists(names.o_treatmentHome_START_BOLUS_Text).enabled), True, "Start Bolus text is enable") - hd_simulator.cmd_set_treatment_states_data(sub_mode=HDStandbyStates.STANDBY_WAIT_FOR_DISINFECT_STATE .value, uf_state=TreatmentStates.TREATMENT_START_STATE.value, saline_state=TreatmentStates.TREATMENT_BLOOD_PRIME_STATE.value, heparin_state=TreatmentStates.TREATMENT_START_STATE.value, - rinseback_state=TreatmentStates.TREATMENT_START_STATE.value, recirculate_state=TreatmentStates.TREATMENT_START_STATE.value, blood_prime_state=TreatmentStates.TREATMENT_START_STATE.value, - treatment_end_state=TreatmentStates.TREATMENT_START_STATE.value, treatment_stop_state=TreatmentStates.TREATMENT_START_STATE.value, dialysis_state=TreatmentStates.TREATMENT_START_STATE.value) + hd_simulator.cmd_set_treatment_states_data(sub_mode=HDStandbyStates.STANDBY_WAIT_FOR_DISINFECT_STATE.value, + uf_state=TreatmentStates.TREATMENT_START_STATE.value, + saline_state=TreatmentStates.TREATMENT_BLOOD_PRIME_STATE.value, + heparin_state=TreatmentStates.TREATMENT_START_STATE.value, + rinseback_state=TreatmentStates.TREATMENT_START_STATE.value, + recirculate_state=TreatmentStates.TREATMENT_START_STATE.value, + blood_prime_state=TreatmentStates.TREATMENT_START_STATE.value, + treatment_end_state=TreatmentStates.TREATMENT_START_STATE.value, + treatment_stop_state=TreatmentStates.TREATMENT_START_STATE.value, + dialysis_state=TreatmentStates.TREATMENT_START_STATE.value, + bloodLeakZeoringState = BloodLeakZeroingStates.BLD_ZEROING_IDLE_STATE.value) test.compare((waitForObjectExists(names.o_treatmentHome_startFluidButton_TouchRect).enabled), False, "START BOLUS button is not enable") test.compare((waitForObjectExists(names.o_treatmentHome_START_BOLUS_Text).enabled), False, "Start Bolus text is not enable") test.compare((waitForObjectExists(names.o_treatmentHome_START_BOLUS_Text).enabled), False, "Start Bolus text is not enable") test.compare((waitForObjectExists(names.o_treatmentHome_image_Image).visible), True, "Pause Image is Visible") test.compare(str(waitForObjectExists(names.o_treatmentHome_Treatment_Paused_Text).text), "Treatment Paused", "Treatment Paused text is visible") - hd_simulator.cmd_set_treatment_states_data(sub_mode=HDStandbyStates.STANDBY_WAIT_FOR_DISINFECT_STATE .value, uf_state=TreatmentStates.TREATMENT_START_STATE.value, saline_state=TreatmentStates.TREATMENT_DIALYSIS_STATE.value, heparin_state=TreatmentStates.TREATMENT_START_STATE.value, - rinseback_state=TreatmentStates.TREATMENT_START_STATE.value, recirculate_state=TreatmentStates.TREATMENT_START_STATE.value, blood_prime_state=TreatmentStates.TREATMENT_START_STATE.value, - treatment_end_state=TreatmentStates.TREATMENT_START_STATE.value, treatment_stop_state=TreatmentStates.TREATMENT_START_STATE.value, dialysis_state=TreatmentStates.TREATMENT_START_STATE.value) + hd_simulator.cmd_set_treatment_states_data(sub_mode=HDStandbyStates.STANDBY_WAIT_FOR_DISINFECT_STATE.value, + uf_state=TreatmentStates.TREATMENT_START_STATE.value, + saline_state=TreatmentStates.TREATMENT_DIALYSIS_STATE.value, + heparin_state=TreatmentStates.TREATMENT_START_STATE.value, + rinseback_state=TreatmentStates.TREATMENT_START_STATE.value, + recirculate_state=TreatmentStates.TREATMENT_START_STATE.value, + blood_prime_state=TreatmentStates.TREATMENT_START_STATE.value, + treatment_end_state=TreatmentStates.TREATMENT_START_STATE.value, + treatment_stop_state=TreatmentStates.TREATMENT_START_STATE.value, + dialysis_state=TreatmentStates.TREATMENT_START_STATE.value, + bloodLeakZeoringState = BloodLeakZeroingStates.BLD_ZEROING_IDLE_STATE.value) mouseClick(waitForObjectExists(names.o_treatmentHome_stop_bolus_Text)) mouseClick(waitForObject(names.o_treatmentHome_Treatment_Paused_Text)) test.compare((waitForObjectExists(names.o_treatmentHome_image_Image).visible), True, "Pause Image is Visible") test.compare(str(waitForObjectExists(names.o_treatmentHome_Treatment_Paused_Text).text), "Treatment Paused", "Treatment Paused text is visible") - hd_simulator.cmd_set_treatment_states_data(sub_mode=HDStandbyStates.STANDBY_WAIT_FOR_DISINFECT_STATE.value, uf_state=TreatmentStates.TREATMENT_START_STATE.value, saline_state=TreatmentStates.TREATMENT_STOP_STATE.value, heparin_state=TreatmentStates.TREATMENT_START_STATE.value, - rinseback_state=TreatmentStates.TREATMENT_START_STATE.value, recirculate_state=TreatmentStates.TREATMENT_START_STATE.value, blood_prime_state=TreatmentStates.TREATMENT_START_STATE.value, - treatment_end_state=TreatmentStates.TREATMENT_START_STATE.value, treatment_stop_state=TreatmentStates.TREATMENT_START_STATE.value, dialysis_state=TreatmentStates.TREATMENT_START_STATE.value) + hd_simulator.cmd_set_treatment_states_data(sub_mode=HDStandbyStates.STANDBY_WAIT_FOR_DISINFECT_STATE.value, + uf_state=TreatmentStates.TREATMENT_START_STATE.value, + saline_state=TreatmentStates.TREATMENT_STOP_STATE.value, + heparin_state=TreatmentStates.TREATMENT_START_STATE.value, + rinseback_state=TreatmentStates.TREATMENT_START_STATE.value, + recirculate_state=TreatmentStates.TREATMENT_START_STATE.value, + blood_prime_state=TreatmentStates.TREATMENT_START_STATE.value, + treatment_end_state=TreatmentStates.TREATMENT_START_STATE.value, + treatment_stop_state=TreatmentStates.TREATMENT_START_STATE.value, + dialysis_state=TreatmentStates.TREATMENT_START_STATE.value, + bloodLeakZeoringState = BloodLeakZeroingStates.BLD_ZEROING_IDLE_STATE.value) - test.compare((waitForObjectExists(names.o_treatmentHome_startFluidButton_TouchRect).enabled), False, "START BOLUS button is not enable") - test.compare((waitForObjectExists(names.o_treatmentHome_START_BOLUS_Text).enabled), False, "Start Bolus text is not enable") - test.compare(str(waitForObjectExists(names.o_treatmentHome_Maximum_cumulative_saline_bolus_volume_delivered_Text).text), "Maximum cumulative saline bolus volume delivered", "Treatment Paused text is visible") + test.compare((waitForObjectExists(names.o_treatmentHome_startFluidButton_TouchRect).enabled), True, "START BOLUS button is enabled") + test.compare((waitForObjectExists(names.o_treatmentHome_START_BOLUS_Text).enabled), True, "Start Bolus text is enabled") test.endSection() @@ -256,9 +304,17 @@ utils.waitForGUI(1) #navigate to dialysis state - hd_simulator.cmd_set_treatment_states_data(sub_mode= HDStandbyStates.STANDBY_WAIT_FOR_DISINFECT_STATE.value, uf_state=TreatmentStates.TREATMENT_START_STATE.value, saline_state=TreatmentStates.TREATMENT_START_STATE.value, heparin_state=TreatmentStates.TREATMENT_START_STATE.value, - rinseback_state=TreatmentStates.TREATMENT_START_STATE.value, recirculate_state=TreatmentStates.TREATMENT_START_STATE.value, blood_prime_state=TreatmentStates.TREATMENT_START_STATE.value, - treatment_end_state=TreatmentStates.TREATMENT_START_STATE.value, treatment_stop_state=TreatmentStates.TREATMENT_START_STATE.value, dialysis_state=TreatmentStates.TREATMENT_START_STATE.value) + hd_simulator.cmd_set_treatment_states_data(sub_mode= HDStandbyStates.STANDBY_WAIT_FOR_DISINFECT_STATE.value, + uf_state=TreatmentStates.TREATMENT_START_STATE.value, + saline_state=TreatmentStates.TREATMENT_START_STATE.value, + heparin_state=TreatmentStates.TREATMENT_START_STATE.value, + rinseback_state=TreatmentStates.TREATMENT_START_STATE.value, + recirculate_state=TreatmentStates.TREATMENT_START_STATE.value, + blood_prime_state=TreatmentStates.TREATMENT_START_STATE.value, + treatment_end_state=TreatmentStates.TREATMENT_START_STATE.value, + treatment_stop_state=TreatmentStates.TREATMENT_START_STATE.value, + dialysis_state=TreatmentStates.TREATMENT_START_STATE.value, + bloodLeakZeoringState = BloodLeakZeroingStates.BLD_ZEROING_IDLE_STATE.value) #verification of target, cumulative and delivered value test_saline_values()