def setUp(self): self.driver.get(MOB_LOGIN) self.login_page = LoginPage(self.driver) self.task_list_page = ListPage(self.driver) self.patient_list_page = ListPage(self.driver) self.login_page.login(NURSE_USERNM1, NURSE_PWD1) self.task_list_page.go_to_task_list()
def check_task_list(context): patient_name = context.patient_name task_page = ListPage(context.browser) task_list = [ task.find_element(*TASK).text for task in task_page.get_list_items() if task.find_element(*LIST_ITEM_PATIENT_NAME).text == patient_name ] for row in context.table: assert (row.get('tasks') in task_list)
def check_no_notifications(context): patient_name = context.patient_name page_confirm = PageConfirm(context.browser) task_page = ListPage(context.browser) task_page.go_to_task_list() assert (page_confirm.is_task_list_page()) task_list = [ task.find_element(*TASK).text for task in task_page.get_list_items() if task.find_element(*LIST_ITEM_PATIENT_NAME).text == patient_name ] assert (len(task_list) == 0)
def setUp(self): self.driver.get(MOB_LOGIN) self.login_page = LoginPage(self.driver) self.list_page = ListPage(self.driver) self.patient_page = PatientPage(self.driver) self.login_page.login(NURSE_USERNM1, NURSE_PWD1) self.list_page.go_to_patient_list() patients = self.list_page.get_list_items() patient_to_test = patients[0] self.patient_url = patient_to_test.get_attribute('href') self.driver.get(self.patient_url)
def setUp(self): self.driver.get(MOB_LOGIN) self.login_page = LoginPage(self.driver) self.list_page = ListPage(self.driver) self.task_page = TaskPage(self.driver) self.login_page.login(NURSE_USERNM1, NURSE_PWD1) self.list_page.go_to_task_list() tasks = self.list_page.get_list_items() task_to_test = tasks[0] self.task_url = task_to_test.get_attribute('href') self.driver.get(self.task_url)
def setUp(self): self.driver.get(MOB_LOGIN) self.login_page = LoginPage(self.driver) self.list_page = ListPage(self.driver) self.patient_page = PatientPage(self.driver) self.login_page.login(NURSE_USERNM1, NURSE_PWD1) self.list_page.go_to_patient_list() patients = self.list_page.get_list_items() patient_to_test = patients[0] self.patient_url = patient_to_test.get_attribute('href') patient_id = self.patient_url.replace(PATIENT_PAGE, '') self.patient_page.remove_observations_for_patient(int(patient_id)) self.driver.get(self.patient_url) ui.WebDriverWait(self.driver, 5).until( ec.visibility_of_element_located(GRAPH_CHART))
def check_next_ews(context, time, period): patient_name = context.patient_name page_confirm = PageConfirm(context.browser) task_page = ListPage(context.browser) task_page.go_to_patient_list() assert (page_confirm.is_patient_list_page()) task_list = [ task.find_element(*LIST_ITEM_DEADLINE).text for task in task_page.get_list_items() if task.find_element(*LIST_ITEM_PATIENT_NAME).text == patient_name ] assert (len(task_list) == 1) time_range = range(int(time) - 1, int(time) + 1) if period == 'minutes': assert (int(task_list[0][3:][:2]) in time_range) else: assert (int(task_list[0][:2]) in time_range)
def setUp(self): self.driver.get(MOB_LOGIN) self.login_page = LoginPage(self.driver) self.list_page = ListPage(self.driver) self.patient_page = PatientPage(self.driver) self.patient_page_graph = PatientPageGraphs(self.driver) risk_mapping = { 'none': self.patient_page.add_no_risk_observation, 'low': self.patient_page.add_low_risk_observation, 'medium': self.patient_page.add_medium_risk_observation, 'high': self.patient_page.add_high_risk_observation, '3in1': self.patient_page.add_three_in_one_observation } self.login_page.login(NURSE_USERNM1, NURSE_PWD1) self.list_page.go_to_patient_list() patients = self.list_page.get_list_items() patient_to_test = patients[0] patient_id = patient_to_test.get_attribute('href').replace( PATIENT_PAGE, '') self.patient_page.remove_observations_for_patient(int(patient_id)) risk_mapping[self.risk](int(patient_id)) self.driver.get(patient_to_test.get_attribute('href')) ui.WebDriverWait(self.driver, 5).until( ec.visibility_of_element_located((By.CSS_SELECTOR, '#chart svg'))) self.patient_page.change_to_table() obs_table = self.patient_page.get_obs_table() rows = self.patient_page.get_table_rows(obs_table)[1:] self.row_data = [] for row in rows: self.row_data.append(self.patient_page.get_table_data(row)) self.patient_page_graph.change_to_chart() # Focus Graphs focus_graphs = self.patient_page_graph.get_focus_graphs() self.assertEqual(len(focus_graphs), 5, 'Incorrect number of graphs') self.graph_list = [] for graph in focus_graphs: self.graph_list.append(graph) self.graph_data = self.get_graph_data()
def submit_observation(context, clinical_risk): risk_dict = { 'no': NO_RISK_EWS_DATA, 'a low': LOW_RISK_SCORE_1_EWS_DATA, 'a medium': MEDIUM_RISK_SCORE_5_EWS_DATA, 'a high': HIGH_RISK_SCORE_7_EWS_DATA } risk_score = risk_dict.get(clinical_risk) if not risk_score: raise ValueError('No risk score available') page_confirm = PageConfirm(context.browser) patient_list_page = ListPage(context.browser) patient_list_page.go_to_patient_list() assert(page_confirm.is_patient_list_page()) patients = patient_list_page.get_list_items() PatientPage(context.browser).select_patient(patients) PatientPage(context.browser).open_form(OPEN_OBS_MENU_NEWS_ITEM) ObservationFormPage(context.browser).enter_obs_data(risk_score)
def submit_extended_obs(context, risk, stay_duration): durations = { '1-2': 1, '3+': 5 } risk_triggered_acts = { 'no': [], 'a low': [ 'nh.clinical.notification.assessment', 'nh.clinical.notification.hca', 'nh.clinical.notification.nurse' ], 'a medium': [ 'nh.clinical.notification.hca', 'nh.clinical.notification.nurse', 'nh.clinical.notification.shift_coordinator', 'nh.clinical.notification.medical_team', 'nh.clinical.notification.ambulance' ], 'a high': [ 'nh.clinical.notification.hca', 'nh.clinical.notification.nurse', 'nh.clinical.notification.shift_coordinator', 'nh.clinical.notification.medical_team', 'nh.clinical.notification.ambulance' ] } spell_model = context.odoo_client.model('nh.clinical.spell') page_confirm = PageConfirm(context.browser) patient_list_page = ListPage(context.browser) patient_list_page.go_to_patient_list() assert(page_confirm.is_patient_list_page()) patients = patient_list_page.get_list_items() patient = patients[0] patient_id = patient.get_attribute('href').replace( PATIENT_PAGE, '' ) patient_name = patient.find_element(*LIST_ITEM_PATIENT_NAME) context.patient_name = patient_name.text spell_id = spell_model.get_by_patient_id(int(patient_id)) tasks_to_cancel = risk_triggered_acts.get(risk) if tasks_to_cancel: patient_list_page.remove_tasks_for_patient( patient_id, tasks_to_cancel, database=context.test_database_name) present = datetime.now() days_ago = timedelta(days=durations.get(stay_duration)) new_date = present - days_ago new_date_str = new_date.strftime('%Y-%m-%d %H:%M:00') spell_model.write(spell_id, { 'date_started': new_date_str, 'start_date': new_date_str, }) read_date = spell_model.read(spell_id, ['date_started', 'start_date']) assert(read_date['date_started'] == new_date_str) assert(read_date['start_date'] == new_date_str) time.sleep(1) submit_observation(context, risk)