11import pytest
22import logging
33from playwright .sync_api import Page
4- from streamlit import user
54from classes .user .user import User
65from classes .subject .subject import Subject
76from pages .logout .log_out_page import LogoutPage
8- from utils .oracle .subject_selector import SubjectSelector
97from utils .oracle .oracle import OracleDB
108from utils .user_tools import UserTools
119from pages .subject .subject_lynch_page import SubjectPage
@@ -23,7 +21,7 @@ def test_lynch_self_referral_seeking_further_data_flow(page: Page) -> None:
2321
2422 # Temporary helper
2523 # The below lines down to logging.info are just for debug purposes to show the actual DB row
26- # Remove them once the test is stable
24+ # TODO: Remove this once the test is stable
2725 def debug_log_subject_db_row (nhs_no ):
2826 query , bind_vars = SubjectSelectionQueryBuilder ().build_subject_selection_query (
2927 criteria = {"nhs number" : nhs_no },
@@ -53,8 +51,10 @@ def debug_log_subject_db_row(nhs_no):
5351 login_role = "Hub Manager at BCS01"
5452 user_role = UserTools .user_login (page , login_role , True )
5553 if user_role is None :
56- raise ValueError (f"User role '{ login_role } ' could not be determined after login." )
57-
54+ raise ValueError (
55+ f"User role '{ login_role } ' could not be determined after login."
56+ )
57+
5858 # When I receive Lynch diagnosis "EPCAM" for a new subject in my hub aged "75" with diagnosis date "3 years ago" and last colonoscopy date "2 years ago"
5959 # Get or create a subject suitable for Lynch self-referral
6060 nhs_no = insert_validated_lynch_patient_from_new_subject_with_age (
@@ -75,99 +75,99 @@ def debug_log_subject_db_row(nhs_no):
7575 logging .info (f"[UI ACTION] Navigated to subject summary page for { nhs_no } " )
7676
7777 # # When I self refer the subject
78- # # TODO: This step may not be needed as the created subject already has a status of "Self-referral"
79- # subject_page.self_refer_subject()
80- # logging.info("[UI ACTION] Self-referred the subject")
78+ # # TODO: This step may not be needed as the created subject already has a status of "Self-referral"?
79+ subject_page .self_refer_subject ()
80+ logging .info ("[UI ACTION] Self-referred the subject" )
8181
8282 # Then my subject has been updated as follows:
8383 self_referral_criteria = {
8484 "calculated fobt due date" : "Null" ,
8585 "calculated lynch due date" : "Today" ,
86- # "calculated surveillance due date": "Null",
87- # "lynch due date": "Today",
88- # "lynch due date date of change": "Null",
89- # "lynch due date reason": "Self-referral",
90- # "previous screening status": "Lynch Surveillance",
91- # "screening due date": "Null",
92- # "screening due date date of change": "Null",
93- # "screening due date reason": "null",
94- # "screening status": "Lynch Self-referral",
95- # "screening status date of change": "Today",
96- # "screening status reason": "Self-Referral",
97- # "subject has lynch diagnosis": "Yes",
98- # "subject lower fobt age": "Default",
99- # "subject lower lynch age": "25",
100- # "surveillance due date date of change": "Null",
101- # "surveillance due date reason": "null",
102- # "surveillance due date": "Null",
86+ "calculated surveillance due date" : "Null" ,
87+ "lynch due date" : "Today" ,
88+ "lynch due date date of change" : "Null" ,
89+ "lynch due date reason" : "Self-referral" ,
90+ "previous screening status" : "Lynch Surveillance" ,
91+ "screening due date" : "Null" ,
92+ "screening due date date of change" : "Null" ,
93+ "screening due date reason" : "null" ,
94+ "screening status" : "Lynch Self-referral" ,
95+ "screening status date of change" : "Today" ,
96+ "screening status reason" : "Self-Referral" ,
97+ "subject has lynch diagnosis" : "Yes" ,
98+ "subject lower fobt age" : "Default" ,
99+ "subject lower lynch age" : "25" ,
100+ "surveillance due date date of change" : "Null" ,
101+ "surveillance due date reason" : "null" ,
102+ "surveillance due date" : "Null" ,
103103 }
104- debug_log_subject_db_row (nhs_no ) # For debug purposes - can be removed later
104+ debug_log_subject_db_row (nhs_no ) # TODO: For debug purposes - can be removed later
105105
106106 subject_assertion (nhs_no , self_referral_criteria )
107107 logging .info (
108108 "[ASSERTION PASSED] Subject details after self-referral are as expected"
109109 )
110110
111- # # When I view the subject
112- # screening_subject_page_searcher.navigate_to_subject_summary_page(page, nhs_no)
113-
114- # # And I set the subject to Seeking Further Data
115- # subject_page.set_seeking_further_data()
116-
117- # # Then my subject has been updated as follows:
118- # seeking_further_data_criteria = {
119- # "calculated fobt due date": "Null",
120- # "calculated lynch due date": "today",
121- # "calculated surveillance due date": "Null",
122- # "lynch due date": "today",
123- # "lynch due date date of change": "Null",
124- # "lynch due date reason": "Self-referral",
125- # "previous screening status": "Lynch Self-referral",
126- # "screening due date": "Null",
127- # "screening due date date of change": "Null",
128- # "screening due date reason": "Null",
129- # "subject has lynch diagnosis": "Yes",
130- # "subject lower fobt age": "Default",
131- # "subject lower lynch age": "25",
132- # "screening status": "Seeking Further Data",
133- # "screening status date of change": "Today",
134- # "screening status reason": "Uncertified Death",
135- # "surveillance due date": "Null",
136- # "surveillance due date date of change": "Null",
137- # "surveillance due date reason": "Null",
138- # }
139- # debug_log_subject_db_row(nhs_no) # For debug purposes - can be removed later
140-
141- # subject_assertion(nhs_no, seeking_further_data_criteria)
142-
143- # # When I set the subject from Seeking Further Data back to "Lynch Self-referral"
144- # subject_page.set_self_referral_screening_status()
145-
146- # # Then my subject has been updated as follows:
147- # reverted_criteria = {
148- # "calculated fobt due date": "Null",
149- # "calculated lynch due date": "today",
150- # "calculated surveillance due date": "Null",
151- # "lynch due date": "today",
152- # "lynch due date date of change": "Null",
153- # "lynch due date reason": "Self-referral",
154- # "previous screening status": "Lynch Self-referral",
155- # "screening due date": "Null",
156- # "screening due date date of change": "Null",
157- # "screening due date reason": "Null",
158- # "subject has lynch diagnosis": "Yes",
159- # "subject lower fobt age": "Default",
160- # "subject lower lynch age": "25",
161- # "screening status": "Lynch Self-referral",
162- # "screening status date of change": "Today",
163- # "screening status reason": "Reset seeking further data to Lynch Self-referral",
164- # "surveillance due date": "Null",
165- # "surveillance due date date of change": "Null",
166- # "surveillance due date reason": "Null",
167- # }
168- # debug_log_subject_db_row(nhs_no) # For debug purposes - can be removed later
169-
170- # subject_assertion(nhs_no, reverted_criteria)
171-
172- # LogoutPage(page).log_out()
173- # logging.info("[TEST END] test_lynch_self_referral_seeking_further_data_flow")
111+ # When I view the subject
112+ screening_subject_page_searcher .navigate_to_subject_summary_page (page , nhs_no )
113+
114+ # And I set the subject to Seeking Further Data
115+ subject_page .set_seeking_further_data ()
116+
117+ # Then my subject has been updated as follows:
118+ seeking_further_data_criteria = {
119+ "calculated fobt due date" : "Null" ,
120+ "calculated lynch due date" : "today" ,
121+ "calculated surveillance due date" : "Null" ,
122+ "lynch due date" : "today" ,
123+ "lynch due date date of change" : "Null" ,
124+ "lynch due date reason" : "Self-referral" ,
125+ "previous screening status" : "Lynch Self-referral" ,
126+ "screening due date" : "Null" ,
127+ "screening due date date of change" : "Null" ,
128+ "screening due date reason" : "Null" ,
129+ "subject has lynch diagnosis" : "Yes" ,
130+ "subject lower fobt age" : "Default" ,
131+ "subject lower lynch age" : "25" ,
132+ "screening status" : "Seeking Further Data" ,
133+ "screening status date of change" : "Today" ,
134+ "screening status reason" : "Uncertified Death" ,
135+ "surveillance due date" : "Null" ,
136+ "surveillance due date date of change" : "Null" ,
137+ "surveillance due date reason" : "Null" ,
138+ }
139+ debug_log_subject_db_row (nhs_no ) # TODO: For debug purposes - can be removed later
140+
141+ subject_assertion (nhs_no , seeking_further_data_criteria )
142+
143+ # When I set the subject from Seeking Further Data back to "Lynch Self-referral"
144+ subject_page .set_self_referral_screening_status ()
145+
146+ # Then my subject has been updated as follows:
147+ reverted_criteria = {
148+ "calculated fobt due date" : "Null" ,
149+ "calculated lynch due date" : "today" ,
150+ "calculated surveillance due date" : "Null" ,
151+ "lynch due date" : "today" ,
152+ "lynch due date date of change" : "Null" ,
153+ "lynch due date reason" : "Self-referral" ,
154+ "previous screening status" : "Lynch Self-referral" ,
155+ "screening due date" : "Null" ,
156+ "screening due date date of change" : "Null" ,
157+ "screening due date reason" : "Null" ,
158+ "subject has lynch diagnosis" : "Yes" ,
159+ "subject lower fobt age" : "Default" ,
160+ "subject lower lynch age" : "25" ,
161+ "screening status" : "Lynch Self-referral" ,
162+ "screening status date of change" : "Today" ,
163+ "screening status reason" : "Reset seeking further data to Lynch Self-referral" ,
164+ "surveillance due date" : "Null" ,
165+ "surveillance due date date of change" : "Null" ,
166+ "surveillance due date reason" : "Null" ,
167+ }
168+ debug_log_subject_db_row (nhs_no ) # TODO: For debug purposes - can be removed later
169+
170+ subject_assertion (nhs_no , reverted_criteria )
171+
172+ LogoutPage (page ).log_out ()
173+ logging .info ("[TEST END] test_lynch_self_referral_seeking_further_data_flow" )
0 commit comments