15
15
import pathlib
16
16
17
17
18
- @pytest .mark .parametrize ("cli_args" , [(["import" ])])
18
+ class ImportTestFixture (t .NamedTuple ):
19
+ """Test fixture for basic tmuxp import command tests."""
20
+
21
+ test_id : str
22
+ cli_args : list [str ]
23
+
24
+
25
+ class ImportTeamocilTestFixture (t .NamedTuple ):
26
+ """Test fixture for tmuxp import teamocil command tests."""
27
+
28
+ test_id : str
29
+ cli_args : list [str ]
30
+ inputs : list [str ]
31
+
32
+
33
+ class ImportTmuxinatorTestFixture (t .NamedTuple ):
34
+ """Test fixture for tmuxp import tmuxinator command tests."""
35
+
36
+ test_id : str
37
+ cli_args : list [str ]
38
+ inputs : list [str ]
39
+
40
+
41
+ IMPORT_TEST_FIXTURES : list [ImportTestFixture ] = [
42
+ ImportTestFixture (
43
+ test_id = "basic_import" ,
44
+ cli_args = ["import" ],
45
+ ),
46
+ ]
47
+
48
+
49
+ IMPORT_TEAMOCIL_TEST_FIXTURES : list [ImportTeamocilTestFixture ] = [
50
+ ImportTeamocilTestFixture (
51
+ test_id = "import_teamocil_config_file" ,
52
+ cli_args = ["import" , "teamocil" , "./.teamocil/config.yaml" ],
53
+ inputs = ["\n " , "y\n " , "./la.yaml\n " , "y\n " ],
54
+ ),
55
+ ImportTeamocilTestFixture (
56
+ test_id = "import_teamocil_config_file_exists" ,
57
+ cli_args = ["import" , "teamocil" , "./.teamocil/config.yaml" ],
58
+ inputs = ["\n " , "y\n " , "./exists.yaml\n " , "./la.yaml\n " , "y\n " ],
59
+ ),
60
+ ImportTeamocilTestFixture (
61
+ test_id = "import_teamocil_config_name" ,
62
+ cli_args = ["import" , "teamocil" , "config" ],
63
+ inputs = ["\n " , "y\n " , "./exists.yaml\n " , "./la.yaml\n " , "y\n " ],
64
+ ),
65
+ ]
66
+
67
+
68
+ IMPORT_TMUXINATOR_TEST_FIXTURES : list [ImportTmuxinatorTestFixture ] = [
69
+ ImportTmuxinatorTestFixture (
70
+ test_id = "import_tmuxinator_config_file" ,
71
+ cli_args = ["import" , "tmuxinator" , "./.tmuxinator/config.yaml" ],
72
+ inputs = ["\n " , "y\n " , "./la.yaml\n " , "y\n " ],
73
+ ),
74
+ ImportTmuxinatorTestFixture (
75
+ test_id = "import_tmuxinator_config_file_exists" ,
76
+ cli_args = ["import" , "tmuxinator" , "./.tmuxinator/config.yaml" ],
77
+ inputs = ["\n " , "y\n " , "./exists.yaml\n " , "./la.yaml\n " , "y\n " ],
78
+ ),
79
+ ImportTmuxinatorTestFixture (
80
+ test_id = "import_tmuxinator_config_name" ,
81
+ cli_args = ["import" , "tmuxinator" , "config" ],
82
+ inputs = ["\n " , "y\n " , "./exists.yaml\n " , "./la.yaml\n " , "y\n " ],
83
+ ),
84
+ ]
85
+
86
+
87
+ @pytest .mark .parametrize (
88
+ list (ImportTestFixture ._fields ),
89
+ IMPORT_TEST_FIXTURES ,
90
+ ids = [test .test_id for test in IMPORT_TEST_FIXTURES ],
91
+ )
19
92
def test_import (
93
+ test_id : str ,
20
94
cli_args : list [str ],
21
95
tmp_path : pathlib .Path ,
22
96
monkeypatch : pytest .MonkeyPatch ,
@@ -30,23 +104,12 @@ def test_import(
30
104
31
105
32
106
@pytest .mark .parametrize (
33
- ("cli_args" , "inputs" ),
34
- [
35
- (
36
- ["import" , "teamocil" , "./.teamocil/config.yaml" ],
37
- ["\n " , "y\n " , "./la.yaml\n " , "y\n " ],
38
- ),
39
- (
40
- ["import" , "teamocil" , "./.teamocil/config.yaml" ],
41
- ["\n " , "y\n " , "./exists.yaml\n " , "./la.yaml\n " , "y\n " ],
42
- ),
43
- (
44
- ["import" , "teamocil" , "config" ],
45
- ["\n " , "y\n " , "./exists.yaml\n " , "./la.yaml\n " , "y\n " ],
46
- ),
47
- ],
107
+ list (ImportTeamocilTestFixture ._fields ),
108
+ IMPORT_TEAMOCIL_TEST_FIXTURES ,
109
+ ids = [test .test_id for test in IMPORT_TEAMOCIL_TEST_FIXTURES ],
48
110
)
49
111
def test_import_teamocil (
112
+ test_id : str ,
50
113
cli_args : list [str ],
51
114
inputs : list [str ],
52
115
tmp_path : pathlib .Path ,
@@ -77,23 +140,12 @@ def test_import_teamocil(
77
140
78
141
79
142
@pytest .mark .parametrize (
80
- ("cli_args" , "inputs" ),
81
- [
82
- (
83
- ["import" , "tmuxinator" , "./.tmuxinator/config.yaml" ],
84
- ["\n " , "y\n " , "./la.yaml\n " , "y\n " ],
85
- ),
86
- (
87
- ["import" , "tmuxinator" , "./.tmuxinator/config.yaml" ],
88
- ["\n " , "y\n " , "./exists.yaml\n " , "./la.yaml\n " , "y\n " ],
89
- ),
90
- (
91
- ["import" , "tmuxinator" , "config" ],
92
- ["\n " , "y\n " , "./exists.yaml\n " , "./la.yaml\n " , "y\n " ],
93
- ),
94
- ],
143
+ list (ImportTmuxinatorTestFixture ._fields ),
144
+ IMPORT_TMUXINATOR_TEST_FIXTURES ,
145
+ ids = [test .test_id for test in IMPORT_TMUXINATOR_TEST_FIXTURES ],
95
146
)
96
147
def test_import_tmuxinator (
148
+ test_id : str ,
97
149
cli_args : list [str ],
98
150
inputs : list [str ],
99
151
tmp_path : pathlib .Path ,
0 commit comments