11import logging
22import pandas as pd
33from utils .oracle .oracle import OracleDB
4- from pages .base_page import BasePage
54from datetime import datetime , date
65from enum import IntEnum
76from pages .manual_cease .manual_cease_page import ManualCeasePage
@@ -111,15 +110,15 @@ def process_manual_cease_with_disclaimer(
111110 )
112111
113112 # Step 1: Click "Request Cease"
114- manual_cease_page .request_cease_button . click ()
113+ manual_cease_page .click_request_cease ()
115114 logging .info ("[STEP 1] Clicked 'Request Cease'" )
116115
117116 # Step 2: Select reason
118- manual_cease_page .cease_reason_dropdown . select_option ( label = reason )
117+ manual_cease_page .select_cease_reason ( reason )
119118 logging .info (f"[STEP 2] Selected cease reason: { reason } " )
120119
121120 # Step 3: Save cease request
122- manual_cease_page .save_request_cease_button . click ()
121+ manual_cease_page .click_save_request_cease ()
123122 logging .info ("[STEP 3] Clicked 'Save Request Cease'" )
124123
125124 except TimeoutError :
@@ -128,26 +127,23 @@ def process_manual_cease_with_disclaimer(
128127 )
129128
130129 # Step 4: Record Disclaimer Letter Sent
131- manual_cease_page .record_disclaimer_sent_button . click ()
130+ manual_cease_page .record_disclaimer_sent ()
132131 logging .info ("[STEP 4] Clicked 'Record Disclaimer Letter Sent'" )
133132
134133 # Step 5: Confirm manual sending of disclaimer letter
135- manual_cease_page .confirm_disclaimer_sent_button . click ()
134+ manual_cease_page .confirm_disclaimer_sent ()
136135 logging .info ("[STEP 5] Confirmed disclaimer letter sent" )
137136
138137 # Step 6: Record Return of Disclaimer letter
139- manual_cease_page .record_return_disclaimer_button . click ()
138+ manual_cease_page .record_return_of_disclaimer ()
140139 logging .info ("[STEP 6] Clicked 'Record Return of Disclaimer Letter'" )
141140
142141 # Step 7: Final confirmation (Record Informed Dissent screen)
143- manual_cease_page .notes_field .fill ("AUTO TEST: notes" )
144- today_str = datetime .today ().strftime ("%d/%m/%Y" )
145- manual_cease_page .date_confirmed_field .fill (today_str )
146- logging .info (f"[STEP 7] Entered date: { today_str } and note" )
142+ manual_cease_page .fill_notes_and_date ()
143+ logging .info (f"[STEP 7] Entered note and today's date" )
147144
148- BasePage (manual_cease_page .page ).safe_accept_dialog (
149- manual_cease_page .confirm_cease_button
150- )
145+ # Step 8: Confirm cease
146+ manual_cease_page .confirm_cease ()
151147 logging .info ("[STEP 8] Clicked 'Confirm Cease'" )
152148
153149 @staticmethod
@@ -168,36 +164,22 @@ def process_manual_cease_immediate(
168164 logging .info ("[MANUAL CEASE] Starting full cease workflow" )
169165
170166 # Step 1: Click "Request Cease"
171- manual_cease_page .request_cease_button . click ()
167+ manual_cease_page .click_request_cease ()
172168 logging .info ("[STEP 1] Clicked 'Request Cease'" )
173169
174170 # Step 2: Select reason from dropdown
175- manual_cease_page .cease_reason_dropdown . select_option ( label = reason )
171+ manual_cease_page .select_cease_reason ( reason )
176172 logging .info (f"[STEP 2] Selected cease reason: { reason } " )
177173
178174 # Step 3: Conditionally enter notes and today's date
179175 today_str = datetime .today ().strftime ("%d/%m/%Y" )
180-
181- if manual_cease_page .notes_textbox .is_visible ():
182- manual_cease_page .notes_textbox .fill ("AUTO TEST: notes" )
183- logging .info ("[STEP 3] Entered note" )
184-
185- if manual_cease_page .date_confirmed_field .is_visible ():
186- manual_cease_page .date_confirmed_field .fill (today_str )
187- logging .info (f"[STEP 3] Entered date: { today_str } " )
176+ manual_cease_page .fill_notes_if_visible ()
177+ manual_cease_page .fill_date_if_visible (today_str )
178+ logging .info ("[STEP 3] Entered note and today's date: {date_str}" )
188179
189180 # Step 4: Confirm cease via available button
190- if manual_cease_page .confirm_cease_button .is_visible ():
191- BasePage (manual_cease_page .page ).safe_accept_dialog (
192- manual_cease_page .confirm_cease_button
193- )
194- logging .info ("[STEP 4] Clicked 'Confirm Cease'" )
195- elif manual_cease_page .save_request_cease_button .is_visible ():
196- manual_cease_page .save_request_cease_button .click ()
197- logging .info ("[STEP 4] Clicked 'Save Request Cease'" )
198- else :
199- logging .error ("[STEP 4] No cease confirmation button found!" )
200- raise RuntimeError ("Cease button not found on the page" )
181+ manual_cease_page .confirm_or_save_cease ()
182+ logging .info ("[STEP 4] Clicked 'Confirm Cease' or 'Save Request Cease'" )
201183
202184 @staticmethod
203185 def verify_manual_cease_db_fields_dynamic (
0 commit comments