feat: support markdown plans (#79)
This commit is contained in:
@@ -0,0 +1,65 @@
|
||||
from goose.toolkit.utils import parse_plan
|
||||
|
||||
|
||||
def test_parse_plan_simple():
|
||||
plan_str = (
|
||||
"Here is python repo\n"
|
||||
"-use uv\n"
|
||||
"-do not use poetry\n\n"
|
||||
"Now you should:\n\n"
|
||||
"-Open a file\n"
|
||||
"-Run a test"
|
||||
)
|
||||
expected_result = {
|
||||
"kickoff_message": "Here is python repo\n-use uv\n-do not use poetry\n\nNow you should:",
|
||||
"tasks": ["Open a file", "Run a test"],
|
||||
}
|
||||
assert expected_result == parse_plan(plan_str)
|
||||
|
||||
|
||||
def test_parse_plan_multiple_groups():
|
||||
plan_str = (
|
||||
"Here is python repo\n"
|
||||
"-use uv\n"
|
||||
"-do not use poetry\n\n"
|
||||
"Now you should:\n\n"
|
||||
"-Open a file\n"
|
||||
"-Run a test\n\n"
|
||||
"Now actually follow the steps:\n"
|
||||
"-Step1\n"
|
||||
"-Step2"
|
||||
)
|
||||
expected_result = {
|
||||
"kickoff_message": (
|
||||
"Here is python repo\n"
|
||||
"-use uv\n"
|
||||
"-do not use poetry\n\n"
|
||||
"Now you should:\n\n"
|
||||
"-Open a file\n"
|
||||
"-Run a test\n\n"
|
||||
"Now actually follow the steps:"
|
||||
),
|
||||
"tasks": ["Step1", "Step2"],
|
||||
}
|
||||
assert expected_result == parse_plan(plan_str)
|
||||
|
||||
|
||||
def test_parse_plan_empty_tasks():
|
||||
plan_str = "Here is python repo"
|
||||
expected_result = {"kickoff_message": "Here is python repo", "tasks": []}
|
||||
assert expected_result == parse_plan(plan_str)
|
||||
|
||||
|
||||
def test_parse_plan_empty_kickoff_message():
|
||||
plan_str = "-task1\n-task2"
|
||||
expected_result = {"kickoff_message": "", "tasks": ["task1", "task2"]}
|
||||
assert expected_result == parse_plan(plan_str)
|
||||
|
||||
|
||||
def test_parse_plan_with_numbers():
|
||||
plan_str = "Here is python repo\n" "Now you should:\n\n" "-1 Open a file\n" "-2 Run a test"
|
||||
expected_result = {
|
||||
"kickoff_message": "Here is python repo\nNow you should:",
|
||||
"tasks": ["1 Open a file", "2 Run a test"],
|
||||
}
|
||||
assert expected_result == parse_plan(plan_str)
|
||||
Reference in New Issue
Block a user