Skip to content

Commit 9c224d4

Browse files
committed
Test every nav type except hidden
1 parent 40fad98 commit 9c224d4

File tree

2 files changed

+48
-38
lines changed

2 files changed

+48
-38
lines changed

tests/playwright/ai_generated_apps/bookmark/navsets/app-express.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,10 @@
44

55
app_opts(bookmark_store="url")
66

7-
ui.page_opts(title="Navsets kitchensink App", id="navsets_collection")
8-
9-
107
navset_configs: Dict[str, Dict[str, Dict[str, Any]]] = {
8+
"navset_bar": {
9+
"default": {"title": "navset_bar_default"},
10+
},
1111
"navset_pill": {
1212
"default": {},
1313
},
@@ -47,7 +47,7 @@ def create_navset(navset_type: str) -> None:
4747

4848

4949
with ui.card():
50-
ui.card_header("Bookmarking Navset Demo")
50+
ui.card_header("Bookmarking Navset Kitchensink")
5151

5252
# Non-modular section
5353
ui.h3("Non-Module Section")
Lines changed: 44 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,47 +1,57 @@
1+
from typing import Type
2+
3+
import pytest
14
from playwright.sync_api import Page
25

36
from shiny.playwright import controller
47
from shiny.pytest import create_app_fixture
58
from shiny.run import ShinyAppProc
69

7-
app = create_app_fixture(["app-express.py"])
8-
9-
10-
def test_navsets_bookmarking_demo(page: Page, app: ShinyAppProc) -> None:
10+
app = create_app_fixture("app-express.py")
11+
12+
13+
@pytest.mark.parametrize(
14+
"navset_name,navset_variant,navset_controller",
15+
[
16+
("navset_bar", "default", controller.NavsetBar),
17+
("navset_pill", "default", controller.NavsetPill),
18+
("navset_underline", "default", controller.NavsetUnderline),
19+
("navset_tab", "default", controller.NavsetTab),
20+
("navset_pill_list", "default", controller.NavsetPillList),
21+
("navset_card_pill", "default", controller.NavsetCardPill),
22+
("navset_card_tab", "default", controller.NavsetCardTab),
23+
("navset_card_underline", "default", controller.NavsetCardUnderline),
24+
],
25+
)
26+
def test_navsets_bookmarking_demo(
27+
page: Page,
28+
app: ShinyAppProc,
29+
navset_name: str,
30+
navset_variant: str,
31+
navset_controller: Type[controller._navs._NavsetBase],
32+
) -> None:
1133
page.goto(app.url)
1234

1335
# Non-module navsets
1436
navset_collection = controller.NavsetTab(page, "navsets_collection")
15-
navset_collection.set("navset_underline")
16-
navset_underline = controller.NavsetUnderline(page, "navset_underline_default")
17-
navset_underline.set("navset_underline_c")
18-
navset_collection.set("navset_card_underline")
19-
navset_card_underline = controller.NavsetCardUnderline(
20-
page, "navset_card_underline_default"
21-
)
22-
navset_card_underline.set("navset_card_underline_c")
23-
24-
# module navsets
37+
navset_collection.set(navset_name)
38+
navset_cont = navset_controller(page, f"{navset_name}_{navset_variant}")
39+
navset_cont.set(f"{navset_name}_c")
40+
41+
# Module navsets
2542
mod_navset_collection = controller.NavsetTab(page, "first-navsets_collection")
26-
mod_navset_collection.set("navset_underline")
27-
mod_navset_underline = controller.NavsetUnderline(
28-
page, "first-navset_underline_default"
29-
)
30-
mod_navset_underline.set("navset_underline_c")
31-
mod_navset_collection.set("navset_card_underline")
32-
mod_navset_card_underline = controller.NavsetCardUnderline(
33-
page, "first-navset_card_underline_default"
34-
)
35-
mod_navset_card_underline.set("navset_card_underline_c")
36-
37-
# click bookmark button
38-
bookmark_button = controller.InputBookmarkButton(page)
39-
bookmark_button.click()
40-
41-
# reload page
43+
mod_navset_collection.set(navset_name)
44+
mod_navset_cont = navset_controller(page, f"first-{navset_name}_{navset_variant}")
45+
mod_navset_cont.set(f"{navset_name}_b")
46+
47+
# Click bookmark button
48+
controller.InputBookmarkButton(page).click()
49+
50+
# Reload page
4251
page.reload()
4352

44-
navset_card_underline.expect_value("navset_card_underline_c")
45-
navset_collection.expect_value("navset_card_underline")
46-
mod_navset_card_underline.expect_value("navset_card_underline_c")
47-
mod_navset_collection.expect_value("navset_card_underline")
53+
# Assert
54+
navset_collection.expect_value(navset_name)
55+
navset_cont.expect_value(f"{navset_name}_c")
56+
mod_navset_collection.expect_value(navset_name)
57+
mod_navset_cont.expect_value(f"{navset_name}_b")

0 commit comments

Comments
 (0)