From 55378dd1297086497e8d8ab52771a19537e55762 Mon Sep 17 00:00:00 2001 From: "chinmay.mudholkar1@nhs.net" Date: Wed, 11 Dec 2024 14:38:56 +0000 Subject: [PATCH 1/5] MAVIS-1729 --- libs/constants.py | 3 +- pages/pg_programmes.py | 32 ++++++++++++++++++++++ test_data/file_mapping.csv | 3 +- test_data/hpv/i_dose_two.csv | 2 ++ tests/test_07_record_a_vaccine_using_ui.py | 27 +++++++++++++++--- 5 files changed, 61 insertions(+), 6 deletions(-) create mode 100644 test_data/hpv/i_dose_two.csv diff --git a/libs/constants.py b/libs/constants.py index 8229fd56766..49a080eec00 100644 --- a/libs/constants.py +++ b/libs/constants.py @@ -123,7 +123,6 @@ class test_data_file_paths: COHORTS_INVALID_STRUCTURE: Final[str] = "COHORTS_INVALID_STRUCTURE" COHORTS_EMPTY_FILE: Final[str] = "COHORTS_EMPTY_FILE" COHORTS_HEADER_ONLY: Final[str] = "COHORTS_HEADER_ONLY" - COHORTS_NO_APPROVAL: Final[str] = "COHORTS_NO_APPROVAL" CHILD_POSITIVE: Final[str] = "CHILD_POSITIVE" CHILD_NEGATIVE: Final[str] = "CHILD_NEGATIVE" CHILD_INVALID_STRUCTURE: Final[str] = "CHILD_INVALID_STRUCTURE" @@ -134,3 +133,5 @@ class test_data_file_paths: CLASS_INVALID_STRUCTURE: Final[str] = "CLASS_INVALID_STRUCTURE" CLASS_EMPTY_FILE: Final[str] = "CLASS_EMPTY_FILE" CLASS_HEADER_ONLY: Final[str] = "CLASS_HEADER_ONLY" + COHORTS_NO_APPROVAL: Final[str] = "COHORTS_NO_APPROVAL" + VACCS_HPV_DOSE_TWO: Final[str] = "VACCS_HPV_DOSE_TWO" diff --git a/pages/pg_programmes.py b/pages/pg_programmes.py index 5ed6e6517fa..600c13a3089 100644 --- a/pages/pg_programmes.py +++ b/pages/pg_programmes.py @@ -22,6 +22,8 @@ class pg_programmes: LBL_IMPORT_STARTED = "Import processing started" LBL_PARAGRAPH = "paragraph" LBL_MAIN = "main" + LNK_DOSE2_CHILD = "Dose2 Dose2" + BTN_EDIT_VACCINATION_RECORD = "Edit vaccination record" def click_hpv(self): self.po.perform_action(locator=self.LNK_HPV, action=actions.CLICK_LINK) @@ -29,9 +31,18 @@ def click_hpv(self): def click_imports(self): self.po.perform_action(locator=self.LNK_IMPORTS, action=actions.CLICK_LINK) + def click_vaccinations(self): + self.po.perform_action( + locator="get_by_label('Secondary menu').get_by_role('link', name='Vaccinations').click()", + action=actions.CHAIN_LOCATOR_ACTION, + ) + def click_cohorts(self): self.po.perform_action(locator=self.LNK_COHORTS, action=actions.CLICK_LINK) + def click_edit_vaccination_record(self): + self.po.perform_action(locator=self.BTN_EDIT_VACCINATION_RECORD, action=actions.CLICK_BUTTON) + def click_import_records(self): self.po.perform_action(locator=self.LNK_IMPORT_RECORDS, action=actions.CLICK_LINK) @@ -76,6 +87,9 @@ def click_uploaded_file_datetime(self): def record_upload_time(self): self.upload_time = get_link_formatted_date_time() + def click_dose2_child(self): + self.po.perform_action(locator=self.LNK_DOSE2_CHILD, action=actions.CLICK_LINK) + def verify_upload_output(self, file_path: str): _expected_errors = self.tdo.get_expected_errors(file_path=file_path) if _expected_errors is not None: @@ -156,3 +170,21 @@ def upload_invalid_hpv_child_records(self, file_paths: str): self.choose_file_child_records(file_path=_input_file_path) self.click_continue() self.verify_upload_output(file_path=_output_file_path) + + def edit_dose_to_not_given(self): + self.click_hpv() + self.click_vaccinations() + self.click_dose2_child() + self.click_edit_vaccination_record() + self.po.perform_action(locator="Change   outcome", action=actions.CLICK_LINK) + self.po.perform_action(locator="They refused it", action=actions.RADIO_BUTTON_SELECT) + self.click_continue() + self.po.perform_action(locator="Save changes", action=actions.CLICK_BUTTON) + self.po.verify( + locator=self.LBL_MAIN, + property=object_properties.TEXT, + value="!Sorry, there’s a problem with the service", + exact=False, + by_test_id=False, + chain_locator=False, + ) diff --git a/test_data/file_mapping.csv b/test_data/file_mapping.csv index fc366d2ecb3..5848a2196c1 100644 --- a/test_data/file_mapping.csv +++ b/test_data/file_mapping.csv @@ -13,7 +13,6 @@ COHORTS_NEGATIVE,test_data/cohorts/i_negative.csv,test_data/cohorts/o_negative.c COHORTS_INVALID_STRUCTURE,test_data/cohorts/i_invalid_structure.csv,test_data/cohorts/o_invalid_structure.csv,cohort COHORTS_EMPTY_FILE,test_data/cohorts/i_empty.csv,test_data/cohorts/o_empty.csv,cohort COHORTS_HEADER_ONLY,test_data/cohorts/i_header_only.csv,test_data/cohorts/o_header_only.csv,cohort -COHORTS_NO_APPROVAL,test_data/cohorts/i_no_consent.csv,,cohort CHILD_POSITIVE,test_data/child/i_positive.csv,test_data/child/o_positive.csv,child CHILD_NEGATIVE,test_data/child/i_negative.csv,test_data/child/o_negative.csv,child CHILD_INVALID_STRUCTURE,test_data/child/i_invalid_structure.csv,test_data/child/o_invalid_structure.csv,child @@ -24,3 +23,5 @@ CLASS_NEGATIVE,test_data/class_list/i_negative.csv,test_data/class_list/o_negati CLASS_INVALID_STRUCTURE,test_data/class_list/i_invalid_structure.csv,test_data/class_list/o_invalid_structure.csv,class CLASS_EMPTY_FILE,test_data/class_list/i_empty.csv,test_data/class_list/o_empty.csv,class CLASS_HEADER_ONLY,test_data/class_list/i_header_only.csv,test_data/class_list/o_header_only.csv,class +COHORTS_NO_APPROVAL,test_data/cohorts/i_no_consent.csv,,cohort +VACCS_HPV_DOSE_TWO,test_data/hpv/i_dose_two.csv,,hpv diff --git a/test_data/hpv/i_dose_two.csv b/test_data/hpv/i_dose_two.csv new file mode 100644 index 00000000000..ef16dab7ef4 --- /dev/null +++ b/test_data/hpv/i_dose_two.csv @@ -0,0 +1,2 @@ +ORGANISATION_CODE,SCHOOL_URN,SCHOOL_NAME,NHS_NUMBER,PERSON_FORENAME,PERSON_SURNAME,PERSON_DOB,PERSON_GENDER_CODE,PERSON_POSTCODE,DATE_OF_VACCINATION,VACCINE_GIVEN,BATCH_NUMBER,BATCH_EXPIRY_DATE,ANATOMICAL_SITE,DOSE_SEQUENCE,VACCINATED,CARE_SETTING,PERFORMING_PROFESSIONAL_FORENAME,PERFORMING_PROFESSIONAL_SURNAME,PERFORMING_PROFESSIONAL_EMAIL,CLINIC_NAME,TIME_OF_VACCINATION,REASON_NOT_VACCINATED +R1L,142181,Bohunt School Wokingham,<>,Dose2,Dose2,20100228,Female,DN9 1PB,<>,Gardasil9,Batch1,20301231,left thigh,2,Y,1,,,nurse.joy@example.com,Clinic,00:01, diff --git a/tests/test_07_record_a_vaccine_using_ui.py b/tests/test_07_record_a_vaccine_using_ui.py index 5bc9e56d05f..622c9f81895 100644 --- a/tests/test_07_record_a_vaccine_using_ui.py +++ b/tests/test_07_record_a_vaccine_using_ui.py @@ -1,15 +1,16 @@ import pytest from libs.constants import test_data_file_paths -from pages import pg_dashboard, pg_login, pg_sessions +from pages import pg_dashboard, pg_login, pg_programmes, pg_sessions class Test_Record_a_Vaccine_Using_UI: login_page = pg_login.pg_login() dashboard_page = pg_dashboard.pg_dashboard() sessions_page = pg_sessions.pg_sessions() + programmes_page = pg_programmes.pg_programmes() - @pytest.fixture(scope="function", autouse=True) + @pytest.fixture(scope="function") def setup_tests(self, start_mavis: None): self.login_page.login_as_nurse() self.dashboard_page.click_sessions() @@ -24,10 +25,28 @@ def setup_tests(self, start_mavis: None): @pytest.mark.rav @pytest.mark.order(701) - def test_rav_triage_positive(self): + def test_rav_triage_positive(self, setup_tests): self.sessions_page.update_triage_outcome_positive(file_paths=test_data_file_paths.COHORTS_POSITIVE) @pytest.mark.rav @pytest.mark.order(702) - def test_rav_triage_consent_refused(self): + def test_rav_triage_consent_refused(self, setup_tests): self.sessions_page.update_triage_outcome_consent_refused(file_paths=test_data_file_paths.COHORTS_POSITIVE) + + @pytest.mark.rav + @pytest.mark.order(703) + @pytest.mark.skip(reason="Under construction") + def test_rav_edit_dose_to_not_given(self, start_mavis): + self.login_page.login_as_nurse() + self.dashboard_page.click_sessions() + self.sessions_page.schedule_a_valid_session(for_today=True) + self.dashboard_page.go_to_dashboard() + self.dashboard_page.click_programmes() + self.programmes_page.upload_hpv_vaccination_records(file_paths=test_data_file_paths.VACCS_HPV_DOSE_TWO) + self.dashboard_page.go_to_dashboard() + self.dashboard_page.click_programmes() + self.programmes_page.edit_dose_to_not_given() # MAVIS-1729 + self.dashboard_page.go_to_dashboard() + self.dashboard_page.click_sessions() + self.sessions_page.delete_all_sessions() + self.login_page.logout_of_mavis() From f2b64a07873e9c37735ddcf1c288f5b2d52df921 Mon Sep 17 00:00:00 2001 From: "chinmay.mudholkar1@nhs.net" Date: Wed, 11 Dec 2024 14:45:20 +0000 Subject: [PATCH 2/5] MAVIS-1729 --- pages/pg_programmes.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/pages/pg_programmes.py b/pages/pg_programmes.py index 600c13a3089..7734c679dfe 100644 --- a/pages/pg_programmes.py +++ b/pages/pg_programmes.py @@ -11,6 +11,7 @@ class pg_programmes: LNK_HPV = "HPV" LNK_IMPORTS = "Imports" + LNK_VACCINATIONS = "Vaccinations" LNK_COHORTS = "Cohorts" LNK_IMPORT_CHILD_RECORDS = "Import child records" LNK_IMPORT_RECORDS = "Import records" @@ -32,10 +33,7 @@ def click_imports(self): self.po.perform_action(locator=self.LNK_IMPORTS, action=actions.CLICK_LINK) def click_vaccinations(self): - self.po.perform_action( - locator="get_by_label('Secondary menu').get_by_role('link', name='Vaccinations').click()", - action=actions.CHAIN_LOCATOR_ACTION, - ) + self.po.perform_action(locator=self.LNK_VACCINATIONS, action=actions.CLICK_LINK, exact=True) def click_cohorts(self): self.po.perform_action(locator=self.LNK_COHORTS, action=actions.CLICK_LINK) From 575508826609cb21e784ed1f0da17105da8d80b0 Mon Sep 17 00:00:00 2001 From: "chinmay.mudholkar1@nhs.net" Date: Wed, 11 Dec 2024 15:18:45 +0000 Subject: [PATCH 3/5] MAVIS-1729 - 3 --- pages/pg_programmes.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/pages/pg_programmes.py b/pages/pg_programmes.py index 7734c679dfe..ca88ca3064d 100644 --- a/pages/pg_programmes.py +++ b/pages/pg_programmes.py @@ -24,7 +24,10 @@ class pg_programmes: LBL_PARAGRAPH = "paragraph" LBL_MAIN = "main" LNK_DOSE2_CHILD = "Dose2 Dose2" + LNK_CHANGE_OUTCOME = "Change   outcome" + RDO_THEY_REFUSED_IT = "They refused it" BTN_EDIT_VACCINATION_RECORD = "Edit vaccination record" + BTN_SAVE_CHANGES = "Save changes" def click_hpv(self): self.po.perform_action(locator=self.LNK_HPV, action=actions.CLICK_LINK) @@ -174,15 +177,13 @@ def edit_dose_to_not_given(self): self.click_vaccinations() self.click_dose2_child() self.click_edit_vaccination_record() - self.po.perform_action(locator="Change   outcome", action=actions.CLICK_LINK) - self.po.perform_action(locator="They refused it", action=actions.RADIO_BUTTON_SELECT) + self.po.perform_action(locator=self.LNK_CHANGE_OUTCOME, action=actions.CLICK_LINK) + self.po.perform_action(locator=self.RDO_THEY_REFUSED_IT, action=actions.RADIO_BUTTON_SELECT) self.click_continue() - self.po.perform_action(locator="Save changes", action=actions.CLICK_BUTTON) + self.po.perform_action(locator=self.BTN_SAVE_CHANGES, action=actions.CLICK_BUTTON) self.po.verify( locator=self.LBL_MAIN, property=object_properties.TEXT, value="!Sorry, there’s a problem with the service", exact=False, - by_test_id=False, - chain_locator=False, ) From 5dfbee910bb30c88adfd29d54f430799e4c27139 Mon Sep 17 00:00:00 2001 From: "chinmay.mudholkar1@nhs.net" Date: Wed, 11 Dec 2024 17:37:37 +0000 Subject: [PATCH 4/5] reason --- tests/test_07_record_a_vaccine_using_ui.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/test_07_record_a_vaccine_using_ui.py b/tests/test_07_record_a_vaccine_using_ui.py index 622c9f81895..e81e277820d 100644 --- a/tests/test_07_record_a_vaccine_using_ui.py +++ b/tests/test_07_record_a_vaccine_using_ui.py @@ -35,7 +35,7 @@ def test_rav_triage_consent_refused(self, setup_tests): @pytest.mark.rav @pytest.mark.order(703) - @pytest.mark.skip(reason="Under construction") + @pytest.mark.skip(reason="Development in progress") def test_rav_edit_dose_to_not_given(self, start_mavis): self.login_page.login_as_nurse() self.dashboard_page.click_sessions() From 2aa54efb29553626260678a3aa53686677b566d9 Mon Sep 17 00:00:00 2001 From: "chinmay.mudholkar1@nhs.net" Date: Wed, 11 Dec 2024 18:35:21 +0000 Subject: [PATCH 5/5] New tests --- pages/pg_school_moves.py | 3 +++ test_data/ParentalConsent.xlsx | Bin 8767 -> 8868 bytes tests/test_11_school_moves.py | 6 ++++++ 3 files changed, 9 insertions(+) diff --git a/pages/pg_school_moves.py b/pages/pg_school_moves.py index 03a8001118a..50913d98016 100644 --- a/pages/pg_school_moves.py +++ b/pages/pg_school_moves.py @@ -31,3 +31,6 @@ def ignore_school_move(self): self.po.perform_action(locator=self.BTN_UPDATE_SCHOOL, action=actions.CLICK_BUTTON) _success_message = "’s school move ignored" self.po.verify(locator=self.LBL_PARAGRAPH, property=object_properties.TEXT, value=_success_message) + + def upload_new_student_to_closed_session(self): + pass diff --git a/test_data/ParentalConsent.xlsx b/test_data/ParentalConsent.xlsx index 1672fed5a475d4a7013a6041594e4d09f11c4c4c..9037eca81e069857253f36632d204234aa1eb6f7 100644 GIT binary patch delta 4753 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 dCjz{AB2t?{tGg+x2XUC delta 4667 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 diff --git a/tests/test_11_school_moves.py b/tests/test_11_school_moves.py index 507915f92cd..177adba2ccf 100644 --- a/tests/test_11_school_moves.py +++ b/tests/test_11_school_moves.py @@ -41,3 +41,9 @@ def test_school_moves_update_school_movers(self): self.dashboard_page.go_to_dashboard() self.dashboard_page.click_school_moves() self.school_moves_page.ignore_school_move() + + @pytest.mark.schoolmoves + @pytest.mark.order(1103) + @pytest.mark.skip(reason="Under construction") + def test_school_moves_new_student_to_closed_session(self): + self.school_moves_page.upload_new_student_to_closed_session()