|
1 | 1 | import pytest |
2 | | -from playwright.sync_api import Page, expect |
3 | | -from utils.click_helper import click |
| 2 | +from playwright.sync_api import Page |
| 3 | + |
4 | 4 | from pages.base_page import BasePage |
| 5 | +from pages.gFOBT_test_kits_page import GFOBTTestKits |
| 6 | +from pages.gFOBT_test_kit_logging_page import TestKitLogging |
| 7 | +from pages.gFOBT_test_kit_quality_control_reading_page import TestKitQualityControlReading |
| 8 | +from pages.gFOBT_view_test_kit_result import ViewTestKitResult |
| 9 | +from pages.gFOBT_create_qc_kit_page import CreateQCKit, ReadingDropdownOptions |
5 | 10 | from utils.user_tools import UserTools |
6 | 11 |
|
7 | 12 |
|
8 | 13 | @pytest.fixture(scope="function", autouse=True) |
9 | 14 | def before_each(page: Page): |
10 | 15 | """ |
11 | 16 | Before every test is executed, this fixture logs in to BCSS as a test user and navigates to the |
12 | | - gfob test kits page |
| 17 | + gfobt test kits page |
13 | 18 | """ |
14 | 19 | # Log in to BCSS |
15 | 20 | UserTools.user_login(page, "Hub Manager State Registered") |
16 | 21 |
|
17 | 22 | # Go to gFOBT test kits page |
18 | | - BasePage(page).go_to_gfob_test_kits_page() |
| 23 | + BasePage(page).go_to_gfobt_test_kits_page() |
19 | 24 |
|
20 | 25 |
|
21 | 26 | @pytest.mark.smoke |
22 | | -def test_gfob_test_kit_page_navigation(page: Page) -> None: |
| 27 | +def test_gfobt_test_kit_page_navigation(page: Page) -> None: |
23 | 28 | """ |
24 | | - Confirms all menu items are displayed on the gfob test kits page, and that the relevant pages |
| 29 | + Confirms all menu items are displayed on the gfobt test kits page, and that the relevant pages |
25 | 30 | are loaded when the links are clicked |
26 | 31 | """ |
27 | 32 | # Test kit logging page opens as expected |
28 | | - click(page, page.get_by_role("link", name="Test Kit Logging")) |
29 | | - expect(page.locator("#ntshPageTitle")).to_contain_text("Test Kit Logging") |
30 | | - click(page, page.get_by_role("link", name="Back")) |
| 33 | + GFOBTTestKits(page).go_to_test_kit_logging_page() |
| 34 | + TestKitLogging(page).verify_test_kit_logging_title() |
| 35 | + BasePage(page).click_back_button() |
31 | 36 |
|
32 | 37 | # Test kit reading page opens as expected |
33 | | - click(page, page.get_by_role("link", name="Test Kit Reading")) |
34 | | - expect(page.locator("#ntshPageTitle")).to_contain_text("Test Kit Quality Control Reading") |
35 | | - click(page, page.get_by_role("link", name="Back")) |
| 38 | + GFOBTTestKits(page).go_to_test_kit_result_page() |
| 39 | + TestKitQualityControlReading(page).verify_test_kit_logging_tile() |
| 40 | + BasePage(page).click_back_button() |
36 | 41 |
|
37 | 42 | # View test kit result page opens as expected |
38 | | - click(page, page.get_by_role("link", name="View Test Kit Result")) |
39 | | - expect(page.locator("#ntshPageTitle")).to_contain_text("View Test Kit Result") |
40 | | - click(page, page.get_by_role("link", name="Back")) |
| 43 | + GFOBTTestKits(page).go_to_test_kit_result_page() |
| 44 | + ViewTestKitResult(page).verify_view_test_kit_result_title() |
| 45 | + BasePage(page).click_back_button() |
41 | 46 |
|
42 | 47 | # Create qc kit page opens as expected |
43 | | - click(page, page.get_by_role("link", name="Create QC Kit")) |
44 | | - expect(page.locator("#ntshPageTitle")).to_contain_text("Create QC Kit") |
| 48 | + GFOBTTestKits(page).go_to_create_qc_kit_page() |
| 49 | + CreateQCKit(page).verify_create_qc_kit_title() |
| 50 | + BasePage(page).click_back_button() |
45 | 51 |
|
46 | 52 | # Return to main menu |
47 | | - click(page, page.get_by_role("link", name="Main Menu")) |
48 | | - expect(page.locator("#ntshPageTitle")).to_contain_text("Main Menu") |
| 53 | + BasePage(page).click_main_menu_link() |
| 54 | + BasePage(page).main_menu_header_is_displayed() |
49 | 55 |
|
50 | 56 |
|
51 | 57 | def test_create_a_qc_kit(page: Page) -> None: |
52 | 58 | """ |
53 | 59 | Confirms that a qc test kit can be created and that each of the dropdowns has an option set available for selection |
54 | 60 | """ |
55 | | - # 'Reading' dropdown locators |
56 | | - reading1dropdown = page.locator("#A_C_Reading_999_0_0") |
57 | | - reading2dropdown = page.locator("#A_C_Reading_999_0_1") |
58 | | - reading3dropdown = page.locator("#A_C_Reading_999_1_0") |
59 | | - reading4dropdown = page.locator("#A_C_Reading_999_1_1") |
60 | | - reading5dropdown = page.locator("#A_C_Reading_999_2_0") |
61 | | - reading6dropdown = page.locator("#A_C_Reading_999_2_1") |
62 | | - |
63 | 61 | # Navigate to create QC kit page |
64 | | - click(page, page.get_by_role("link", name="Create QC Kit")) |
| 62 | + GFOBTTestKits(page).go_to_create_qc_kit_page() |
65 | 63 |
|
66 | 64 | # Select QC kit drop down options |
67 | | - reading1dropdown.select_option("NEGATIVE") |
68 | | - reading2dropdown.select_option("POSITIVE") |
69 | | - reading3dropdown.select_option("POSITIVE") |
70 | | - reading4dropdown.select_option("UNUSED") |
71 | | - reading5dropdown.select_option("NEGATIVE") |
72 | | - reading6dropdown.select_option("POSITIVE") |
| 65 | + CreateQCKit(page).go_to_reading1dropdown(ReadingDropdownOptions.NEGATIVE.value) |
| 66 | + CreateQCKit(page).go_to_reading2dropdown(ReadingDropdownOptions.POSITIVE.value) |
| 67 | + CreateQCKit(page).go_to_reading3dropdown(ReadingDropdownOptions.POSITIVE.value) |
| 68 | + CreateQCKit(page).go_to_reading4dropdown(ReadingDropdownOptions.UNUSED.value) |
| 69 | + CreateQCKit(page).go_to_reading5dropdown(ReadingDropdownOptions.NEGATIVE.value) |
| 70 | + CreateQCKit(page).go_to_reading6dropdown(ReadingDropdownOptions.POSITIVE.value) |
73 | 71 |
|
74 | 72 | # Click save |
75 | | - click(page, page.get_by_role("button", name="Save Kit")) |
| 73 | + CreateQCKit(page).go_to_save_kit() |
76 | 74 |
|
77 | 75 | # Verify kit has saved |
78 | | - expect(page.locator("th")).to_contain_text("A quality control kit has been created with the following values:") |
| 76 | + CreateQCKit(page).verify_kit_has_saved() |
0 commit comments