|
1 | 1 | from playwright.sync_api import Page |
2 | 2 |
|
3 | 3 | from mavis.test.annotations import step |
| 4 | +from mavis.test.utils import click_secondary_navigation_item |
4 | 5 |
|
5 | 6 |
|
6 | 7 | class SessionsTabs: |
7 | | - def __init__( |
8 | | - self, |
9 | | - page: Page, |
10 | | - ) -> None: |
| 8 | + def __init__(self, page: Page) -> None: |
11 | 9 | self.page = page |
12 | 10 |
|
13 | | - def _select_tab(self, name: str) -> None: |
14 | | - link = self.page.get_by_label("Secondary menu").get_by_role("link", name=name) |
15 | | - if link.get_by_role("strong").is_visible(): |
16 | | - return |
17 | | - link.click() |
18 | | - link.get_by_role("strong").wait_for() |
| 11 | + secondary_menu = page.get_by_label("Secondary menu") |
| 12 | + |
| 13 | + self.overview_link = secondary_menu.get_by_role("link", name="Overview") |
| 14 | + self.psds_link = secondary_menu.get_by_role("link", name="PSDs") |
| 15 | + self.record_vaccinations_link = secondary_menu.get_by_role( |
| 16 | + "link", name="Record vaccinations" |
| 17 | + ) |
| 18 | + self.children_link = secondary_menu.get_by_role("link", name="Children") |
19 | 19 |
|
20 | 20 | @step("Click on Overview tab") |
21 | 21 | def click_overview_tab(self) -> None: |
22 | | - self._select_tab("Overview") |
| 22 | + click_secondary_navigation_item(self.overview_link) |
23 | 23 |
|
24 | 24 | @step("Click on PSDs tab") |
25 | 25 | def click_psds_tab(self) -> None: |
26 | | - self._select_tab("PSDs") |
| 26 | + click_secondary_navigation_item(self.psds_link) |
27 | 27 |
|
28 | 28 | @step("Click on Record vaccinations") |
29 | 29 | def click_record_vaccinations_tab(self) -> None: |
30 | | - self._select_tab("Record vaccinations") |
| 30 | + click_secondary_navigation_item(self.record_vaccinations_link) |
31 | 31 |
|
32 | 32 | @step("Click on Children tab") |
33 | 33 | def click_children_tab(self) -> None: |
34 | | - self._select_tab("Children") |
| 34 | + click_secondary_navigation_item(self.children_link) |
0 commit comments