Repository navigation
(janitor/test-prune): prune tautological and library-behavior extension tests - #7331
Conversation
Remove tests that assert a factory echoes its own inputs, re-assert Jotai's atom read/write semantics, or pin a one-line ternary with no repo-owned branching logic: - workflow-settings-state: drop the workflowRunRequestAtom describe block (verifies Jotai store set/get round-trips, not repo logic) - agent-conversation: drop three workflow tool-call blocks that only assert createWorkflowToolCall echoes name/arguments verbatim - model-picker-rows: drop the modelRowDisplayId block (trivial 'cli:' prefix strip already bounded by the kept isGatewayModelId tests) The factory output shapes and the atom type are already enforced by TypeScript; the surviving tests still cover groupConversationEvents, scroll-key generation, event-id uniqueness, isGatewayModelId, and buildExtensionModelPickerRows.
Code Review SummaryStatus: No Issues Found | Recommendation: Merge Executive SummaryThis PR deletes eight tautological/library-behavior extension tests (Jotai Files Reviewed (3 files)
Verified: changed lines only remove test code, no unused imports remain, no production code altered, and no memory-leak surface introduced. Reviewed by deepseek-v4.1-flash · Input: 45.2K · Output: 3.9K · Cached: 277.8K Review guidance: REVIEW.md from base branch |
eshurakov
left a comment
There was a problem hiding this comment.
Code Review Summary
Status: No Issues Found | Recommendation: Merge
Executive Summary
Independently reviewed all three test-only diffs at 094d413 against base 2084412, the identical production blobs at both revisions, surviving coverage, CI logs, and existing review comments; no major regression or coverage issue found.
Workflow Run retains component-level atom wiring and approval/mode/concurrency coverage. Removed workflow factory cases repeat the same branch-free name/arguments passthrough. Display-ID tests do lose direct formatting assertions, but the helper only renders text; selection retains the original model ID and gateway-boundary tests remain. TypeScript and isGatewayModelId tests are not substitutes for those runtime/display assertions, but that limitation is non-blocking here.
Verified head-matched CI: extension typecheck/lint/format and 1,613 tests across 100 files passed, including all 37 surviving tests in the changed files; Firefox build passed; Chrome E2E had 149 passed and 16 skipped. No local tests run or workspace changes made. Head rechecked immediately before approval.
Files Reviewed (3 files)
apps/extension/entrypoints/sidepanel/workflow-settings-state.test.tsapps/extension/src/shared/agent-conversation.test.tsapps/extension/src/shared/model-picker-rows.test.ts
Summary
Removes 8 low-value tests in the extension that cannot detect a plausible production regression because they assert mock/library passthrough or a one-line ternary with no repo-owned branching.
Deletions and surviving coverage
entrypoints/sidepanel/workflow-settings-state.test.tsdescribe('workflow run request atom')(3 tests:defaults to undefined,sets and reads a run request,can be cleared back to undefined).atom()/store.set/store.getsemantics, not repository logic. The atom declaration isatom<WorkflowRunRequest | undefined>(); its type is enforced by TypeScript, and the surroundingderiveWorkflowRunDisabledReason/deriveWorkflowSettingsView/toWorkflowSettingsListItemtests are untouched.src/shared/agent-conversation.test.tssearch_workflows/get_workflow,save_workflow/save_memory, andrun_workflow/delete_workflowtool-call blocks (3 tests). Each only asserted thatcreateWorkflowToolCallechoes its ownnameandargumentsinputs verbatim — a property already guaranteed by the object literal and its fully-typed return type (WorkflowToolCallEvent).groupConversationEvents,getConversationScrollKey(message + thinking growth + in-flight/completed tool exchange), and cross-reload event-id uniqueness, plus the full event-shape contract increates stable conversation events.src/shared/model-picker-rows.test.tsdescribe('modelRowDisplayId()')(2 tests) covering a one-lineid.startsWith('cli:') ? id.slice(4) : idternary. The CLI-catalog prefix boundary that matters for safety is still pinned by the keptisGatewayModelId()tests, andbuildExtensionModelPickerRows()tests remain.Why these cannot detect an additional plausible regression
deriveWorkflowRunDisabledReason/deriveWorkflowSettingsViewis covered elsewhere, and the atom's default/type cannot regress at runtime without a compile error.isGatewayModelIdboundary tests.Verification
pnpm --filter kilo-extension vitest --run <3 changed files>: 37 passed (was 45; 8 removed).tsc --noEmit: passed.oxlint(type-aware,--deny-warnings) on changed files: 0 warnings/errors.oxfmt --list-differenton changed files: clean.