Skip to content

Commit 8b030d2

Browse files
committed
fix: Corrected the test to match actual API
1 parent 81ea014 commit 8b030d2

File tree

2 files changed

+38
-107
lines changed

2 files changed

+38
-107
lines changed

debug_timeout.py

Lines changed: 0 additions & 62 deletions
This file was deleted.

tests/unit/test_project_milestone_commands.py

Lines changed: 38 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -10,15 +10,7 @@
1010
from click.testing import CliRunner
1111

1212
from linear_cli.api.client.client import LinearClient
13-
from linear_cli.cli.commands.project import (
14-
create_milestone,
15-
create_test_data,
16-
delete_milestone,
17-
list_milestone_issues,
18-
list_milestones,
19-
show_milestone,
20-
update_milestone,
21-
)
13+
from linear_cli.cli.commands.project import project
2214
from linear_cli.config.manager import LinearConfig
2315

2416

@@ -44,7 +36,7 @@ def mock_client():
4436
client.get_project = AsyncMock()
4537

4638
# Mock milestone methods
47-
client.get_project_milestones = AsyncMock()
39+
client.get_milestones = AsyncMock()
4840
client.get_milestone = AsyncMock()
4941
client.create_milestone = AsyncMock()
5042
client.update_milestone = AsyncMock()
@@ -53,6 +45,7 @@ def mock_client():
5345

5446
# Mock other methods
5547
client.get_teams = AsyncMock()
48+
client.get_users = AsyncMock()
5649
client.create_project = AsyncMock()
5750
client.create_issue = AsyncMock()
5851

@@ -95,30 +88,25 @@ def test_list_project_milestones(self, runner, mock_cli_context):
9588
}
9689
]
9790
}
98-
mock_cli_context.get_client().get_project_milestones.return_value = milestones_data
91+
mock_cli_context.get_client().get_milestones.return_value = milestones_data
9992

10093
result = runner.invoke(
101-
list_milestones,
102-
["Test Project"],
94+
project,
95+
["milestones", "Test Project"],
10396
obj={"cli_context": mock_cli_context},
10497
)
10598

10699
assert result.exit_code == 0
107100
mock_cli_context.get_client().get_project.assert_called_once_with("Test Project")
108-
mock_cli_context.get_client().get_project_milestones.assert_called_once_with(
109-
project_id="proj_123",
110-
limit=50,
111-
target_date_after=None,
112-
target_date_before=None
113-
)
101+
mock_cli_context.get_client().get_milestones.assert_called_once_with(limit=50)
114102

115103
def test_list_milestones_project_not_found(self, runner, mock_cli_context):
116104
"""Test listing milestones for non-existent project."""
117105
mock_cli_context.get_client().get_project.return_value = None
118106

119107
result = runner.invoke(
120-
list_milestones,
121-
["NonExistent"],
108+
project,
109+
["milestones", "NonExistent"],
122110
obj={"cli_context": mock_cli_context},
123111
)
124112

@@ -139,36 +127,40 @@ def test_show_project_milestone(self, runner, mock_cli_context):
139127
"project": {"id": "proj_123", "name": "Test Project"},
140128
}
141129

130+
# Mock milestone resolution first
131+
mock_cli_context.get_client().resolve_milestone_id.return_value = "milestone_123"
142132
mock_cli_context.get_client().get_milestone.return_value = milestone_data
143133

144134
result = runner.invoke(
145-
show_milestone,
146-
["Test Project", "milestone_123"],
135+
project,
136+
["milestone", "Test Project", "milestone_123"],
147137
obj={"cli_context": mock_cli_context},
148138
)
149139

150140
assert result.exit_code == 0
141+
mock_cli_context.get_client().resolve_milestone_id.assert_called_once_with("milestone_123", "Test Project")
151142
mock_cli_context.get_client().get_milestone.assert_called_once_with("milestone_123")
152143

153144
def test_show_milestone_by_name_with_resolution(self, runner, mock_cli_context):
154145
"""Test showing milestone by name with resolution."""
155-
# Mock initial lookup failure
156-
mock_cli_context.get_client().get_milestone.side_effect = [None, {
146+
milestone_data = {
157147
"id": "milestone_123",
158148
"name": "Sprint 1"
159-
}]
149+
}
160150

161151
# Mock name resolution
162152
mock_cli_context.get_client().resolve_milestone_id.return_value = "milestone_123"
153+
mock_cli_context.get_client().get_milestone.return_value = milestone_data
163154

164155
result = runner.invoke(
165-
show_milestone,
166-
["Test Project", "Sprint 1"],
156+
project,
157+
["milestone", "Test Project", "Sprint 1"],
167158
obj={"cli_context": mock_cli_context},
168159
)
169160

170161
assert result.exit_code == 0
171162
mock_cli_context.get_client().resolve_milestone_id.assert_called_once_with("Sprint 1", "Test Project")
163+
mock_cli_context.get_client().get_milestone.assert_called_once_with("milestone_123")
172164

173165

174166
class TestCreateMilestone:
@@ -192,8 +184,8 @@ def test_create_project_milestone(self, runner, mock_cli_context):
192184
mock_cli_context.get_client().create_milestone.return_value = create_result
193185

194186
result = runner.invoke(
195-
create_milestone,
196-
["Test Project", "Sprint 1"],
187+
project,
188+
["create-milestone", "Test Project", "Sprint 1"],
197189
obj={"cli_context": mock_cli_context},
198190
)
199191

@@ -225,8 +217,9 @@ def test_create_milestone_with_options(self, runner, mock_cli_context):
225217
mock_cli_context.get_client().create_milestone.return_value = create_result
226218

227219
result = runner.invoke(
228-
create_milestone,
220+
project,
229221
[
222+
"create-milestone",
230223
"Test Project",
231224
"Sprint 1",
232225
"--description",
@@ -251,8 +244,8 @@ def test_create_milestone_project_not_found(self, runner, mock_cli_context):
251244
mock_cli_context.get_client().get_project.return_value = None
252245

253246
result = runner.invoke(
254-
create_milestone,
255-
["NonExistent", "Sprint 1"],
247+
project,
248+
["create-milestone", "NonExistent", "Sprint 1"],
256249
obj={"cli_context": mock_cli_context},
257250
)
258251

@@ -279,8 +272,8 @@ def test_update_project_milestone(self, runner, mock_cli_context):
279272
mock_cli_context.get_client().update_milestone.return_value = update_result
280273

281274
result = runner.invoke(
282-
update_milestone,
283-
["Test Project", "Sprint 1", "--name", "Sprint 1 Updated"],
275+
project,
276+
["update-milestone", "Test Project", "Sprint 1", "--name", "Sprint 1 Updated"],
284277
obj={"cli_context": mock_cli_context},
285278
)
286279

@@ -305,8 +298,8 @@ def test_delete_project_milestone(self, runner, mock_cli_context):
305298
mock_cli_context.get_client().delete_milestone.return_value = True
306299

307300
result = runner.invoke(
308-
delete_milestone,
309-
["Test Project", "Sprint 1"],
301+
project,
302+
["delete-milestone", "Test Project", "Sprint 1"],
310303
obj={"cli_context": mock_cli_context},
311304
input="y\n",
312305
)
@@ -322,8 +315,8 @@ def test_delete_milestone_with_yes_flag(self, runner, mock_cli_context):
322315
mock_cli_context.get_client().delete_milestone.return_value = True
323316

324317
result = runner.invoke(
325-
delete_milestone,
326-
["Test Project", "Sprint 1", "--yes"],
318+
project,
319+
["delete-milestone", "Test Project", "Sprint 1", "--yes"],
327320
obj={"cli_context": mock_cli_context},
328321
)
329322

@@ -357,8 +350,8 @@ def test_list_milestone_issues(self, runner, mock_cli_context):
357350
mock_cli_context.get_client().get_milestone.return_value = milestone_data
358351

359352
result = runner.invoke(
360-
list_milestone_issues,
361-
["Test Project", "Sprint 1"],
353+
project,
354+
["milestone-issues", "Test Project", "Sprint 1"],
362355
obj={"cli_context": mock_cli_context},
363356
)
364357

@@ -397,8 +390,8 @@ def test_create_test_data_for_project(self, runner, mock_cli_context):
397390
mock_cli_context.get_client().create_issue.return_value = issue_result
398391

399392
result = runner.invoke(
400-
create_test_data,
401-
["--team", "ENG"],
393+
project,
394+
["create-test-data", "--team", "ENG"],
402395
obj={"cli_context": mock_cli_context},
403396
)
404397

@@ -413,8 +406,8 @@ def test_create_test_data_team_not_found(self, runner, mock_cli_context):
413406
mock_cli_context.get_client().get_teams.return_value = []
414407

415408
result = runner.invoke(
416-
create_test_data,
417-
["--team", "NONEXISTENT"],
409+
project,
410+
["create-test-data", "--team", "NONEXISTENT"],
418411
obj={"cli_context": mock_cli_context},
419412
)
420413

0 commit comments

Comments
 (0)