Skip to content

Commit 06ca32a

Browse files
Merge pull request #392 from NHSDigital/mav-1381
MAV-1381
2 parents fe7d77e + 1165cf1 commit 06ca32a

File tree

5 files changed

+57
-7
lines changed

5 files changed

+57
-7
lines changed

mavis/test/data/__init__.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,18 @@
1+
import re
2+
from enum import Enum
13
from pathlib import Path
24
from typing import List, Optional
3-
from enum import Enum
4-
from faker import Faker
5-
65

76
import nhs_number
87
import pandas as pd
9-
import re
8+
from faker import Faker
109

11-
from ..models import Organisation, School, User, Child
10+
from ..models import Child, Organisation, School, User
1211
from ..wrappers import (
1312
get_current_datetime,
1413
get_current_time,
15-
get_offset_date,
1614
get_date_of_birth_for_year_group,
15+
get_offset_date,
1716
)
1817

1918

@@ -103,6 +102,7 @@ class ClassFileMapping(FileMapping):
103102
MAV_854 = "mav_854"
104103
MAV_965 = "mav_965"
105104
MAV_1080 = "mav_1080"
105+
MAV_1381 = "mav_1381"
106106
MOVES_CONFIRM_IGNORE = "moves_confirm_ignore"
107107
MOVES_UNKNOWN_HOMESCHOOLED = "moves_unknown_homeschooled"
108108
CHANGE_NHSNO = "change_nhsno"
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
CHILD_FIRST_NAME,CHILD_LAST_NAME,CHILD_PREFERRED_FIRST_NAME,CHILD_PREFERRED_LAST_NAME,CHILD_DATE_OF_BIRTH,CHILD_NHS_NUMBER,CHILD_GENDER,CHILD_ADDRESS_LINE_1,CHILD_ADDRESS_LINE_2,CHILD_TOWN,CHILD_REGISTRATION,CHILD_POSTCODE,PARENT_1_NAME,PARENT_1_RELATIONSHIP,PARENT_1_EMAIL,PARENT_1_PHONE,PARENT_2_NAME,PARENT_2_RELATIONSHIP,PARENT_2_EMAIL,PARENT_2_PHONE,CHILD_YEAR_GROUP
2+
<<CHILD_0_FIRST_NAME>>,<<CHILD_0_LAST_NAME>>,,,<<DOB_YEAR_9>>,<<CHILD_0_NHS_NO>>,Male,Addr1,Addr2,Town,8T5,AA1 1AA,Parent1,Dad,dad@example.com,,Parent2,Mum,mum@example.com,,9
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
1 child

mavis/test/pages/sessions.py

Lines changed: 37 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import re
22
from datetime import datetime
3-
from typing import List
43
from pathlib import Path
4+
from typing import List
55

66
from playwright.sync_api import Page, expect
77

@@ -146,6 +146,21 @@ def __init__(
146146
self.pre_screening_listitem = pre_screening.get_by_role("listitem")
147147
self.pre_screening_checkbox = pre_screening.get_by_role("checkbox")
148148
self.pre_screening_notes = pre_screening.get_by_role("textbox")
149+
self.review_no_consent_response_link = self.page.get_by_role(
150+
"link", name="Review   no consent response"
151+
)
152+
self.parent_1_radio = self.page.get_by_text("Parent1")
153+
self.dad_radio = self.page.get_by_text("Dad")
154+
self.in_person_radio = self.page.get_by_text("In person")
155+
self.no_they_no_not_agree_radio = self.page.get_by_text("No, they do not agree")
156+
self.consent_refusal_reason_other_radio = self.page.get_by_text("Other")
157+
self.consent_refusal_details_textbox = self.page.get_by_role(
158+
"textbox", name="Give details"
159+
)
160+
self.review_consent_refused_link = self.page.get_by_role(
161+
"link", name="Review   consent refused"
162+
)
163+
self.overview_tab_link = self.page.get_by_role("link", name="Overview")
149164

150165
def __get_display_formatted_date(self, date_to_format: str) -> str:
151166
_parsed_date = datetime.strptime(date_to_format, "%Y%m%d")
@@ -661,3 +676,24 @@ def record_vaccs_for_child(
661676
expect(self.success_alert).to_contain_text(
662677
f"Vaccination outcome recorded for {programme}"
663678
)
679+
680+
def verify_consent_filters(self, children):
681+
child_name = str(children[0])
682+
self.review_no_consent_response_link.click()
683+
self.page.get_by_role("link", name=child_name).click()
684+
self.click_get_verbal_consent()
685+
self.parent_1_radio.click()
686+
self.click_continue_button()
687+
self.click_continue_button() # Parent details
688+
self.in_person_radio.click()
689+
self.click_continue_button()
690+
self.no_they_no_not_agree_radio.click()
691+
self.click_continue_button()
692+
self.consent_refusal_reason_other_radio.click()
693+
self.click_continue_button()
694+
self.consent_refusal_details_textbox.fill("MAV-1381")
695+
self.click_continue_button()
696+
self.click_confirm_button()
697+
self.overview_tab_link.click()
698+
self.review_consent_refused_link.click()
699+
expect(self.consent_refused_checkbox).to_be_checked()

tests/test_sessions.py

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,11 @@ def setup_mav_1018(setup_session_with_file_upload):
4646
yield from setup_session_with_file_upload(ClassFileMapping.SESSION_ID)
4747

4848

49+
@pytest.fixture
50+
def setup_mav_1381(setup_session_with_file_upload):
51+
yield from setup_session_with_file_upload(ClassFileMapping.MAV_1381)
52+
53+
4954
def test_lifecycle(setup_tests, schools, dashboard_page, sessions_page):
5055
sessions_page.schedule_a_valid_session(schools[0])
5156
dashboard_page.click_mavis()
@@ -70,3 +75,9 @@ def test_verify_attendance_filters(setup_mavis_1822, sessions_page):
7075
@pytest.mark.bug
7176
def test_verify_search(setup_mav_1018, sessions_page):
7277
sessions_page.verify_search()
78+
79+
80+
@allure.issue("MAV-1381")
81+
@pytest.mark.bug
82+
def test_verify_consent_filters(setup_mav_1381, sessions_page, children):
83+
sessions_page.verify_consent_filters(children)

0 commit comments

Comments
 (0)