Skip to content

Commit 743c47f

Browse files
Adding compartment 2 and altering fit test kits page to be a class
1 parent fc8f794 commit 743c47f

File tree

4 files changed

+76
-41
lines changed

4 files changed

+76
-41
lines changed

pages/fit_test_kits_page.py

Lines changed: 37 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -1,63 +1,61 @@
11
from playwright.sync_api import Page
22

3+
class FITTestKits:
4+
def __init__(self, page: Page):
5+
self.page = page
6+
# Downloads Page
7+
self.fit_rollout_summary_page = self.page.get_by_role("link", name="FIT Rollout Summary")
8+
self.log_devices_page = self.page.get_by_role("link", name="Log Devices")
9+
self.view_fit_kit_result_page = self.page.get_by_role("link", name="View FIT Kit Result")
10+
self.kit_service_management_page = self.page.get_by_role("link", name="Kit Service Management")
11+
self.kit_result_audit_page = self.page.get_by_role("link", name="Kit Result Audit")
12+
self.view_algorithm_page = self.page.get_by_role("link", name="View Algorithm")
13+
self.view_screening_centre_fit_page = self.page.get_by_role("link", name="View Screening Centre FIT")
14+
self.screening_incidents_list_page = self.page.get_by_role("link", name="Screening Incidents List")
15+
self.manage_qc_products_page = self.page.get_by_role("link", name="Manage QC Products")
16+
self.maintain_analysers_page = self.page.get_by_role("link", name="Maintain Analysers")
17+
self.fit_device_id=self.page.get_by_role("textbox", name="FIT Device ID")
318

4-
def __init__(self, page: Page):
5-
self.page = page
6-
# Downloads Page
7-
self.fit_rollout_summary_page = self.page.get_by_role("link", name="FIT Rollout Summary")
8-
self.log_devices_page = self.page.get_by_role("link", name="Log Devices")
9-
self.view_fit_kit_result_page = self.page.get_by_role("link", name="View FIT Kit Result")
10-
self.kit_service_management_page = self.page.get_by_role("link", name="Kit Service Management")
11-
self.kit_result_audit_page = self.page.get_by_role("link", name="Kit Result Audit")
12-
self.view_algorithm_page = self.page.get_by_role("link", name="View Algorithm")
13-
self.view_screening_centre_fit_page = self.page.get_by_role("link", name="View Screening Centre FIT")
14-
self.screening_incidents_list_page = self.page.get_by_role("link", name="Screening Incidents List")
15-
self.manage_qc_products_page = self.page.get_by_role("link", name="Manage QC Products")
16-
self.maintain_analysers_page = self.page.get_by_role("link", name="Maintain Analysers")
17-
self.fit_device_id=self.page.get_by_role("textbox", name="FIT Device ID")
19+
def go_to_fit_rollout_summary_page(self):
20+
self.fit_rollout_summary_page.click()
1821

1922

23+
def go_to_log_devices_page(self):
24+
self.log_in_page.click()
2025

21-
def go_to_fit_rollout_summary_page(self):
22-
self.fit_rollout_summary_page.click()
2326

27+
def go_to_view_fit_kit_result(self):
28+
self.view_fit_kit_result_page.click()
2429

25-
def go_to_log_devices_page(self):
26-
self.log_in_page.click()
2730

31+
def go_to_kit_service_management(self):
32+
self.kit_service_management_page.click()
2833

29-
def go_to_view_fit_kit_result(self):
30-
self.view_fit_kit_result_page.click()
3134

35+
def go_to_kit_result_audit(self):
36+
self.kit_result_audit_page.click()
3237

33-
def go_to_kit_service_management(self):
34-
self.kit_service_management_page.click()
3538

39+
def go_to_view_algorithm(self):
40+
self.view_algorithm_page.click()
3641

37-
def go_to_kit_result_audit(self):
38-
self.kit_result_audit_page.click()
3942

43+
def go_to_view_screening_centre_fit(self):
44+
self.view_screening_centre_fit_page.click()
4045

41-
def go_to_view_algorithm(self):
42-
self.view_algorithm_page.click()
4346

47+
def go_to_screening_incidents_list(self):
48+
self.screening_incidents_list_page.click()
4449

45-
def go_to_view_screening_centre_fit(self):
46-
self.view_screening_centre_fit_page.click()
4750

51+
def go_to_manage_qc_products(self):
52+
self.manage_qc_products_page.click()
4853

49-
def go_to_screening_incidents_list(self):
50-
self.screening_incidents_list_page.click()
5154

55+
def go_to_maintain_analysers(self):
56+
self.maintain_analysers_page.click()
5257

53-
def go_to_manage_qc_products(self):
54-
self.manage_qc_products_page.click()
55-
56-
57-
def go_to_maintain_analysers(self):
58-
self.maintain_analysers_page.click()
59-
60-
def go_to_fit_device_id(self):
61-
self.fit_device_id.enter()
58+
def go_to_fit_device_id(self):
59+
self.fit_device_id.enter()
6260

6361

pages/generate_invitations_page.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,5 +49,4 @@ def wait_for_invitation_generation_complete(self):
4949

5050
value = self.planned_invitations_total.text_content().strip() # Get text and remove extra spaces
5151
if int(value) <= 5:
52-
print("Total invitations are less than 5")
53-
pytest.fail("There are no enough invitations generated")
52+
pytest.fail("There are less than 5 invitations generated")

tests/Smokescreen/my_pages.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,4 +12,5 @@
1212
from pages.create_a_plan_page import *
1313
from pages.invitations_plans_page import *
1414
from pages.generate_invitations_page import *
15+
from pages.fit_test_kits_page import *
1516
from pages.log_out_page import *
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
import pytest
2+
from playwright.sync_api import Page
3+
from my_pages import *
4+
from utils.batch_processing import batch_processing
5+
from datetime import datetime
6+
from utils.screening_subject_page_searcher import verify_subject_event_status_by_nhs_no
7+
import pandas as pd
8+
9+
@pytest.mark.wip1
10+
def test_example(page: Page) -> None:
11+
page.goto("/")
12+
BcssLoginPage(page).login_as_user_bcss401()
13+
14+
MainMenu(page).go_to_fit_test_kits_page()
15+
FITTestKits(page).go_to_log_devices_page()
16+
subjectdf = pd.read_parquet('subject_kit_number.parquet', engine='fastparquet')
17+
for subject in range(4):
18+
fit_device_id = subjectdf["FIT_Device_ID"].iloc[subject-1]
19+
# log devices - fill device id field with fit_device_id
20+
sample_date = datetime.now().strftime("%#d %b %Y")
21+
# log devices - fill sample date field with sample_date
22+
# log devices - verify successfully logged device
23+
24+
nhs_no = subjectdf["NHS_Number"].iloc[0]
25+
verify_subject_event_status_by_nhs_no(page, nhs_no, "S43 - Kit Returned and Logged (Initial Test)")
26+
27+
NavigationBar(page).click_main_menu_link()
28+
MainMenu(page).go_to_fit_test_kits_page()
29+
FITTestKits(page).go_to_log_devices_page()
30+
spoilt_fit_device_id = subjectdf["FIT_Device_ID"].iloc[4]
31+
# log devices - fill device id field with spoilt_fit_device_id
32+
# log devices - click device spoilt button
33+
# log devices - select option from dropdown
34+
# log devices - click log as spoilt button
35+
# log devices = verify successfully logged device
36+
37+
batch_processing(page, "S3", "Retest (Spoilt) (FIT)", "S11 - Retest Kit Sent (Spoilt)")

0 commit comments

Comments
 (0)