-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathvitest-results.json
More file actions
5 lines (3 loc) · 22.4 KB
/
vitest-results.json
File metadata and controls
5 lines (3 loc) · 22.4 KB
1
2
3
4
5
> discord-link-aggregation-bot@0.1.0 test
> vitest run --reporter json
{"numTotalTestSuites":43,"numPassedTestSuites":43,"numFailedTestSuites":0,"numPendingTestSuites":0,"numTotalTests":65,"numPassedTests":65,"numFailedTests":0,"numPendingTests":0,"numTodoTests":0,"snapshot":{"added":0,"failure":false,"filesAdded":0,"filesRemoved":0,"filesRemovedList":[],"filesUnmatched":0,"filesUpdated":0,"matched":0,"total":0,"unchecked":0,"uncheckedKeysByFile":[],"unmatched":0,"updated":0,"didUpdate":false},"startTime":1775336032363,"success":true,"testResults":[{"assertionResults":[{"ancestorTitles":["Bot Boundary Enforcement","Bot Boundary Rules"],"fullName":"Bot Boundary Enforcement Bot Boundary Rules should not directly import CLI command modules from bot code","status":"passed","title":"should not directly import CLI command modules from bot code","duration":6.080768999999918,"failureMessages":[],"meta":{}},{"ancestorTitles":["Bot Boundary Enforcement","Config Boundary"],"fullName":"Bot Boundary Enforcement Config Boundary should have Bot config with Discord dependencies only","status":"passed","title":"should have Bot config with Discord dependencies only","duration":1.5311880000000428,"failureMessages":[],"meta":{}}],"startTime":1775336033154,"endTime":1775336033161.5312,"status":"passed","message":"","name":"/home/rgardler/projects/SourceBase/tests/boundary.test.ts"},{"assertionResults":[{"ancestorTitles":["briefing save button behavior (unit)"],"fullName":"briefing save button behavior (unit) parses CLI stdout for an item id","status":"passed","title":"parses CLI stdout for an item id","duration":2.3916450000000395,"failureMessages":[],"meta":{}}],"startTime":1775336033640,"endTime":1775336033642.3916,"status":"passed","message":"","name":"/home/rgardler/projects/SourceBase/tests/briefing-save.test.ts"},{"assertionResults":[{"ancestorTitles":["Discord message handler spawn ENOENT integration"],"fullName":"Discord message handler spawn ENOENT integration should reply with friendly CLI unavailable message when add spawn fails with ENOENT","status":"passed","title":"should reply with friendly CLI unavailable message when add spawn fails with ENOENT","duration":445.818404,"failureMessages":[],"meta":{}}],"startTime":1775336033115,"endTime":1775336033560.8184,"status":"passed","message":"","name":"/home/rgardler/projects/SourceBase/tests/index.spawn-error-integration.test.ts"},{"assertionResults":[{"ancestorTitles":["index message handler integration"],"fullName":"index message handler integration extracts a single URL and runs add once","status":"passed","title":"extracts a single URL and runs add once","duration":419.88118399999985,"failureMessages":[],"meta":{}},{"ancestorTitles":["index message handler integration"],"fullName":"index message handler integration extracts multiple URLs and ignores duplicate URLs","status":"passed","title":"extracts multiple URLs and ignores duplicate URLs","duration":65.05648099999985,"failureMessages":[],"meta":{}},{"ancestorTitles":["index message handler integration"],"fullName":"index message handler integration does nothing when no URL is present","status":"passed","title":"does nothing when no URL is present","duration":43.78843000000006,"failureMessages":[],"meta":{}},{"ancestorTitles":["index message handler integration"],"fullName":"index message handler integration calls runAddCommand with URL and message context","status":"passed","title":"calls runAddCommand with URL and message context","duration":43.55530299999987,"failureMessages":[],"meta":{}},{"ancestorTitles":["index message handler integration"],"fullName":"index message handler integration creates a thread and posts progress updates with backtick wrapping","status":"passed","title":"creates a thread and posts progress updates with backtick wrapping","duration":36.5967720000001,"failureMessages":[],"meta":{}},{"ancestorTitles":["index message handler integration"],"fullName":"index message handler integration passes Discord context tags to spawn for ob add","status":"passed","title":"passes Discord context tags to spawn for ob add","duration":53.60537099999988,"failureMessages":[],"meta":{}},{"ancestorTitles":["index message handler integration"],"fullName":"index message handler integration posts generated summary to the processing thread after successful add","status":"passed","title":"posts generated summary to the processing thread after successful add","duration":28.362206000000015,"failureMessages":[],"meta":{}},{"ancestorTitles":["index message handler integration"],"fullName":"index message handler integration retries summary generation three times then marks for manual review","status":"passed","title":"retries summary generation three times then marks for manual review","duration":25.564880999999787,"failureMessages":[],"meta":{}},{"ancestorTitles":["index message handler integration"],"fullName":"index message handler integration does not post duplicate summaries for the same item","status":"passed","title":"does not post duplicate summaries for the same item","duration":26.201103999999987,"failureMessages":[],"meta":{}}],"startTime":1775336033104,"endTime":1775336033847.2012,"status":"passed","message":"","name":"/home/rgardler/projects/SourceBase/tests/index.test.ts"},{"assertionResults":[{"ancestorTitles":["Logger"],"fullName":"Logger logs info records when level is info","status":"passed","title":"logs info records when level is info","duration":5.560669999999959,"failureMessages":[],"meta":{}},{"ancestorTitles":["Logger"],"fullName":"Logger does not log debug records when level is warn","status":"passed","title":"does not log debug records when level is warn","duration":0.7937009999999418,"failureMessages":[],"meta":{}}],"startTime":1775336033204,"endTime":1775336033209.7937,"status":"passed","message":"","name":"/home/rgardler/projects/SourceBase/tests/logger.test.ts"},{"assertionResults":[{"ancestorTitles":["isLikelyContentQuery"],"fullName":"isLikelyContentQuery detects explicit questions","status":"passed","title":"detects explicit questions","duration":2.5006100000000515,"failureMessages":[],"meta":{}},{"ancestorTitles":["isLikelyContentQuery"],"fullName":"isLikelyContentQuery detects implicit question + search hint","status":"passed","title":"detects implicit question + search hint","duration":0.3634429999999611,"failureMessages":[],"meta":{}},{"ancestorTitles":["isLikelyContentQuery"],"fullName":"isLikelyContentQuery ignores normal conversation","status":"passed","title":"ignores normal conversation","duration":0.23739599999998973,"failureMessages":[],"meta":{}}],"startTime":1775336033194,"endTime":1775336033197.3635,"status":"passed","message":"","name":"/home/rgardler/projects/SourceBase/tests/query.detector.test.ts"},{"assertionResults":[{"ancestorTitles":["Save briefing button interaction"],"fullName":"Save briefing button interaction saves briefing from .md attachment and returns link on success","status":"passed","title":"saves briefing from .md attachment and returns link on success","duration":446.71215599999994,"failureMessages":[],"meta":{}},{"ancestorTitles":["Save briefing button interaction"],"fullName":"Save briefing button interaction prevents concurrent ingestion and is idempotent across repeated clicks","status":"passed","title":"prevents concurrent ingestion and is idempotent across repeated clicks","duration":53.11066200000005,"failureMessages":[],"meta":{}},{"ancestorTitles":["Save briefing button interaction"],"fullName":"Save briefing button interaction handles CLI failure and allows retry after failing ingestion","status":"passed","title":"handles CLI failure and allows retry after failing ingestion","duration":44.96304600000008,"failureMessages":[],"meta":{}}],"startTime":1775336033105,"endTime":1775336033650.9631,"status":"passed","message":"","name":"/home/rgardler/projects/SourceBase/tests/save-button.test.ts"},{"assertionResults":[{"ancestorTitles":["CLI Runner LLM error propagation"],"fullName":"CLI Runner LLM error propagation propagates embedding backend 'input too large' errors from CLI for add command","status":"passed","title":"propagates embedding backend 'input too large' errors from CLI for add command","duration":107.66911200000004,"failureMessages":[],"meta":{}},{"ancestorTitles":["CLI Runner LLM error propagation"],"fullName":"CLI Runner LLM error propagation propagates chat completion backend 'input too large' errors from CLI for summary command","status":"passed","title":"propagates chat completion backend 'input too large' errors from CLI for summary command","duration":120.13330999999994,"failureMessages":[],"meta":{}}],"startTime":1775336033095,"endTime":1775336033323.1333,"status":"passed","message":"","name":"/home/rgardler/projects/SourceBase/tests/bot/cli-runner.llm-error.test.ts"},{"assertionResults":[{"ancestorTitles":["runAddCommand NDJSON parsing"],"fullName":"runAddCommand NDJSON parsing parses NDJSON progress events and returns success when completed","status":"passed","title":"parses NDJSON progress events and returns success when completed","duration":82.637293,"failureMessages":[],"meta":{}},{"ancestorTitles":["runAddCommand NDJSON parsing"],"fullName":"runAddCommand NDJSON parsing ignores invalid NDJSON lines and still returns result","status":"passed","title":"ignores invalid NDJSON lines and still returns result","duration":104.30869199999995,"failureMessages":[],"meta":{}},{"ancestorTitles":["runAddCommand NDJSON parsing"],"fullName":"runAddCommand NDJSON parsing returns failure when last event indicates failed phase","status":"passed","title":"returns failure when last event indicates failed phase","duration":35.241460000000075,"failureMessages":[],"meta":{}},{"ancestorTitles":["runAddCommand NDJSON parsing"],"fullName":"runAddCommand NDJSON parsing returns failure and includes stderr when CLI exits non-zero","status":"passed","title":"returns failure and includes stderr when CLI exits non-zero","duration":42.01408700000002,"failureMessages":[],"meta":{}}],"startTime":1775336033129,"endTime":1775336033393.0142,"status":"passed","message":"","name":"/home/rgardler/projects/SourceBase/tests/bot/cli-runner.ndjson.test.ts"},{"assertionResults":[{"ancestorTitles":["runAddCommand spawn error handling"],"fullName":"runAddCommand spawn error handling should throw CliRunnerError when spawn emits error with ENOENT","status":"passed","title":"should throw CliRunnerError when spawn emits error with ENOENT","duration":75.4407500000001,"failureMessages":[],"meta":{}}],"startTime":1775336033135,"endTime":1775336033210.4407,"status":"passed","message":"","name":"/home/rgardler/projects/SourceBase/tests/bot/cli-runner.spawn-error.test.ts"},{"assertionResults":[{"ancestorTitles":["CLI Runner Module","Module Exports"],"fullName":"CLI Runner Module Module Exports should export CliRunnerError class","status":"passed","title":"should export CliRunnerError class","duration":3.9094969999999876,"failureMessages":[],"meta":{}},{"ancestorTitles":["CLI Runner Module","Type Definitions"],"fullName":"CLI Runner Module Type Definitions should have correct AddProgressEvent structure","status":"passed","title":"should have correct AddProgressEvent structure","duration":1.061315000000036,"failureMessages":[],"meta":{}},{"ancestorTitles":["CLI Runner Module","Type Definitions"],"fullName":"CLI Runner Module Type Definitions should have correct ContextFlags structure","status":"passed","title":"should have correct ContextFlags structure","duration":1.6050729999999476,"failureMessages":[],"meta":{}},{"ancestorTitles":["CLI Runner Module","Type Definitions"],"fullName":"CLI Runner Module Type Definitions should have correct RunnerOptions structure","status":"passed","title":"should have correct RunnerOptions structure","duration":1.0036159999999654,"failureMessages":[],"meta":{}},{"ancestorTitles":["CLI Runner Module","Type Definitions"],"fullName":"CLI Runner Module Type Definitions should have correct AddResult structure","status":"passed","title":"should have correct AddResult structure","duration":0.8522019999999202,"failureMessages":[],"meta":{}},{"ancestorTitles":["CLI Runner Module","Type Definitions"],"fullName":"CLI Runner Module Type Definitions should have correct QueueResult structure","status":"passed","title":"should have correct QueueResult structure","duration":0.7523340000000189,"failureMessages":[],"meta":{}},{"ancestorTitles":["CLI Runner Module","Type Definitions"],"fullName":"CLI Runner Module Type Definitions should have correct StatsResult structure","status":"passed","title":"should have correct StatsResult structure","duration":0.8362120000000459,"failureMessages":[],"meta":{}},{"ancestorTitles":["CLI Runner Module","Type Definitions"],"fullName":"CLI Runner Module Type Definitions should have correct CliCommandResult structure","status":"passed","title":"should have correct CliCommandResult structure","duration":2.249738999999977,"failureMessages":[],"meta":{}},{"ancestorTitles":["CLI Runner Module","Environment Configuration"],"fullName":"CLI Runner Module Environment Configuration should default to 'ob' when no CLI env var is set","status":"passed","title":"should default to 'ob' when no CLI env var is set","duration":1.2276880000000574,"failureMessages":[],"meta":{}},{"ancestorTitles":["CLI Runner Module","Environment Configuration"],"fullName":"CLI Runner Module Environment Configuration should spawn the default 'ob' executable when no env or API override is set","status":"passed","title":"should spawn the default 'ob' executable when no env or API override is set","duration":100.32362499999999,"failureMessages":[],"meta":{}},{"ancestorTitles":["CLI Runner Module","Environment Configuration"],"fullName":"CLI Runner Module Environment Configuration should use OB_CLI_PATH when set in environment","status":"passed","title":"should use OB_CLI_PATH when set in environment","duration":58.814211,"failureMessages":[],"meta":{}},{"ancestorTitles":["CLI Runner Module","Environment Configuration"],"fullName":"CLI Runner Module Environment Configuration setCliPath should override env and default values","status":"passed","title":"setCliPath should override env and default values","duration":54.25048700000002,"failureMessages":[],"meta":{}},{"ancestorTitles":["CLI Runner Module","runSummaryCommand"],"fullName":"CLI Runner Module runSummaryCommand returns summary text from stdout when command succeeds","status":"passed","title":"returns summary text from stdout when command succeeds","duration":26.187858000000006,"failureMessages":[],"meta":{}},{"ancestorTitles":["CLI Runner Module","runSummaryCommand"],"fullName":"CLI Runner Module runSummaryCommand returns failure when summary command exits non-zero","status":"passed","title":"returns failure when summary command exits non-zero","duration":29.582893000000013,"failureMessages":[],"meta":{}},{"ancestorTitles":["CLI Runner Module","Process Management"],"fullName":"CLI Runner Module Process Management should return 0 for active child process count initially","status":"passed","title":"should return 0 for active child process count initially","duration":0.3899730000000545,"failureMessages":[],"meta":{}},{"ancestorTitles":["CLI Runner Module","Process Management"],"fullName":"CLI Runner Module Process Management should terminate all child processes gracefully without error","status":"passed","title":"should terminate all child processes gracefully without error","duration":2.075260000000071,"failureMessages":[],"meta":{}},{"ancestorTitles":["CLI Runner Module","setCliPath"],"fullName":"CLI Runner Module setCliPath setCliPath is a no-op warning","status":"passed","title":"setCliPath is a no-op warning","duration":0.7633749999999964,"failureMessages":[],"meta":{}},{"ancestorTitles":["CLI Runner Module","CliRunnerError"],"fullName":"CLI Runner Module CliRunnerError should capture exit code and stderr","status":"passed","title":"should capture exit code and stderr","duration":0.5159699999999248,"failureMessages":[],"meta":{}},{"ancestorTitles":["CLI Runner Module","CliRunnerError"],"fullName":"CLI Runner Module CliRunnerError should work with try/catch","status":"passed","title":"should work with try/catch","duration":0.6538889999999355,"failureMessages":[],"meta":{}}],"startTime":1775336033207,"endTime":1775336033498.6538,"status":"passed","message":"","name":"/home/rgardler/projects/SourceBase/tests/bot/cli-runner.test.ts"},{"assertionResults":[{"ancestorTitles":["runAddCommand timeout handling"],"fullName":"runAddCommand timeout handling should reject with CliRunnerError when subprocess exceeds timeout and kill is invoked","status":"passed","title":"should reject with CliRunnerError when subprocess exceeds timeout and kill is invoked","duration":81.47165799999993,"failureMessages":[],"meta":{}}],"startTime":1775336033137,"endTime":1775336033218.4717,"status":"passed","message":"","name":"/home/rgardler/projects/SourceBase/tests/bot/cli-runner.timeout.test.ts"},{"assertionResults":[{"ancestorTitles":["Bot Config Module","validation with Discord vars"],"fullName":"Bot Config Module validation with Discord vars should validate successfully with all required vars present","status":"passed","title":"should validate successfully with all required vars present","duration":1238.5260859999999,"failureMessages":[],"meta":{}},{"ancestorTitles":["Bot Config Module","validation with Discord vars"],"fullName":"Bot Config Module validation with Discord vars should fail validation when DISCORD_BOT_TOKEN is missing","status":"passed","title":"should fail validation when DISCORD_BOT_TOKEN is missing","duration":671.3788319999999,"failureMessages":[],"meta":{}},{"ancestorTitles":["Bot Config Module","validation with Discord vars"],"fullName":"Bot Config Module validation with Discord vars should fail validation when DISCORD_CHANNEL_ID is missing","status":"passed","title":"should fail validation when DISCORD_CHANNEL_ID is missing","duration":633.9152589999999,"failureMessages":[],"meta":{}},{"ancestorTitles":["Bot Config Module","validation with Discord vars"],"fullName":"Bot Config Module validation with Discord vars should have bot-specific fields","status":"passed","title":"should have bot-specific fields","duration":600.6195870000001,"failureMessages":[],"meta":{}},{"ancestorTitles":["Bot Config Module","formatConfigError"],"fullName":"Bot Config Module formatConfigError should show DISCORD_BOT_TOKEN in error when it's missing","status":"passed","title":"should show DISCORD_BOT_TOKEN in error when it's missing","duration":619.7471700000006,"failureMessages":[],"meta":{}}],"startTime":1775336033060,"endTime":1775336036825.747,"status":"passed","message":"","name":"/home/rgardler/projects/SourceBase/tests/config/bot.test.ts"},{"assertionResults":[{"ancestorTitles":["slash interaction handlers"],"fullName":"slash interaction handlers parses JSON array search output into [title](url) lines","status":"passed","title":"parses JSON array search output into [title](url) lines","duration":421.71508500000004,"failureMessages":[],"meta":{}},{"ancestorTitles":["slash interaction handlers"],"fullName":"slash interaction handlers falls back to line parsing when search output is not JSON","status":"passed","title":"falls back to line parsing when search output is not JSON","duration":52.8375309999999,"failureMessages":[],"meta":{}},{"ancestorTitles":["slash interaction handlers"],"fullName":"slash interaction handlers handles briefing output that is not JSON by returning raw text","status":"passed","title":"handles briefing output that is not JSON by returning raw text","duration":44.61072899999999,"failureMessages":[],"meta":{}},{"ancestorTitles":["slash interaction handlers"],"fullName":"slash interaction handlers passes optional briefing k argument through to CLI when provided","status":"passed","title":"passes optional briefing k argument through to CLI when provided","duration":23.0345870000001,"failureMessages":[],"meta":{}},{"ancestorTitles":["slash interaction handlers"],"fullName":"slash interaction handlers rejects out-of-range briefing k before calling CLI","status":"passed","title":"rejects out-of-range briefing k before calling CLI","duration":36.60330299999987,"failureMessages":[],"meta":{}},{"ancestorTitles":["slash interaction handlers"],"fullName":"slash interaction handlers wraps markdown briefing text at 80 characters on nearest spaces","status":"passed","title":"wraps markdown briefing text at 80 characters on nearest spaces","duration":20.782781999999997,"failureMessages":[],"meta":{}}],"startTime":1775336033117,"endTime":1775336033717.7827,"status":"passed","message":"","name":"/home/rgardler/projects/SourceBase/tests/discord/interaction.test.ts"},{"assertionResults":[{"ancestorTitles":["Integration: CLI edge-cases (NDJSON/stderr/exit)"],"fullName":"Integration: CLI edge-cases (NDJSON/stderr/exit) consumes NDJSON from a shim and returns success","status":"passed","title":"consumes NDJSON from a shim and returns success","duration":186.309118,"failureMessages":[],"meta":{}},{"ancestorTitles":["Integration: CLI edge-cases (NDJSON/stderr/exit)"],"fullName":"Integration: CLI edge-cases (NDJSON/stderr/exit) captures stderr emitted by shim and surfaces on non-zero exit","status":"passed","title":"captures stderr emitted by shim and surfaces on non-zero exit","duration":77.56251799999995,"failureMessages":[],"meta":{}}],"startTime":1775336033147,"endTime":1775336033410.5625,"status":"passed","message":"","name":"/home/rgardler/projects/SourceBase/tests/integration/cli-edgecases.spec.ts"},{"assertionResults":[{"ancestorTitles":["obCliEnv test helpers"],"fullName":"obCliEnv test helpers setObCliPath returns restore function and updates process.env","status":"passed","title":"setObCliPath returns restore function and updates process.env","duration":4.055242000000021,"failureMessages":[],"meta":{}},{"ancestorTitles":["obCliEnv test helpers"],"fullName":"obCliEnv test helpers withObCliPath restores env after success","status":"passed","title":"withObCliPath restores env after success","duration":17.620501999999988,"failureMessages":[],"meta":{}},{"ancestorTitles":["obCliEnv test helpers"],"fullName":"obCliEnv test helpers withObCliPath restores env after thrown error","status":"passed","title":"withObCliPath restores env after thrown error","duration":2.228207999999995,"failureMessages":[],"meta":{}},{"ancestorTitles":["obCliEnv test helpers"],"fullName":"obCliEnv test helpers withObCliPath attempts to update cli-runner internal state when loaded","status":"passed","title":"withObCliPath attempts to update cli-runner internal state when loaded","duration":6.775903999999969,"failureMessages":[],"meta":{}}],"startTime":1775336033251,"endTime":1775336033281.776,"status":"passed","message":"","name":"/home/rgardler/projects/SourceBase/tests/unit/obCliEnv.spec.ts"}]}