CoS schedule route tests validate against a hand-rolled copy of the Zod schemas
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 77/100
- Tipo di issue
- Refactoring
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- javascript
Direzione di ricerca
Leggi server/routes/cosScheduleRoutes.test.js:27-50 e confronta il relativo mock di validazione con gli schemi reali in server/lib/validation.js:2800 e server/lib/cosValidation.js:477. Sostituisci o rimuovi il mock, quindi modifica i fixture se gli schemi reali li rifiutano. Esegui i test delle route e conferma che l’allentamento di cosScheduleTargetBodySchema fa fallire i casi 400 di trigger e reset; limita la modifica al file di test.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Slice audited: scheduled-work and route tests (test-quality audit, 2026-10-18).
Problem
server/routes/cosScheduleRoutes.test.js:27-50 mocks ../lib/validation.js with a factory that re-implements taskDataInputsSchema.safeParse, cosScheduleTargetBodySchema.safeParse and validateRequest by hand. The 400 assertions in POST /schedule/trigger ("should return 400 if taskType is missing"), POST /schedule/reset, and PUT /schedule/task/:taskType ("rejects unknown data input ids") therefore test the copy, not server/lib/validation.js:2800 (cosScheduleTargetBodySchema) or server/lib/cosValidation.js:477.
Mutation probe (scratch worktree): loosened the real cosScheduleTargetBodySchema to taskType: nullishString and the real taskDataInputsSchema to z.array(z.string()).
Tests 55 passed (55)
cosScheduleTargetBodySchema has no other test anywhere (rg finds it only in this test file's mock).
Impact
A loosened target schema lets POST /api/cos/schedule/trigger and /reset reach triggerOnDemandTask(undefined, …) / resetExecutionHistory(undefined, …) (server/routes/cosScheduleRoutes.js:283, :355), queueing an on-demand agent run with no task type, an unrequested provider dispatch path, with the suite green.
Fix (decided)
In cosScheduleRoutes.test.js, replace the factory with vi.mock('../lib/validation.js', async (importOriginal) => ({ ...(await importOriginal()), sanitizeTaskMetadata: vi.fn((m) => m) })), or drop the mock entirely if sanitizeTaskMetadata need not be doubled. Delete the duplicated safeParse/validateRequest/parsePagination copies and adjust fixtures the real schema rejects. No production code change.
Scope: small
Acceptance criteria
- Loosening
cosScheduleTargetBodySchemainserver/lib/validation.jsfails the trigger/reset 400 cases. - The test file no longer defines its own
safeParseorvalidateRequest. - No production code change.
- Lingua principale
- JavaScript
- Stelle
- 38
- Fork
- 32
- Merge medio
- 35m
- PR unite (30g)
- 989
Preparare l'ambiente
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di atomantic/PortOS
-
area:devtools effort:high in-progress model:heavy plan planner:gpt-6-1-sol
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
atomantic/PortOS#15031 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
bug effort:high model:heavy plan planner:gpt-6-1-terra tests
Difficoltà 4/5 3-5 giorni Idoneità per principianti 45/100
atomantic/PortOS#15028 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
Prevent unfinished run windows from hiding standalone usageForse già presa @picodot l’ha presa oggi. Apertaarea:devtools bug effort:high in-progress model:heavy plan
atomantic/PortOS#15023 · 1 commento · 1 assegnatario ·
I maintainer di solito rispondono entro 1 giorno
-
area:devtools bug decomposed effort:high epic model:heavy plan
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
atomantic/PortOS#15022 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di atomantic/PortOS
Issue simili
-
Build produces empty forge.min.js: package.json lists "forge" instead of "node-forge"Forse già presa Una pull request collegata a questa issue è aperta o già unita. Aperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 92/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
Fei2411/DeepSeek-Bot#963 · 1 commento ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
Miaotofu01/Study-Mate#244 ·
I maintainer di solito rispondono entro 1 giorno
-
test-reliability
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
Azure/azure-sdk-for-js#40672 · 1 reazione ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
txn2/mcp-data-platform#2492 ·
I maintainer di solito rispondono entro 1 giorno