Index: tst_settings_information/test.py =================================================================== diff -u -rc8be78988bbafd5579d1d18fb62639043d6fb626 -r0d3ed535ddc839d8f7678dda6318685f98927264 --- tst_settings_information/test.py (.../test.py) (revision c8be78988bbafd5579d1d18fb62639043d6fb626) +++ tst_settings_information/test.py (.../test.py) (revision 0d3ed535ddc839d8f7678dda6318685f98927264) @@ -11,16 +11,38 @@ # author Papiya Mandal # author Akshay Dhawan +import builtins +import datetime import names -from configuration import config +from configuration import config, utility +from dialin.common.msg_ids import MsgIds +from dialin.common import msg_defs +from dialin.utils.conversions import unsigned_integer_to_bytearray from dialin.ui.hd_simulator import HDSimulator from dialin.ui.dg_simulator import DGSimulator from dialin.common.hd_defs import HDOpModes from dialin.ui import utils hd_simulator = HDSimulator() dg_simulator = DGSimulator() + +DAY_3 = 3 +DAY_25 = 25 +DAY_12 = 12 +DAY_30 = 30 +MONTH_JAN = 1 +MONTH_NOVEMBER = 11 +MONTH_APRIL = 4 +MONTH_AUGUST = 7 +YEAR_2022 = 2022 +YEAR_1977 = 1977 +YEAR_2001 = 2001 +YEAR_2045 = 2045 +INTERVAL_DAYS_2_YEARS = 730 +INTERVAL_DAYS_1_YEARS = 365 +INTERVAL_DAYS_6_MONTHS = 180 +INTERVAL_DAYS_10_MONTHS = 304 def settings_text_obj(text): names.o_settings_home_text_obj["text"] = text @@ -30,6 +52,10 @@ names.o_settings_base_text_obj["text"] = text return names.o_settings_base_text_obj +def service_date_obj(text): + names.o_service_date_obj["text"] = text + return names.o_service_date_obj + TOUCH_GRID_ITEM_NUMBER_5 = 5 GRID_ITEM_0 = 0 FIRST_PARAMETER_OBJECT_ITEM_POSITION_2 = 2 @@ -172,8 +198,48 @@ else: test.compare(export_btn.enabled, config.DISABLED, "Export button should be disabled") test.endSection() - +def verify_service_date(hd_day, hd_month, hd_year, hd_interval_days, dg_day, dg_month, dg_year, dg_interval_days): + """ + Method to simulate the 'HD last service date', + 'HD next service date', 'DG next service date' + and 'DG next service date' and verify the same is + displayed on UI screen + """ + test.startSection("Verify 'HD last service date', 'HD next service date', 'DG next service date' and 'DG next service date' is displayed on UI screen") + hd_epoch = builtins.int(datetime.datetime(hd_year, hd_month, hd_day).timestamp()) + hd_interval = hd_interval_days * 86400 + payload = unsigned_integer_to_bytearray(hd_epoch) + payload += unsigned_integer_to_bytearray(hd_interval) + hd_simulator.cmd_send_hd_general_response(message_id=138, accepted=0, reason=1, is_pure_data=False, has_parameters=True, parameters_payload=payload) + utils.waitForGUI(1) + hd_last_service_date = datetime.datetime(hd_year, hd_month, hd_day) + hd_last_service_date = str(hd_last_service_date.strftime("%Y/%m/%02d")) + hd_last_service_date_text = waitForObjectExists(service_date_obj(hd_last_service_date)) + test.compare(hd_last_service_date_text.text, hd_last_service_date, "'HD last service date' should be {}".format(hd_last_service_date)) + + hd_next_service_date = datetime.datetime(hd_year, hd_month, hd_day) + datetime.timedelta(days=hd_interval_days) + hd_next_service_date = str(hd_next_service_date.strftime("%Y/%m/%02d")) + hd_next_service_date_text = waitForObjectExists(service_date_obj(hd_next_service_date)) + test.compare(hd_next_service_date_text.text, hd_next_service_date, "'HD next service date' should be {}".format(hd_next_service_date)) + + dg_epoch = builtins.int(datetime.datetime(dg_year, dg_month, dg_day).timestamp()) + dg_interval = dg_interval_days * 86400 + payload = unsigned_integer_to_bytearray(dg_epoch) + payload += unsigned_integer_to_bytearray(dg_interval) + dg_simulator.cmd_send_dg_general_response(message_id=140, accepted=0, reason=1, is_pure_data=False, has_parameters=True, parameters_payload=payload) + utils.waitForGUI(1) + dg_last_service_date = datetime.datetime(dg_year, dg_month, dg_day) + dg_last_service_date = str(dg_last_service_date.strftime("%Y/%m/%02d")) + dg_last_service_date_text = waitForObjectExists(service_date_obj(dg_last_service_date)) + test.compare(dg_last_service_date_text.text, dg_last_service_date, "'DG last service date' should be {}".format(dg_last_service_date)) + + dg_next_service_date = datetime.datetime(dg_year, dg_month, dg_day) + datetime.timedelta(days=dg_interval_days) + dg_next_service_date = str(dg_next_service_date.strftime("%Y/%m/%02d")) + dg_next_service_date_text = waitForObjectExists(service_date_obj(dg_next_service_date)) + test.compare(dg_next_service_date_text.text, dg_next_service_date, "'DG last service date' should be {}".format(dg_next_service_date)) + test.endSection() + def main(): utils.tstStart(__file__) @@ -206,5 +272,17 @@ dg_fpga_id=124, dg_fpga_major=75, dg_fpga_minor=65, dg_fpga_lab=125, dg_compatibility_rev=4000, dg_serial="DG9876543210987") + utils.waitForGUI(0.5) + verify_service_date(hd_day=DAY_3, hd_month=MONTH_NOVEMBER, hd_year=YEAR_2022, hd_interval_days=INTERVAL_DAYS_2_YEARS, dg_day=DAY_25, dg_month=MONTH_JAN, dg_year=YEAR_1977, dg_interval_days=INTERVAL_DAYS_1_YEARS) + + utils.waitForGUI(0.5) + verify_service_date(hd_day=DAY_25, hd_month=MONTH_JAN, hd_year=YEAR_1977, hd_interval_days=INTERVAL_DAYS_1_YEARS, dg_day=DAY_12, dg_month=MONTH_APRIL, dg_year=YEAR_2001, dg_interval_days=INTERVAL_DAYS_6_MONTHS) + + utils.waitForGUI(0.5) + verify_service_date(hd_day=DAY_12, hd_month=MONTH_APRIL, hd_year=YEAR_2001, hd_interval_days=INTERVAL_DAYS_6_MONTHS, dg_day=DAY_30, dg_month=MONTH_AUGUST, dg_year=YEAR_2045, dg_interval_days=INTERVAL_DAYS_10_MONTHS) + + utils.waitForGUI(0.5) + verify_service_date(hd_day=DAY_30, hd_month=MONTH_AUGUST, hd_year=YEAR_2045, hd_interval_days=INTERVAL_DAYS_10_MONTHS, dg_day=DAY_3, dg_month=MONTH_NOVEMBER, dg_year=YEAR_2022, dg_interval_days=INTERVAL_DAYS_2_YEARS) + utils.tstDone() \ No newline at end of file