@@ -11,14 +11,26 @@ def __init__(self, page: Page):
1111 super ().__init__ (page )
1212 self .page = page
1313 # List of episode events and notes - page locators
14- self .latest_event_status_cell = self .page .locator ("table >> td.epihdr_data" ).nth (0 ) # if it's the first one
15- self .latest_event_cell = self .page .get_by_role ("cell" , name = "Record Diagnosis Date" , exact = True )
16- self .latest_diagnosis_cell = self .page .locator ("td[align='center']:has-text('Diag Date :')" )
14+ self .latest_event_status_cell = self .page .locator (
15+ "table >> td.epihdr_data"
16+ ).nth (
17+ 0
18+ ) # if it's the first one
19+ self .latest_event_cell = self .page .get_by_role (
20+ "cell" , name = "Record Diagnosis Date" , exact = True
21+ )
22+ self .latest_diagnosis_cell = self .page .locator (
23+ "td[align='center']:has-text('Diag Date :')"
24+ )
1725
1826 # Episode details (Replace with actual selectors only for scenario 17)
1927 self .latest_episode_status = self .page .locator ("#latestEpisodeStatus" )
20- self .latest_episode_has_diagnosis_date = self .page .locator ("#latestEpisodeHasDiagnosisDate" )
21- self .latest_episode_diagnosis_reason = self .page .locator ("#latestEpisodeDiagnosisDateReason" )
28+ self .latest_episode_has_diagnosis_date = self .page .locator (
29+ "#latestEpisodeHasDiagnosisDate"
30+ )
31+ self .latest_episode_diagnosis_reason = self .page .locator (
32+ "#latestEpisodeDiagnosisDateReason"
33+ )
2234 self .process_sspi_update_button = self .page .get_by_text ("Process SSPI Update" )
2335 self .deduction_reason_dropdown = self .page .locator ("#deductionReason" )
2436 self .confirm_sspi_update_button = self .page .get_by_text ("Confirm" )
@@ -49,15 +61,14 @@ def get_latest_event_details(self) -> dict:
4961 def validate_event_status_is_not_A50 (self , event_details : dict ) -> None :
5062 """Validates that latest_event_status does not contain 'A50'."""
5163 latest_status = event_details .get ("latest_event_status" )
52-
5364 logging .info (f"Validating Latest Event Status: { latest_status } " )
5465
5566 if latest_status is None :
5667 pytest .fail ("Missing 'latest_event_status' in event_details." )
57-
58- if "A50" in latest_status :
59- pytest . fail ( f"Invalid status detected: 'A50' is not allowed. Received: '{ latest_status } '" )
60-
68+ elif "A50" in str ( latest_status ):
69+ pytest . fail (
70+ f"Invalid status detected: 'A50' is not allowed. Received: '{ latest_status } '"
71+ )
6172 logging .info (f"Status '{ latest_status } ' is allowed." )
6273
6374 def is_record_diagnosis_date_option_available (self ) -> bool :
@@ -68,7 +79,9 @@ def is_record_diagnosis_date_option_available(self) -> bool:
6879 bool: True if the option is available, False otherwise.
6980 """
7081 try :
71- return self .page .get_by_role ("button" , name = "Record Diagnosis Date" ).is_visible ()
82+ return self .page .get_by_role (
83+ "button" , name = "Record Diagnosis Date"
84+ ).is_visible ()
7285 except Exception as e :
7386 logging .error (f"Error checking for 'Record Diagnosis Date' option: { e } " )
7487 return False
@@ -81,7 +94,9 @@ def is_amend_diagnosis_date_option_available(self) -> bool:
8194 bool: True if the option is available, False otherwise.
8295 """
8396 try :
84- return self .page .get_by_role ("button" , name = "Amend Diagnosis Date" ).is_visible ()
97+ return self .page .get_by_role (
98+ "button" , name = "Amend Diagnosis Date"
99+ ).is_visible ()
85100 except Exception as e :
86101 logging .error (f"Error checking for 'Amend Diagnosis Date' option: { e } " )
87102 return False
0 commit comments