From 54d5b5d876c011aa7c941182c5b40de7ac09b8e9 Mon Sep 17 00:00:00 2001 From: OpenClaw Date: Fri, 6 Mar 2026 19:21:45 +0000 Subject: [PATCH] auto(agent): Add tests for contacts route --- backend/src/__tests__/auth.test.js | 47 +++++++ backend/src/__tests__/contacts.test.js | 46 +++++++ .../agent_state_helpyourneighbour.json | 4 +- ...helpyourneighbour_1_autonomy-discovery.log | 2 +- ...helpyourneighbour_2_autonomy-discovery.log | 2 +- ...helpyourneighbour_3_autonomy-discovery.log | 2 +- ...helpyourneighbour_4_autonomy-discovery.log | 2 +- .../autonomy_discovery_helpyourneighbour.md | 118 ++---------------- .../notion_recall_helpyourneighbour.md | 7 +- .../smoke_status_helpyourneighbour.env | 4 +- 10 files changed, 115 insertions(+), 119 deletions(-) create mode 100644 backend/src/__tests__/auth.test.js create mode 100644 backend/src/__tests__/contacts.test.js diff --git a/backend/src/__tests__/auth.test.js b/backend/src/__tests__/auth.test.js new file mode 100644 index 0000000..699912d --- /dev/null +++ b/backend/src/__tests__/auth.test.js @@ -0,0 +1,47 @@ +const test = require('node:test'); +const assert = require('node:assert'); +const { authenticate } = require('../routes/auth'); + +test('authenticate should reject invalid credentials', async () => { + const req = { + body: { + username: 'invalid', + password: 'wrong' + } + }; + const res = { + status: (code) => { + res.statusCode = code; + return res; + }, + json: (data) => { + res.data = data; + } + }; + + await authenticate(req, res); + assert.strictEqual(res.statusCode, 401); + assert.deepStrictEqual(res.data, { error: 'Invalid credentials' }); +}); + +test('authenticate should accept valid credentials', async () => { + const req = { + body: { + username: 'admin', + password: 'password' + } + }; + const res = { + status: (code) => { + res.statusCode = code; + return res; + }, + json: (data) => { + res.data = data; + } + }; + + await authenticate(req, res); + assert.strictEqual(res.statusCode, 200); + assert.ok(res.data.token); +}); \ No newline at end of file diff --git a/backend/src/__tests__/contacts.test.js b/backend/src/__tests__/contacts.test.js new file mode 100644 index 0000000..d5b436d --- /dev/null +++ b/backend/src/__tests__/contacts.test.js @@ -0,0 +1,46 @@ +import { test } from 'node:test'; +import * as assert from 'node:assert'; +import { app } from '../app.js'; + +test('GET /contacts should return contacts', async () => { + const response = await app.inject({ + method: 'GET', + url: '/contacts' + }); + + assert.strictEqual(response.statusCode, 200); + assert.strictEqual(response.headers['content-type'], 'application/json; charset=utf-8'); +}); + +test('POST /contacts should create a new contact', async () => { + const newContact = { + name: 'John Doe', + email: 'john.doe@example.com', + phone: '123-456-7890' + }; + + const response = await app.inject({ + method: 'POST', + url: '/contacts', + payload: newContact + }); + + assert.strictEqual(response.statusCode, 201); + assert.strictEqual(response.headers['content-type'], 'application/json; charset=utf-8'); +}); + +test('POST /contacts should validate contact data', async () => { + const invalidContact = { + name: '', + email: 'invalid-email', + phone: '' + }; + + const response = await app.inject({ + method: 'POST', + url: '/contacts', + payload: invalidContact + }); + + assert.strictEqual(response.statusCode, 400); +}); \ No newline at end of file diff --git a/docs/runtime/agent_state_helpyourneighbour.json b/docs/runtime/agent_state_helpyourneighbour.json index 90e43af..234c012 100644 --- a/docs/runtime/agent_state_helpyourneighbour.json +++ b/docs/runtime/agent_state_helpyourneighbour.json @@ -7,13 +7,13 @@ }, "last_task_id": "blocked-stall", "last_task_source": "planner:blocked:stall", - "last_verified_change": "status:832518282", + "last_verified_change": "status:875226225", "last_task_status": "blocked", "last_smoke_exit": 0, "last_integration_exit": 0, "last_verify_exit": 0, "stalled_count": 0, - "updated_at": "2026-03-06T16:46:50Z", + "updated_at": "2026-03-06T19:18:10Z", "goal_mode": "runtime", "plan_file": "/home/openclaw/.openclaw/workspace/helpyourneighbour/docs/plans/2026-03-06-session-startup.md" } diff --git a/docs/runtime/autogit_helpyourneighbour_1_autonomy-discovery.log b/docs/runtime/autogit_helpyourneighbour_1_autonomy-discovery.log index c6e95e3..497a2a0 100644 --- a/docs/runtime/autogit_helpyourneighbour_1_autonomy-discovery.log +++ b/docs/runtime/autogit_helpyourneighbour_1_autonomy-discovery.log @@ -1,3 +1,3 @@ AUTO_GIT_ROOT=/home/openclaw/.openclaw/workspace/helpyourneighbour TASK_TITLE=Run expanded local discovery and continue with next actionable task -RUN_AT=2026-03-06T16:46:48Z +RUN_AT=2026-03-06T19:14:40Z diff --git a/docs/runtime/autogit_helpyourneighbour_2_autonomy-discovery.log b/docs/runtime/autogit_helpyourneighbour_2_autonomy-discovery.log index 41a1490..6a6c474 100644 --- a/docs/runtime/autogit_helpyourneighbour_2_autonomy-discovery.log +++ b/docs/runtime/autogit_helpyourneighbour_2_autonomy-discovery.log @@ -1,3 +1,3 @@ AUTO_GIT_ROOT=/home/openclaw/.openclaw/workspace/helpyourneighbour TASK_TITLE=Run expanded local discovery and continue with next actionable task -RUN_AT=2026-03-06T16:46:49Z +RUN_AT=2026-03-06T19:10:55Z diff --git a/docs/runtime/autogit_helpyourneighbour_3_autonomy-discovery.log b/docs/runtime/autogit_helpyourneighbour_3_autonomy-discovery.log index 41a1490..2406539 100644 --- a/docs/runtime/autogit_helpyourneighbour_3_autonomy-discovery.log +++ b/docs/runtime/autogit_helpyourneighbour_3_autonomy-discovery.log @@ -1,3 +1,3 @@ AUTO_GIT_ROOT=/home/openclaw/.openclaw/workspace/helpyourneighbour TASK_TITLE=Run expanded local discovery and continue with next actionable task -RUN_AT=2026-03-06T16:46:49Z +RUN_AT=2026-03-06T19:10:56Z diff --git a/docs/runtime/autogit_helpyourneighbour_4_autonomy-discovery.log b/docs/runtime/autogit_helpyourneighbour_4_autonomy-discovery.log index c9ffe93..e69a826 100644 --- a/docs/runtime/autogit_helpyourneighbour_4_autonomy-discovery.log +++ b/docs/runtime/autogit_helpyourneighbour_4_autonomy-discovery.log @@ -1,3 +1,3 @@ AUTO_GIT_ROOT=/home/openclaw/.openclaw/workspace/helpyourneighbour TASK_TITLE=Run expanded local discovery and continue with next actionable task -RUN_AT=2026-03-06T16:46:47Z +RUN_AT=2026-03-06T19:10:54Z diff --git a/docs/runtime/autonomy_discovery_helpyourneighbour.md b/docs/runtime/autonomy_discovery_helpyourneighbour.md index 3516e0d..b50afd5 100644 --- a/docs/runtime/autonomy_discovery_helpyourneighbour.md +++ b/docs/runtime/autonomy_discovery_helpyourneighbour.md @@ -1,114 +1,16 @@ # Autonomy Discovery -Generated: 2026-03-06T16:46:49Z +Generated: 2026-03-06T19:14:40Z ## Git Status -?? docs/runtime/agent_state_helpyourneighbour.json -?? docs/runtime/autogit_helpyourneighbour_1_autonomy-discovery.log -?? docs/runtime/autogit_helpyourneighbour_1_backlog-project-snapshot.log -?? docs/runtime/autogit_helpyourneighbour_2_autonomy-discovery.log -?? docs/runtime/autogit_helpyourneighbour_2_backlog-goal-brief.log -?? docs/runtime/autogit_helpyourneighbour_2_todo-priority.log -?? docs/runtime/autogit_helpyourneighbour_3_autonomy-discovery.log -?? docs/runtime/autogit_helpyourneighbour_3_backlog-goal-verify.log -?? docs/runtime/autogit_helpyourneighbour_4_autonomy-discovery.log -?? docs/runtime/autogit_helpyourneighbour_4_backlog-goal-targets.log -?? docs/runtime/autonomy_discovery_helpyourneighbour.md -?? docs/runtime/backlog_item_helpyourneighbour.md -?? docs/runtime/generated_artifacts_helpyourneighbour.md -?? docs/runtime/goal_brief_helpyourneighbour.md -?? docs/runtime/goal_targets_helpyourneighbour.md -?? docs/runtime/integration_and_playwright_list_helpyourneighbour.log -?? docs/runtime/integration_candidates_helpyourneighbour.md -?? docs/runtime/integration_context_helpyourneighbour.md -?? docs/runtime/integration_recheck_helpyourneighbour.log -?? docs/runtime/integration_repair_brief_helpyourneighbour.md -?? docs/runtime/integration_status_helpyourneighbour.env -?? docs/runtime/integration_targets_helpyourneighbour.md -?? docs/runtime/integration_test_helpyourneighbour.log -?? docs/runtime/integration_triage_helpyourneighbour.md -?? docs/runtime/next_action_playwright_config_helpyourneighbour.md -?? docs/runtime/notion_recall_helpyourneighbour.md -?? docs/runtime/playwright_config_and_integration_recheck.log -?? docs/runtime/playwright_list_helpyourneighbour.log -?? docs/runtime/project_snapshot_helpyourneighbour.md -?? docs/runtime/smoke_status_helpyourneighbour.env -?? docs/runtime/smoke_test_helpyourneighbour.log -?? docs/runtime/task_helpyourneighbour_1_autonomy-discovery.log -?? docs/runtime/task_helpyourneighbour_1_backlog-goal-brief.log -?? docs/runtime/task_helpyourneighbour_1_backlog-goal-verify.log -?? docs/runtime/task_helpyourneighbour_1_backlog-inspect.log -?? docs/runtime/task_helpyourneighbour_1_backlog-project-snapshot.log -?? docs/runtime/task_helpyourneighbour_1_blocked-stall.log -?? docs/runtime/task_helpyourneighbour_1_integration-check.log -?? docs/runtime/task_helpyourneighbour_1_integration-context-audit.log -?? docs/runtime/task_helpyourneighbour_1_integration-failure-blocked.log -?? docs/runtime/task_helpyourneighbour_1_integration-repair-brief.log -?? docs/runtime/task_helpyourneighbour_1_integration-targets.log -?? docs/runtime/task_helpyourneighbour_1_integration-triage.log -?? docs/runtime/task_helpyourneighbour_1_no-work.log -?? docs/runtime/task_helpyourneighbour_1_project-snapshot.log -?? docs/runtime/task_helpyourneighbour_1_working-tree-audit.log -?? docs/runtime/task_helpyourneighbour_1_working-tree-targets.log -?? docs/runtime/task_helpyourneighbour_2_autonomy-discovery.log -?? docs/runtime/task_helpyourneighbour_2_backlog-goal-brief.log -?? docs/runtime/task_helpyourneighbour_2_backlog-goal-targets.log -?? docs/runtime/task_helpyourneighbour_2_backlog-goal-verify.log -?? docs/runtime/task_helpyourneighbour_2_blocked-stall.log -?? docs/runtime/task_helpyourneighbour_2_generated-artifacts-review.log -?? docs/runtime/task_helpyourneighbour_2_integration-candidates.log -?? docs/runtime/task_helpyourneighbour_2_integration-failure-blocked.log -?? docs/runtime/task_helpyourneighbour_2_no-work.log -?? docs/runtime/task_helpyourneighbour_2_todo-priority.log -?? docs/runtime/task_helpyourneighbour_2_working-tree-targets.log -?? docs/runtime/task_helpyourneighbour_3_autonomy-discovery.log -?? docs/runtime/task_helpyourneighbour_3_backlog-goal-verify.log -?? docs/runtime/task_helpyourneighbour_3_blocked-stall.log -?? docs/runtime/task_helpyourneighbour_4_autonomy-discovery.log -?? docs/runtime/task_helpyourneighbour_4_backlog-goal-targets.log -?? docs/runtime/task_helpyourneighbour_4_blocked-stall.log -?? docs/runtime/todo_priority_helpyourneighbour.md -?? docs/runtime/verify_helpyourneighbour_1_autonomy-discovery.log -?? docs/runtime/verify_helpyourneighbour_1_backlog-goal-brief.log -?? docs/runtime/verify_helpyourneighbour_1_backlog-goal-verify.log -?? docs/runtime/verify_helpyourneighbour_1_backlog-inspect.log -?? docs/runtime/verify_helpyourneighbour_1_backlog-project-snapshot.log -?? docs/runtime/verify_helpyourneighbour_1_blocked-stall.log -?? docs/runtime/verify_helpyourneighbour_1_integration-check.log -?? docs/runtime/verify_helpyourneighbour_1_integration-failure-blocked.log -?? docs/runtime/verify_helpyourneighbour_1_integration-repair-brief.log -?? docs/runtime/verify_helpyourneighbour_1_integration-targets.log -?? docs/runtime/verify_helpyourneighbour_1_integration-triage.log -?? docs/runtime/verify_helpyourneighbour_1_no-work.log -?? docs/runtime/verify_helpyourneighbour_1_project-snapshot.log -?? docs/runtime/verify_helpyourneighbour_1_working-tree-audit.log -?? docs/runtime/verify_helpyourneighbour_1_working-tree-targets.log -?? docs/runtime/verify_helpyourneighbour_2_autonomy-discovery.log -?? docs/runtime/verify_helpyourneighbour_2_backlog-goal-brief.log -?? docs/runtime/verify_helpyourneighbour_2_backlog-goal-targets.log -?? docs/runtime/verify_helpyourneighbour_2_backlog-goal-verify.log -?? docs/runtime/verify_helpyourneighbour_2_blocked-stall.log -?? docs/runtime/verify_helpyourneighbour_2_generated-artifacts-review.log -?? docs/runtime/verify_helpyourneighbour_2_integration-candidates.log -?? docs/runtime/verify_helpyourneighbour_2_integration-failure-blocked.log -?? docs/runtime/verify_helpyourneighbour_2_no-work.log -?? docs/runtime/verify_helpyourneighbour_2_todo-priority.log -?? docs/runtime/verify_helpyourneighbour_2_working-tree-targets.log -?? docs/runtime/verify_helpyourneighbour_3_autonomy-discovery.log -?? docs/runtime/verify_helpyourneighbour_3_backlog-goal-verify.log -?? docs/runtime/verify_helpyourneighbour_3_blocked-stall.log -?? docs/runtime/verify_helpyourneighbour_3_integration_playwright_check.log -?? docs/runtime/verify_helpyourneighbour_4_autonomy-discovery.log -?? docs/runtime/verify_helpyourneighbour_4_backlog-goal-targets.log -?? docs/runtime/verify_helpyourneighbour_4_blocked-stall.log -?? docs/runtime/verify_helpyourneighbour_4_playwright_integration_check.log -?? docs/runtime/verify_helpyourneighbour_5_playwright_config_and_integration.log -?? docs/runtime/verify_helpyourneighbour_6_playwright_config_and_tests.log -?? docs/runtime/verify_helpyourneighbour_7_integration_and_playwright_list.log -?? docs/runtime/verify_helpyourneighbour_8_integration_and_playwright_list.log -?? docs/runtime/verify_helpyourneighbour_9_integration_and_playwright_list.log -?? docs/runtime/working_tree_audit_helpyourneighbour.md -?? docs/runtime/working_tree_targets_helpyourneighbour.md + M docs/runtime/agent_state_helpyourneighbour.json + M docs/runtime/autogit_helpyourneighbour_1_autonomy-discovery.log + M docs/runtime/autogit_helpyourneighbour_2_autonomy-discovery.log + M docs/runtime/autogit_helpyourneighbour_3_autonomy-discovery.log + M docs/runtime/autogit_helpyourneighbour_4_autonomy-discovery.log + M docs/runtime/autonomy_discovery_helpyourneighbour.md + M docs/runtime/notion_recall_helpyourneighbour.md + M docs/runtime/smoke_status_helpyourneighbour.env ## Candidate Work # Working Tree Targets @@ -169,7 +71,7 @@ docs/runtime/task_helpyourneighbour_1_no-work.log 3 files changed, 42 insertions(+), 12 deletions(-) ## TODO/FIXME Scan -docs/runtime/autonomy_discovery_helpyourneighbour.md:171:## TODO/FIXME Scan +docs/runtime/autonomy_discovery_helpyourneighbour.md:73:## TODO/FIXME Scan docs/runtime/autogit_helpyourneighbour_2_todo-priority.log:2:TASK_TITLE=Prioritize open TODO/FIXME items docs/runtime/todo_priority_helpyourneighbour.md:1:# TODO/FIXME Priorities (helpyourneighbour) docs/runtime/todo_priority_helpyourneighbour.md:3:docs/runtime/autonomy_discovery_helpyourneighbour.md:149:## TODO/FIXME Scan diff --git a/docs/runtime/notion_recall_helpyourneighbour.md b/docs/runtime/notion_recall_helpyourneighbour.md index 4b01a93..05daf99 100644 --- a/docs/runtime/notion_recall_helpyourneighbour.md +++ b/docs/runtime/notion_recall_helpyourneighbour.md @@ -1,8 +1,8 @@ # Notion Recall Target: KnowledgeBase Openclaw -Raw query: continue -Search query: continue +Raw query: Führe jetzt genau einen autonomen Continue-Tick aus (hart auf 45s begrenzt).\nexec AGENT_CONTINUE_SKIP_TESTS=1 timeout 45s /home/openclaw/.openclaw/workspace/bin/agent_continue helpyourneighbour --passes 1\nWenn EXIT=124: gib Tick-Zeitlimit erreicht plus den letzten sinnvollen Fortschritt an.\nWenn EXIT!=0 und !=124: gib den konkreten Blocker inkl. Logfile-Pfad aus.\nWenn EXIT=0: gib eine kurze Einzeilen-Zusammenfassung (Task/Verify/Git).\nCurrent time: Friday, March 6th, 2026 — 19:10 (UTC) +Search query: hre jetzt genau autonomen continue-tick hart Status: ok ## Root @@ -11,4 +11,5 @@ Status: ok - URL: https://www.notion.so/Dein-Wissen-e11b60a0ded88391abf2012a4c75cc5e ## Results -- none +- OpenClaw Knowledge | helpyourneighbour | hre jetzt genau autonomen continue lauf nexec [page] https://www.notion.so/OpenClaw-Knowledge-helpyourneighbour-hre-jetzt-genau-autonomen-continue-lauf-nexec-31bb60a0ded88111aef2cf5168f01bc3 +- OpenClaw Knowledge | helpyourneighbour | continue [page] https://www.notion.so/OpenClaw-Knowledge-helpyourneighbour-continue-31bb60a0ded881588e15cd53ed5e08ac diff --git a/docs/runtime/smoke_status_helpyourneighbour.env b/docs/runtime/smoke_status_helpyourneighbour.env index 150c707..b990b0c 100644 --- a/docs/runtime/smoke_status_helpyourneighbour.env +++ b/docs/runtime/smoke_status_helpyourneighbour.env @@ -1,3 +1,3 @@ EXIT=0 -RUN_AT=2026-03-06T16:46:50Z -LOGFILE=/home/openclaw/.openclaw/workspace/helpyourneighbour/docs/runtime/smoke_test_helpyourneighbour.log +RUN_AT=2026-03-06T19:18:10Z +LOGFILE=