Skip to content

Commit 76ea46c

Browse files
author
Link
committed
fix tests
1 parent 11cdf46 commit 76ea46c

File tree

1 file changed

+47
-21
lines changed

1 file changed

+47
-21
lines changed

tests/metagpt/test_schema.py

Lines changed: 47 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -291,58 +291,83 @@ def test_reset_task_non_existing(self):
291291
def test_replace_task_with_dependents(self):
292292
plan = Plan(goal="")
293293
tasks = [
294-
Task(task_id="1", instruction="First Task", finished=True),
295-
Task(task_id="2", instruction="Second Task", dependent_task_ids=["1"], finished=True),
294+
Task(task_id="1", instruction="First Task", assignee="Engineer", finished=True),
295+
Task(task_id="2", instruction="Second Task", dependent_task_ids=["1"], assignee="Engineer", finished=True),
296296
]
297297
plan.add_tasks(tasks)
298-
new_task = Task(task_id="1", instruction="Updated First Task")
299-
plan.replace_task(new_task)
298+
plan.replace_task(
299+
task_id="1",
300+
new_dependent_task_ids=[],
301+
new_instruction="Updated First Task",
302+
new_assignee="Engineer"
303+
)
300304
assert plan.task_map["1"].instruction == "Updated First Task"
301305
assert not plan.task_map["2"].is_finished # Dependent task should be reset
302306
assert plan.task_map["2"].code == ""
303307
assert plan.task_map["2"].result == ""
304308

305309
def test_replace_task_non_existing(self):
306310
plan = Plan(goal="")
307-
task = Task(task_id="1", instruction="First Task")
311+
task = Task(task_id="1", instruction="First Task", assignee="Engineer")
308312
plan.add_tasks([task])
309-
new_task = Task(task_id="2", instruction="New Task")
310313
with pytest.raises(AssertionError):
311-
plan.replace_task(new_task) # Task with ID 2 does not exist in plan
314+
# Task with ID 2 does not exist in plan
315+
plan.replace_task(
316+
task_id="2",
317+
new_dependent_task_ids=[],
318+
new_instruction="New Task",
319+
new_assignee="Engineer"
320+
)
312321
assert "1" in plan.task_map
313322
assert "2" not in plan.task_map
314323

315324
def test_append_task_with_valid_dependencies(self):
316325
plan = Plan(goal="Test")
317-
existing_task = [Task(task_id="1")]
326+
existing_task = [Task(task_id="1", instruction="Task 1", assignee="Engineer")]
318327
plan.add_tasks(existing_task)
319-
new_task = Task(task_id="2", dependent_task_ids=["1"])
320-
plan.append_task(new_task)
328+
plan.append_task(
329+
task_id="2",
330+
dependent_task_ids=["1"],
331+
instruction="Task 2",
332+
assignee="Engineer"
333+
)
321334
assert plan.tasks[-1].task_id == "2"
322-
assert plan.task_map["2"] == new_task
335+
assert plan.task_map["2"].task_id == "2"
323336

324337
def test_append_task_with_invalid_dependencies(self):
325-
new_task = Task(task_id="2", dependent_task_ids=["3"])
326338
plan = Plan(goal="Test")
327339
with pytest.raises(AssertionError):
328-
plan.append_task(new_task)
340+
plan.append_task(
341+
task_id="2",
342+
dependent_task_ids=["3"], # Invalid dependency
343+
instruction="Task 2",
344+
assignee="Engineer"
345+
)
329346

330347
def test_append_task_without_dependencies(self):
331348
plan = Plan(goal="Test")
332-
existing_task = [Task(task_id="1")]
349+
existing_task = [Task(task_id="1", instruction="Task 1", assignee="Engineer")]
333350
plan.add_tasks(existing_task)
334351

335-
new_task = Task(task_id="2")
336-
plan.append_task(new_task)
352+
plan.append_task(
353+
task_id="2",
354+
dependent_task_ids=[],
355+
instruction="Task 2",
356+
assignee="Engineer"
357+
)
337358

338359
assert len(plan.tasks) == 2
339360
assert plan.current_task_id == "1"
340361

341362
def test_append_task_updates_current_task(self):
342-
finished_task = Task(task_id="1", is_finished=True)
343-
new_task = Task(task_id="2")
363+
finished_task = Task(task_id="1", instruction="Task 1", assignee="Engineer", is_finished=True)
344364
plan = Plan(goal="Test", tasks=[finished_task])
345-
plan.append_task(new_task)
365+
plan.append_task(
366+
task_id="2",
367+
dependent_task_ids=[],
368+
instruction="Task 2",
369+
assignee="Engineer"
370+
)
346371
assert plan.current_task_id == "2"
347372

348373
def test_update_current_task(self):
@@ -353,6 +378,7 @@ def test_update_current_task(self):
353378
assert plan.current_task_id == "2"
354379

355380

381+
@pytest.mark.asyncio
356382
@pytest.mark.parametrize(
357383
("content", "key_descriptions"),
358384
[
@@ -428,7 +454,7 @@ def test_serialize(self, mock_write_json_file, mock_user_model):
428454

429455
mock_user_model.serialize(file_path)
430456

431-
mock_write_json_file.assert_called_once_with(file_path, mock_user_model.model_dump())
457+
mock_write_json_file.assert_called_once_with(file_path, mock_user_model.model_dump(), use_fallback=True)
432458

433459
def test_deserialize(self, mock_read_json_file):
434460
file_path = "test.json"
@@ -452,7 +478,7 @@ def test_serialize_with_exclude(self, mock_write_json_file):
452478
"__module_class_name": "tests.metagpt.test_schema.TestUserModelWithExclude",
453479
}
454480

455-
mock_write_json_file.assert_called_once_with(file_path, expected_data)
481+
mock_write_json_file.assert_called_once_with(file_path, expected_data, use_fallback=True)
456482

457483
def test_get_serialization_path(self):
458484
expected_path = str(SERDESER_PATH / "TestUserModel.json")

0 commit comments

Comments
 (0)