Skip to content

Commit a488fa7

Browse files
Superuser
1 parent b4cfbb4 commit a488fa7

15 files changed

+57
-26
lines changed

.github/workflows/MAVIS_TEST.yml

Lines changed: 22 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -92,7 +92,7 @@ jobs:
9292
echo "::group::Firefox"
9393
pytest --browser_or_device firefox
9494
echo "::endgroup::"
95-
- name: Test on iPhone 12
95+
- name: Test on iPhone 14
9696
env:
9797
HEADLESS: ${{ vars.HEADLESS }}
9898
CAPTURE_SCREENSHOTS: ${{ vars.CAPTURE_SCREENSHOTS }}
@@ -105,10 +105,10 @@ jobs:
105105
TEST_USERNAME: ${{ secrets.TEST_USERNAME }}
106106
API_TOKEN: ${{ secrets.API_TOKEN }}
107107
run: |
108-
echo "::group::iPhone 12"
109-
pytest -m mobile --browser_or_device iphone_12
108+
echo "::group::iPhone 14"
109+
pytest -m mobile --browser_or_device iphone_14
110110
echo "::endgroup::"
111-
- name: Test on iPhone 11
111+
- name: Test on iPhone 15
112112
env:
113113
HEADLESS: ${{ vars.HEADLESS }}
114114
CAPTURE_SCREENSHOTS: ${{ vars.CAPTURE_SCREENSHOTS }}
@@ -121,8 +121,24 @@ jobs:
121121
TEST_USERNAME: ${{ secrets.TEST_USERNAME }}
122122
API_TOKEN: ${{ secrets.API_TOKEN }}
123123
run: |
124-
echo "::group::iPhone 11"
125-
pytest -m mobile --browser_or_device iphone_11
124+
echo "::group::iPhone 15"
125+
pytest -m mobile --browser_or_device iphone_15
126+
echo "::endgroup::"
127+
- name: Test on iPad Gen 7
128+
env:
129+
HEADLESS: ${{ vars.HEADLESS }}
130+
CAPTURE_SCREENSHOTS: ${{ vars.CAPTURE_SCREENSHOTS }}
131+
TEST_URL: ${{ vars.TEST_URL }}
132+
PARENTAL_CONSENT_URL: ${{ vars.PARENTAL_CONSENT_URL }}
133+
RESET_ENDPOINT: ${{ vars.RESET_ENDPOINT }}
134+
LOGIN_PASSWORD: ${{ secrets.LOGIN_PASSWORD }}
135+
LOGIN_USERNAME: ${{ secrets.LOGIN_USERNAME }}
136+
TEST_PASSWORD: ${{ secrets.TEST_PASSWORD }}
137+
TEST_USERNAME: ${{ secrets.TEST_USERNAME }}
138+
API_TOKEN: ${{ secrets.API_TOKEN }}
139+
run: |
140+
echo "::group::iPad Gen 7"
141+
pytest -m mobile --browser_or_device ipad_7
126142
echo "::endgroup::"
127143
- name: Test on Google Pixel 5
128144
env:

conftest.py

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -49,12 +49,17 @@ def start_browser(pw, browser_or_device: str):
4949
}
5050
try:
5151
match browser_or_device.lower():
52-
case "iphone_12":
52+
case "iphone_14":
5353
_browser = pw.webkit.launch(headless=ce.headless_mode)
54-
_context = _browser.new_context(**pw.devices["iPhone 12"], http_credentials=_http_credentials)
55-
case "iphone_11":
54+
_context = _browser.new_context(**pw.devices["iPhone 14"], http_credentials=_http_credentials)
55+
case "iphone_15":
5656
_browser = pw.chromium.launch(channel="chrome", headless=ce.headless_mode)
57-
_context = _browser.new_context(**pw.devices["iPhone 11"], http_credentials=_http_credentials)
57+
_context = _browser.new_context(**pw.devices["iPhone 15"], http_credentials=_http_credentials)
58+
case "ipad_7":
59+
_browser = pw.chromium.launch(headless=ce.headless_mode)
60+
_context = _browser.new_context(
61+
**pw.devices["iPad (gen 7) landscape"], http_credentials=_http_credentials
62+
)
5863
case "pixel_5":
5964
_browser = pw.webkit.launch(headless=ce.headless_mode)
6065
_context = _browser.new_context(**pw.devices["Pixel 5"], http_credentials=_http_credentials)

libs/__init__.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@ class CurrentExecution:
1818
capture_screenshot_flag: bool = False
1919
login_username: str = ""
2020
login_password: str = ""
21+
superuser_username: str = ""
22+
superuser_password: str = ""
2123
parental_consent_url: str = ""
2224
reset_endpoint: str = ""
2325
api_token: str = ""

pages/pg_login.py

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,8 @@ class pg_login:
1212
BTN_LOGIN = "Log in"
1313
BTN_LOGOUT = "Log out"
1414
LBL_BANNER = "banner"
15-
LBL_USER = "Nurse Joy"
15+
LBL_NURSE = "Nurse Joy"
16+
LBL_SUPERUSER = "Superuser Superuser"
1617
LBL_PARAGRAPH = "paragraph"
1718

1819
def click_start(self):
@@ -28,15 +29,22 @@ def click_login(self):
2829
self.po.perform_action(locator=self.BTN_LOGIN, action=actions.CLICK_BUTTON)
2930

3031
def verify_login_successful(self):
31-
self.po.verify(locator=self.LBL_BANNER, property=object_properties.TEXT, value=self.LBL_USER)
32+
self.po.verify(locator=self.LBL_BANNER, property=object_properties.TEXT, value=self.LBL_NURSE)
3233

33-
def perform_valid_login(self):
34+
def login_as_nurse(self):
3435
self.click_start()
3536
self.enter_username(username=self.ce.login_username)
3637
self.enter_password(password=self.ce.login_password)
3738
self.click_login()
3839
self.verify_login_successful()
3940

41+
def login_as_superuser(self):
42+
self.click_start()
43+
self.enter_username(username=self.ce.superuser_username)
44+
self.enter_password(password=self.ce.superuser_password)
45+
self.click_login()
46+
self.verify_login_successful()
47+
4048
def perform_invalid_login(self, user: str, pwd: str, expected_message: str) -> str:
4149
self.click_start()
4250
self.enter_username(username=user)

tests/test_01_login.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,6 @@ def test_invalid_login(self, user, pwd, expected_message):
2929
@pytest.mark.order(102)
3030
def test_home_page_links(self):
3131
self.login_page.go_to_login_page()
32-
self.login_page.perform_valid_login()
32+
self.login_page.login_as_nurse()
3333
self.dashboard_page.verify_all_expected_links()
3434
self.login_page.perform_logout()

tests/test_02_sessions.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ class Test_Sessions:
1010

1111
@pytest.fixture(scope="function", autouse=True)
1212
def setup_tests(self, start_mavis: None):
13-
self.login_page.perform_valid_login()
13+
self.login_page.login_as_nurse()
1414
self.dashboard_page.go_to_dashboard()
1515
self.dashboard_page.click_sessions()
1616
yield

tests/test_03_class_list_upload.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ class Test_Class_List_Upload:
1111

1212
@pytest.fixture(scope="function", autouse=True)
1313
def setup_tests(self, start_mavis: None):
14-
self.login_page.perform_valid_login()
14+
self.login_page.login_as_nurse()
1515
self.dashboard_page.click_sessions()
1616
self.sessions_page.schedule_a_valid_session()
1717
self.dashboard_page.go_to_dashboard()

tests/test_04_cohorts.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ class Test_Cohorts:
1111

1212
@pytest.fixture(scope="function", autouse=True)
1313
def setup_tests(self, start_mavis: None):
14-
self.login_page.perform_valid_login()
14+
self.login_page.login_as_nurse()
1515
self.dashboard_page.click_programmes()
1616
yield
1717
self.login_page.perform_logout()

tests/test_05_child_list_upload.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ class Test_Child_List_Upload:
1111

1212
@pytest.fixture(scope="function", autouse=True)
1313
def setup_tests(self, start_mavis: None):
14-
self.login_page.perform_valid_login()
14+
self.login_page.login_as_nurse()
1515
self.dashboard_page.click_programmes()
1616
yield
1717
self.login_page.perform_logout()

tests/test_06_vaccs_batch.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ class Test_Regression_Vaccines:
1010

1111
@pytest.fixture(scope="function", autouse=True)
1212
def setup_tests(self, start_mavis: None):
13-
self.login_page.perform_valid_login()
13+
self.login_page.login_as_nurse()
1414
self.dashboard_page.click_vaccines()
1515
yield
1616
self.login_page.perform_logout()

0 commit comments

Comments
 (0)