Index: suite_leahi/shared/scripts/configuration/config.py =================================================================== diff -u -r36f9a57876839463c912185195ef380e6704b577 -r417f605ccfa6e9c76e76f84b27870a4e1d114e11 --- suite_leahi/shared/scripts/configuration/config.py (.../config.py) (revision 36f9a57876839463c912185195ef380e6704b577) +++ suite_leahi/shared/scripts/configuration/config.py (.../config.py) (revision 417f605ccfa6e9c76e76f84b27870a4e1d114e11) @@ -211,6 +211,12 @@ dialysate_volume = 12.00 acid_concentrate = 20 acid_concentrate_actual = 30 +potassium_concentrate = 50 +potassium_concentrate_actual= 20 +calcium_concentrate = 20 +calcium_concentrate_actual = 30 +bicarbonate_concentrate = 40 +bicarbonate_concentrate_actual = 50 @@ -219,5 +225,3 @@ - - Index: suite_leahi/shared/scripts/names.py =================================================================== diff -u -r36f9a57876839463c912185195ef380e6704b577 -r417f605ccfa6e9c76e76f84b27870a4e1d114e11 --- suite_leahi/shared/scripts/names.py (.../names.py) (revision 36f9a57876839463c912185195ef380e6704b577) +++ suite_leahi/shared/scripts/names.py (.../names.py) (revision 417f605ccfa6e9c76e76f84b27870a4e1d114e11) @@ -403,11 +403,11 @@ o_rate_LabelUnitText = {"container": o_Overlay, "objectName": "_rate", "type": "LabelUnitText" } o_treatmentAdjustmentIsolatedUFDurationEdit = {"container": o_Overlay, "objectName": "_treatmentAdjustmentIsolatedUFDurationEdit", "type": "TreatmentAdjustmentIsolatedUFDurationEdit" } o_treatmentAdjustmentIsolatedUFVolumeEdit = {"container": o_Overlay, "objectName": "_treatmentAdjustmentIsolatedUFVolumeEdit", "type": "TreatmentAdjustmentIsolatedUFVolumeEdit" } -o_treatmentHome_notification_NotificationBarSmall = {"container": mainTreatmentScreen, "objectName": "notification", "type": "NotificationBarSmall"} +o_treatmentHome_notification_NotificationBarSmall = {"container": mainTreatmentScreen, "objectName": "notification", "type": "NotificationBarSmall"} #post treatement o_PostTreatmentStack_PostTreatmentStack = {"container": o_Gui_MainView, "objectName": "_PostTreatmentStack", "type": "PostTreatmentStack", } -o_PostTreatmentStack_PostTreatmentBase_PostTreatmentReview = {"container": o_PostTreatmentStack_PostTreatmentStack, "objectName": "_PostTreatmentBase", "type": "PostTreatmentReview"} -o_PostTreatmentBase_bloodFlowDiaysate_ReviewContainer = {"container": o_PostTreatmentStack_PostTreatmentBase_PostTreatmentReview, "id": "_bloodFlowDiaysate", "type": "ReviewContainer", "unnamed": 1} -o_PostTreatmentBase_concentrateSettings_ReviewContainer = {"container": o_PostTreatmentStack_PostTreatmentBase_PostTreatmentReview, "id": "_concentrateSettings", "type": "ReviewContainer", "unnamed": 1} -o_PostTreatmentBase_ScrollBar = {"container": o_PostTreatmentStack_PostTreatmentBase_PostTreatmentReview, "type": "ScrollBar", "unnamed": 1} +o_PostTreatmentStack_PostTreatmentBase_PostTreatmentReview = {"container": o_PostTreatmentStack_PostTreatmentStack, "objectName": "_PostTreatmentBase", "type": "PostTreatmentReview" } +o_PostTreatmentBase_bloodFlowDiaysate_ReviewContainer = {"container": o_PostTreatmentStack_PostTreatmentBase_PostTreatmentReview, "id": "_bloodFlowDiaysate", "type": "ReviewContainer", "unnamed": 1 } +o_PostTreatmentBase_concentrateSettings_ReviewContainer = {"container": o_PostTreatmentStack_PostTreatmentBase_PostTreatmentReview, "id": "_concentrateSettings", "type": "ReviewContainer", "unnamed": 1 } +o_PostTreatmentBase_ScrollBar = {"container": o_PostTreatmentStack_PostTreatmentBase_PostTreatmentReview, "type": "ScrollBar", "unnamed": 1 } Index: suite_leahi/tst_post_treatement_tx_review/test.py =================================================================== diff -u -r36f9a57876839463c912185195ef380e6704b577 -r417f605ccfa6e9c76e76f84b27870a4e1d114e11 --- suite_leahi/tst_post_treatement_tx_review/test.py (.../test.py) (revision 36f9a57876839463c912185195ef380e6704b577) +++ suite_leahi/tst_post_treatement_tx_review/test.py (.../test.py) (revision 417f605ccfa6e9c76e76f84b27870a4e1d114e11) @@ -1,16 +1,13 @@ -# Subject/Title: LDT-3946 Post-Treatment - SW - 02 - Foundation - Q&R +# Subject/Title: LDT -4177 Post-Treatment - SW - 02 - TxReview - Q&R - 15: SIT - Software Integration Tests - Squish Qt + # -# Functionalities: Testing of Post-Treatment Foundation +# Functionalities: Testing of Post-Treatment Tx review # # Steps: -# 1 Handle patientDisconnectConfirmRequest and bloodSetAutoEject sent messages from UI -# 2 Start Leahi Application, simulate TD standby mode and simulate TD Post Mode -# and Navigate to Post-Treatment Screen and Compare Page Title text -# 3 Click on Continue button in UI and Verify FW receives the request, Test Rejection Reason and Navigate to next screen -# 4 Click on Auto Eject Button in UI And Verify FW receives the request, Test Rejection Reason -# 5 Click on Continue button to Navigate to next screen -# 6 Click on Skip button - +# 1. Navigate to the Post Treatment review page +# 1. On the Review page check the request in the firmware +# 2. Test the response in the UI page +# import names from configuration import config, utility, navigation, application_init from leahi_dialin.ui import utils @@ -35,66 +32,7 @@ bloodSetAutoEject = True def verify_values_tx_review(): - blood_flow_prescribed_obj = waitForObject(names.o_PostTreatmentBase_bloodFlowDiaysate_ReviewContainer) - blood_flow_prescribed_value_obj = utility.findChildByText(blood_flow_prescribed_obj, "Blood Flow Rate") - blood_flow_prescribed_initial_value = utility.findObjectById(blood_flow_prescribed_value_obj, "_initial") - test.compare(str(blood_flow_prescribed_initial_value.text),str(config.blood_flow_prescribed), "Blood flow prescribed value should be"+str(config.blood_flow_prescribed)) - blood_flow_prescribed_actual_value = utility.findObjectById(blood_flow_prescribed_value_obj,"_actual") - test.compare(str(blood_flow_prescribed_actual_value.text),str(config.blood_flow_actual), "Blood flow actual value should be"+ str(config.blood_flow_actual)) - dialysis_flow_value_obj = utility.findChildByText(blood_flow_prescribed_obj, "Dialysis Flow Rate") - dialysis_flow_value_initial_value = utility.findObjectById(dialysis_flow_value_obj, "_initial") - test.compare(str(dialysis_flow_value_initial_value.text),str(config.dialysis_flow_prescribed), "Dialysis flow prescribed value should be"+str(config.dialysis_flow_prescribed)) - dialysis_flow_value_actual_value = utility.findObjectById(dialysis_flow_value_obj,"_actual") - test.compare(str(dialysis_flow_value_actual_value.text),str(config.dialysis_flow_actual), "Dialysis flow actual value should be"+ str(config.dialysis_flow_actual)) - dialyzer_type = utility.findChildByText(blood_flow_prescribed_obj,"Dialyzer Type") - test.compare(str(dialyzer_type.text),str(config.dialyzer_type), "Dialyzer type value should be"+ str(config.dialyzer_type)) - dialysate_temp_value_obj = utility.findChildByText(blood_flow_prescribed_obj, "Dialysate Temperature") - dialysate_temp_initial_value = utility.findObjectById(dialysate_temp_value_obj, "_initial") - test.compare(str(dialysate_temp_initial_value.text),str(config.dialysate_temperature), "Dialysate temperature value should be"+str(config.dialysate_temperature)) - dialysate_temp_actual_value = utility.findObjectById(dialysate_temp_value_obj,"_actual") - test.compare(str(dialysate_temp_actual_value.text),str(config.dialysate_temperature_actual), "Dialysate temperature actual value should be"+ str(config.dialysate_temperature_actual)) - dialysate_volume_value_obj = utility.findChildByText(blood_flow_prescribed_obj, "Dialysate Volume Used") - dialysate_volume_initial_value = utility.findObjectById(dialysate_volume_value_obj, "_initial") - test.compare(f"{float(str(dialysate_volume_initial_value.text).strip()):.1f}",f"{float(str(config.dialysate_volume)):.1f}","Dialysate volume value should be " + str(config.dialysate_volume)) - mouseWheel(waitForObject(names.o_PostTreatmentBase_ScrollBar), 387, 510, 0, -45, Qt.NoModifier) - potassium_concentrate_obj = waitForObject(names.o_PostTreatmentBase_concentrateSettings_ReviewContainer) - potassium_concentrate_value_obj = utility.findChildByText(blood_flow_prescribed_obj, "Blood Flow Rate") - blood_flow_prescribed_initial_value = utility.findObjectById(blood_flow_prescribed_value_obj, "_initial") - test.compare(str(blood_flow_prescribed_initial_value.text),str(config.blood_flow_prescribed), "Blood flow prescribed value should be"+str(config.blood_flow_prescribed)) - blood_flow_prescribed_actual_value = utility.findObjectById(blood_flow_prescribed_value_obj,"_actual") - test.compare(str(blood_flow_prescribed_actual_value.text),str(config.blood_flow_actual), "Blood flow actual value should be"+ str(config.blood_flow_actual)) - - - -def main(): - utils.tstStart(__file__) - test.startSection("Post-Treatment Foundation") - - if can_interface is None: - test.fail("CAN Interface is not available. Stopping tests.") - return - - channel_id = CAN.CanChannels.ui_to_td_ch_id - # Register Blood Set Auto Eject Request - message_id = MsgIds.MSG_ID_UI_ADJUST_DISPOSABLES_REMOVAL_CONFIRM_REQUEST.value - can_interface.register_receiving_publication_function( - channel_id, message_id, handle_blood_set_auto_eject_request - ) - - startApplication(utility.aut("-q")) - - td_simulator.td_operation_mode(TDOpModes.MODE_STAN.value) - td_simulator.td_operation_mode(TDOpModes.MODE_POST.value) - post_treatment = utility.get_object_from_names(names.o_PostTreatmentStack_PostTreatmentStack) - mouseClick(waitForObject(utility.findChildByText(post_treatment, config.CONTINUE), 3000)) - td_simulator.td_patient_disconnect_confirm_response(vAccepted = 1, - vRejectionReason = 0) - mouseClick(waitForObject(utility.findChildByText(post_treatment, config.CONTINUE), 3000)) - mouseClick(waitForObject(utility.findChildByText(post_treatment, config.AUTO_EJECT), 3000)) - test.verify( waitFor(lambda: bloodSetAutoEject == True, 3000),"Testing UI -> TD message Auto Eject",) - td_simulator.td_blood_set_auto_eject_response(vAccepted = 1, - vRejectionReason = 0) - + test.startSection("Verify the firmware response values in the End Treatment page") td_simulator.td_post_tx_logs_response( vAccepted = 1, vRejectionReason = 0, vBloodFlowRate = config.blood_flow_prescribed, @@ -107,14 +45,14 @@ vAcidConcentrateTypeActual = config.acid_concentrate_actual, vBicarbonateCartridgeSize = 0, vBicarbonateCartridgeSizeActual = 40, - vPotassiumConcentration = 50, - vPotassiumConcentrationActual = 10, - vCalciumConcentration = 20, - vCalciumConcentrationActual = 30, - vBicarbonateConcentration = 40 , - vBicarbonateConcentrationActual = 50, - vSodiumConcentration = 60, - vSodiumConcentrationActual = 70, + vPotassiumConcentration = config.potassium_concentrate, + vPotassiumConcentrationActual = config.potassium_concentrate_actual, + vCalciumConcentration = config.calcium_concentrate, + vCalciumConcentrationActual = config.calcium_concentrate_actual, + vBicarbonateConcentration = config.bicarbonate_concentrate , + vBicarbonateConcentrationActual = config.bicarbonate_concentrate_actual, + vSodiumConcentration = 0, + vSodiumConcentrationActual = 0, vVitalsInterval = 5, vVitalsIntervalActual = 10, vDialyzerType = 0, @@ -157,6 +95,80 @@ vIsoUfRateActual = 27.0, vIsoUfRateTarget = 28.0, vWaterSampleTestResult = 0) - verify_values_tx_review() + blood_flow_prescribed_obj = waitForObject(names.o_PostTreatmentBase_bloodFlowDiaysate_ReviewContainer) + blood_flow_prescribed_value_obj = utility.findChildByText(blood_flow_prescribed_obj, "Blood Flow Rate") + blood_flow_prescribed_initial_value = utility.findObjectById(blood_flow_prescribed_value_obj, "_initial") + test.compare(str(blood_flow_prescribed_initial_value.text),str(config.blood_flow_prescribed), "Blood flow prescribed value should be"+str(config.blood_flow_prescribed)) + blood_flow_prescribed_actual_value = utility.findObjectById(blood_flow_prescribed_value_obj,"_actual") + test.compare(str(blood_flow_prescribed_actual_value.text),str(config.blood_flow_actual), "Blood flow actual value should be"+ str(config.blood_flow_actual)) + dialysis_flow_value_obj = utility.findChildByText(blood_flow_prescribed_obj, "Dialysis Flow Rate") + dialysis_flow_value_initial_value = utility.findObjectById(dialysis_flow_value_obj, "_initial") + test.compare(str(dialysis_flow_value_initial_value.text),str(config.dialysis_flow_prescribed), "Dialysis flow prescribed value should be"+str(config.dialysis_flow_prescribed)) + dialysis_flow_value_actual_value = utility.findObjectById(dialysis_flow_value_obj,"_actual") + test.compare(str(dialysis_flow_value_actual_value.text),str(config.dialysis_flow_actual), "Dialysis flow actual value should be"+ str(config.dialysis_flow_actual)) + dialyzer_type = utility.findChildByText(blood_flow_prescribed_obj,"Dialyzer Type") + test.compare(str(dialyzer_type.text),str(config.dialyzer_type), "Dialyzer type value should be"+ str(config.dialyzer_type)) + dialysate_temp_value_obj = utility.findChildByText(blood_flow_prescribed_obj, "Dialysate Temperature") + dialysate_temp_initial_value = utility.findObjectById(dialysate_temp_value_obj, "_initial") + test.compare(str(dialysate_temp_initial_value.text),str(config.dialysate_temperature), "Dialysate temperature value should be"+str(config.dialysate_temperature)) + dialysate_temp_actual_value = utility.findObjectById(dialysate_temp_value_obj,"_actual") + test.compare(str(dialysate_temp_actual_value.text),str(config.dialysate_temperature_actual), "Dialysate temperature actual value should be"+ str(config.dialysate_temperature_actual)) + dialysate_volume_value_obj = utility.findChildByText(blood_flow_prescribed_obj, "Dialysate Volume Used") + dialysate_volume_initial_value = utility.findObjectById(dialysate_volume_value_obj, "_initial") + test.compare(f"{float(str(dialysate_volume_initial_value.text).strip()):.1f}",f"{float(str(config.dialysate_volume)):.1f}","Dialysate volume value should be " + str(config.dialysate_volume)) + mouseWheel(waitForObject(names.o_PostTreatmentBase_ScrollBar), 387, 510, 0, -45, Qt.NoModifier) + potassium_concentrate_obj = waitForObject(names.o_PostTreatmentBase_concentrateSettings_ReviewContainer) + potassium_concentrate_value_obj = utility.findChildByText(potassium_concentrate_obj, "Potassium Concentration") + potassium_concentrate_initial_value = utility.findObjectById(potassium_concentrate_value_obj, "_initial") + test.compare(str(potassium_concentrate_initial_value.text),str(config.potassium_concentrate), "Potassium concentrate value should be"+str(config.potassium_concentrate)) + potassium_concentrate_actual_value = utility.findObjectById(potassium_concentrate_value_obj,"_actual") + test.compare(str(potassium_concentrate_actual_value.text),str(config.potassium_concentrate_actual), "Potassium concentrate actual value should be"+ str(config.potassium_concentrate_actual)) + calcium_concentrate_obj = waitForObject(names.o_PostTreatmentBase_concentrateSettings_ReviewContainer) + calcium_concentrate_value_obj = utility.findChildByText(calcium_concentrate_obj, "Calcium Concentration") + calcium_concentrate_initial_value = utility.findObjectById(calcium_concentrate_value_obj, "_initial") + test.compare(str(calcium_concentrate_initial_value.text),str(config.calcium_concentrate), "Calcium concentrate value should be"+str(config.calcium_concentrate)) + calcium_concentrate_actual_value = utility.findObjectById(calcium_concentrate_value_obj,"_actual") + test.compare(str(calcium_concentrate_actual_value.text),str(config.calcium_concentrate_actual), "Calcium concentrate actual value should be"+ str(config.calcium_concentrate_actual)) + bicarbonate_concentrate_obj = waitForObject(names.o_PostTreatmentBase_concentrateSettings_ReviewContainer) + bicarbonate_concentrate_value_obj = utility.findChildByText(bicarbonate_concentrate_obj, "Bicarbonate Concentration") + bicarbonate_concentrate_initial_value = utility.findObjectById(bicarbonate_concentrate_value_obj, "_initial") + test.compare(str(bicarbonate_concentrate_initial_value.text),str(config.bicarbonate_concentrate), "Bicarbonate concentrate value should be"+str(config.bicarbonate_concentrate)) + bicarbonate_concentrate_actual_value = utility.findObjectById(bicarbonate_concentrate_value_obj,"_actual") + test.compare(str(bicarbonate_concentrate_actual_value.text),str(config.bicarbonate_concentrate_actual), "Bicarbonate concentrate actual value should be"+ str(config.bicarbonate_concentrate_actual)) + + test.endSection() + +def main(): + utils.tstStart(__file__) + test.startSection("Post-Treatment Foundation") + + if can_interface is None: + test.fail("CAN Interface is not available. Stopping tests.") + return + + channel_id = CAN.CanChannels.ui_to_td_ch_id + # Register Blood Set Auto Eject Request + message_id = MsgIds.MSG_ID_UI_ADJUST_DISPOSABLES_REMOVAL_CONFIRM_REQUEST.value + can_interface.register_receiving_publication_function( + channel_id, message_id, handle_blood_set_auto_eject_request + ) + + startApplication(utility.aut("-q")) + + td_simulator.td_operation_mode(TDOpModes.MODE_STAN.value) + td_simulator.td_operation_mode(TDOpModes.MODE_POST.value) + post_treatment = utility.get_object_from_names(names.o_PostTreatmentStack_PostTreatmentStack) + mouseClick(waitForObject(utility.findChildByText(post_treatment, config.CONTINUE), 3000)) + td_simulator.td_patient_disconnect_confirm_response(vAccepted = 1, + vRejectionReason = 0) + mouseClick(waitForObject(utility.findChildByText(post_treatment, config.CONTINUE), 3000)) + mouseClick(waitForObject(utility.findChildByText(post_treatment, config.AUTO_EJECT), 3000)) + test.verify( waitFor(lambda: bloodSetAutoEject == True, 3000),"Testing UI -> TD message Auto Eject",) + td_simulator.td_blood_set_auto_eject_response(vAccepted = 1, + vRejectionReason = 0) + + + verify_values_tx_review() + test.endSection() utils.tstDone() \ No newline at end of file