Skip to content

Commit 0ab0973

Browse files
committed
refactor(tests): convert test_freeze.py tests to use NamedTuple fixtures
1 parent 5081671 commit 0ab0973

File tree

1 file changed

+62
-24
lines changed

1 file changed

+62
-24
lines changed

tests/cli/test_freeze.py

+62-24
Original file line numberDiff line numberDiff line change
@@ -17,23 +17,68 @@
1717
from libtmux.server import Server
1818

1919

20+
class FreezeTestFixture(t.NamedTuple):
21+
"""Test fixture for tmuxp freeze command tests."""
22+
23+
test_id: str
24+
cli_args: list[str]
25+
inputs: list[str]
26+
27+
28+
class FreezeOverwriteTestFixture(t.NamedTuple):
29+
"""Test fixture for tmuxp freeze overwrite command tests."""
30+
31+
test_id: str
32+
cli_args: list[str]
33+
inputs: list[str]
34+
35+
36+
FREEZE_TEST_FIXTURES: list[FreezeTestFixture] = [
37+
FreezeTestFixture(
38+
test_id="freeze_named_session",
39+
cli_args=["freeze", "myfrozensession"],
40+
inputs=["y\n", "./la.yaml\n", "y\n"],
41+
),
42+
FreezeTestFixture(
43+
test_id="freeze_named_session_exists",
44+
cli_args=["freeze", "myfrozensession"],
45+
inputs=["y\n", "./exists.yaml\n", "./la.yaml\n", "y\n"],
46+
),
47+
FreezeTestFixture(
48+
test_id="freeze_current_session",
49+
cli_args=["freeze"],
50+
inputs=["y\n", "./la.yaml\n", "y\n"],
51+
),
52+
FreezeTestFixture(
53+
test_id="freeze_current_session_exists",
54+
cli_args=["freeze"],
55+
inputs=["y\n", "./exists.yaml\n", "./la.yaml\n", "y\n"],
56+
),
57+
]
58+
59+
60+
FREEZE_OVERWRITE_TEST_FIXTURES: list[FreezeOverwriteTestFixture] = [
61+
FreezeOverwriteTestFixture(
62+
test_id="force_overwrite_named_session",
63+
cli_args=["freeze", "mysession", "--force"],
64+
inputs=["\n", "\n", "y\n", "./exists.yaml\n", "y\n"],
65+
),
66+
FreezeOverwriteTestFixture(
67+
test_id="force_overwrite_current_session",
68+
cli_args=["freeze", "--force"],
69+
inputs=["\n", "\n", "y\n", "./exists.yaml\n", "y\n"],
70+
),
71+
]
72+
73+
2074
@pytest.mark.parametrize(
21-
("cli_args", "inputs"),
22-
[
23-
(["freeze", "myfrozensession"], ["y\n", "./la.yaml\n", "y\n"]),
24-
( # Exists
25-
["freeze", "myfrozensession"],
26-
["y\n", "./exists.yaml\n", "./la.yaml\n", "y\n"],
27-
),
28-
( # Imply current session if not entered
29-
["freeze"],
30-
["y\n", "./la.yaml\n", "y\n"],
31-
),
32-
(["freeze"], ["y\n", "./exists.yaml\n", "./la.yaml\n", "y\n"]), # Exists
33-
],
75+
list(FreezeTestFixture._fields),
76+
FREEZE_TEST_FIXTURES,
77+
ids=[test.test_id for test in FREEZE_TEST_FIXTURES],
3478
)
3579
def test_freeze(
3680
server: Server,
81+
test_id: str,
3782
cli_args: list[str],
3883
inputs: list[str],
3984
tmp_path: pathlib.Path,
@@ -72,20 +117,13 @@ def test_freeze(
72117

73118

74119
@pytest.mark.parametrize(
75-
("cli_args", "inputs"),
76-
[
77-
( # Overwrite
78-
["freeze", "mysession", "--force"],
79-
["\n", "\n", "y\n", "./exists.yaml\n", "y\n"],
80-
),
81-
( # Imply current session if not entered
82-
["freeze", "--force"],
83-
["\n", "\n", "y\n", "./exists.yaml\n", "y\n"],
84-
),
85-
],
120+
list(FreezeOverwriteTestFixture._fields),
121+
FREEZE_OVERWRITE_TEST_FIXTURES,
122+
ids=[test.test_id for test in FREEZE_OVERWRITE_TEST_FIXTURES],
86123
)
87124
def test_freeze_overwrite(
88125
server: Server,
126+
test_id: str,
89127
cli_args: list[str],
90128
inputs: list[str],
91129
tmp_path: pathlib.Path,

0 commit comments

Comments
 (0)