Files
base44__skills/evals/fixtures/react-task-manager/eval.json
Gal Elmalah 638d8dd94f update evals
2026-02-08 13:25:01 +02:00

69 lines
2.5 KiB
JSON

{
"$schema": "../../eval.schema.json",
"name": "react-task-manager-sdk",
"description": "Test implementing a TaskList component using Base44 SDK to fetch and display tasks",
"prompt": "Implement the TaskList component in src/components/TaskList.tsx. It should fetch all tasks using the Base44 SDK (base44.entities.Task.list()), display them in a list showing title, status, and due_date, and allow marking tasks as completed by clicking on them (using base44.entities.Task.update()).",
"expectedSkills": ["base44-sdk"],
"checks": [
{
"type": "file-content",
"description": "Uses entities.Task.list()",
"filePath": "src/components/TaskList.tsx",
"pattern": "entities\\.Task\\.list\\("
},
{
"type": "file-content",
"description": "Uses entities.Task.update()",
"filePath": "src/components/TaskList.tsx",
"pattern": "entities\\.Task\\.update\\("
},
{
"type": "file-content",
"description": "Imports base44 client",
"filePath": "src/components/TaskList.tsx",
"pattern": "import.*base44|from ['\"].*base44"
},
{
"type": "file-content",
"description": "Uses React hooks for state",
"filePath": "src/components/TaskList.tsx",
"pattern": "useState|useEffect"
},
{
"type": "contains",
"description": "Output mentions SDK or entities",
"value": "entities"
},
{
"type": "file-content",
"description": "Task.update called with (id, data) two-parameter signature",
"filePath": "src/components/TaskList.tsx",
"pattern": "Task\\.update\\s*\\(\\s*\\w+[^,]*,\\s*\\{"
},
{
"type": "file-content",
"description": "Uses async/await pattern with entity calls",
"filePath": "src/components/TaskList.tsx",
"pattern": "await\\s+.*entities\\.Task\\."
},
{
"type": "file-content-excluded",
"description": "Does not use .find() (hallucinated method — correct is .filter())",
"filePath": "src/components/TaskList.tsx",
"pattern": "Task\\.find\\("
},
{
"type": "file-content-excluded",
"description": "Does not use .findOne() (hallucinated — correct is .get())",
"filePath": "src/components/TaskList.tsx",
"pattern": "Task\\.findOne\\("
},
{
"type": "file-content-excluded",
"description": "Does not use .insert() (hallucinated — correct is .create())",
"filePath": "src/components/TaskList.tsx",
"pattern": "Task\\.insert\\("
}
]
}