Skip to content

Commit fb02788

Browse files
neongreenclaude
andcommitted
conf: Add comprehensive integration tests for schema parsing
Added three integration test suites for the schema system: 1. TestJJSchemaParserIntegration - Tests core parsing functionality: - Schema loading and validation - GetAllPaths() returns 126 jj settings - Property info extraction with types, descriptions, defaults - Edge case handling for malformed paths 2. TestSchemaCompletion - Tests completion generation: - Path prefix filtering (user, ui, snapshot, etc.) - Value completion for boolean/string/enum types - Completion context with descriptions and defaults 3. TestSchemaConsistency - Tests data quality: - Path/settings consistency checks - Validation consistency across APIs - Property info consistency - Quality metrics: 93.7% have descriptions, 42.9% have defaults All tests pass. Schema contains 126 settings across 6 types. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
1 parent 5d7df5e commit fb02788

2 files changed

Lines changed: 563 additions & 5 deletions

File tree

.beads/issues.jsonl

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -190,12 +190,12 @@
190190
{"id":"bd-27","title":"ghrelease: GetGitHubToken should log which token source was used","description":"","status":"closed","priority":0,"issue_type":"feature","created_at":"2025-10-16T20:52:31.284406+02:00","updated_at":"2025-10-21T10:22:23.716548+02:00","closed_at":"2025-10-16T21:19:19.771408+02:00"}
191191
{"id":"bd-270","title":"conf: Implement jj config support","description":"Implement jj tool support with ~/.jjconfig.toml target and dotted path handling (e.g., snapshot.max-new-file-size)","status":"closed","priority":2,"issue_type":"task","created_at":"2025-10-19T07:58:46.689404+02:00","updated_at":"2025-10-21T10:22:23.716745+02:00","closed_at":"2025-10-19T08:28:29.201712+02:00","dependencies":[{"issue_id":"bd-270","depends_on_id":"bd-262","type":"parent-child","created_at":"2025-10-19T07:58:55.440382+02:00","created_by":"artyom"},{"issue_id":"bd-270","depends_on_id":"bd-267","type":"blocks","created_at":"2025-10-19T07:59:00.436954+02:00","created_by":"artyom"},{"issue_id":"bd-270","depends_on_id":"bd-268","type":"blocks","created_at":"2025-10-19T07:59:00.472415+02:00","created_by":"artyom"}]}
192192
{"id":"bd-271","title":"conf: Implement mise config support","description":"Implement mise tool support with ~/.config/mise/config.toml target","status":"closed","priority":2,"issue_type":"task","created_at":"2025-10-19T07:58:46.714593+02:00","updated_at":"2025-10-21T10:22:23.716968+02:00","closed_at":"2025-10-19T09:02:44.067278+02:00","dependencies":[{"issue_id":"bd-271","depends_on_id":"bd-262","type":"parent-child","created_at":"2025-10-19T07:58:55.465501+02:00","created_by":"artyom"},{"issue_id":"bd-271","depends_on_id":"bd-267","type":"blocks","created_at":"2025-10-19T07:59:03.833348+02:00","created_by":"artyom"},{"issue_id":"bd-271","depends_on_id":"bd-269","type":"blocks","created_at":"2025-10-19T07:59:03.866603+02:00","created_by":"artyom"}]}
193-
{"id":"bd-272","title":"conf: Generate shell completion scripts","description":"Generate bash/zsh/fish completion scripts from schema data and implement installation integration","status":"open","priority":2,"issue_type":"task","created_at":"2025-10-19T07:58:46.74114+02:00","updated_at":"2025-10-21T10:22:23.717173+02:00","dependencies":[{"issue_id":"bd-272","depends_on_id":"bd-262","type":"parent-child","created_at":"2025-10-19T07:58:55.572697+02:00","created_by":"artyom"},{"issue_id":"bd-272","depends_on_id":"bd-268","type":"blocks","created_at":"2025-10-19T07:59:03.915804+02:00","created_by":"artyom"},{"issue_id":"bd-272","depends_on_id":"bd-269","type":"blocks","created_at":"2025-10-19T07:59:03.964953+02:00","created_by":"artyom"}]}
193+
{"id":"bd-272","title":"conf: Generate shell completion scripts","description":"Generate bash/zsh/fish completion scripts from schema data and implement installation integration","status":"closed","priority":2,"issue_type":"task","created_at":"2025-10-19T07:58:46.74114+02:00","updated_at":"2025-10-22T08:42:52.139822+02:00","closed_at":"2025-10-22T08:42:52.139822+02:00","dependencies":[{"issue_id":"bd-272","depends_on_id":"bd-262","type":"parent-child","created_at":"2025-10-19T07:58:55.572697+02:00","created_by":"artyom"},{"issue_id":"bd-272","depends_on_id":"bd-268","type":"blocks","created_at":"2025-10-19T07:59:03.915804+02:00","created_by":"artyom"},{"issue_id":"bd-272","depends_on_id":"bd-269","type":"blocks","created_at":"2025-10-19T07:59:03.964953+02:00","created_by":"artyom"}]}
194194
{"id":"bd-273","title":"conf: Write unit tests for TOML editing functionality","description":"Create comprehensive unit tests for surgical TOML editing that preserves formatting, comments, and structure","status":"open","priority":2,"issue_type":"task","created_at":"2025-10-19T07:59:52.957067+02:00","updated_at":"2025-10-21T10:22:23.71737+02:00","dependencies":[{"issue_id":"bd-273","depends_on_id":"bd-262","type":"parent-child","created_at":"2025-10-19T07:59:58.017553+02:00","created_by":"artyom"},{"issue_id":"bd-273","depends_on_id":"bd-267","type":"blocks","created_at":"2025-10-19T08:00:02.236764+02:00","created_by":"artyom"}]}
195-
{"id":"bd-274","title":"conf: Write integration tests for jj config management","description":"Create integration tests that verify conf can correctly set jj config values in real ~/.jjconfig.toml files","status":"open","priority":2,"issue_type":"task","created_at":"2025-10-19T07:59:52.99461+02:00","updated_at":"2025-10-21T10:22:23.717578+02:00","dependencies":[{"issue_id":"bd-274","depends_on_id":"bd-262","type":"parent-child","created_at":"2025-10-19T07:59:58.04477+02:00","created_by":"artyom"},{"issue_id":"bd-274","depends_on_id":"bd-270","type":"blocks","created_at":"2025-10-19T08:00:02.271797+02:00","created_by":"artyom"}]}
196-
{"id":"bd-275","title":"conf: Write integration tests for mise config management","description":"Create integration tests that verify conf can correctly set mise config values in real ~/.config/mise/config.toml files","status":"open","priority":2,"issue_type":"task","created_at":"2025-10-19T07:59:53.031574+02:00","updated_at":"2025-10-21T10:22:23.717775+02:00","dependencies":[{"issue_id":"bd-275","depends_on_id":"bd-262","type":"parent-child","created_at":"2025-10-19T07:59:58.071235+02:00","created_by":"artyom"},{"issue_id":"bd-275","depends_on_id":"bd-271","type":"blocks","created_at":"2025-10-19T08:00:02.297563+02:00","created_by":"artyom"}]}
197-
{"id":"bd-276","title":"conf: Write tests for schema parsing and completion generation","description":"Create unit tests for JSON schema parsing and completion data generation from both jj and mise schemas","status":"open","priority":2,"issue_type":"task","created_at":"2025-10-19T07:59:53.069981+02:00","updated_at":"2025-10-21T10:22:23.717964+02:00","dependencies":[{"issue_id":"bd-276","depends_on_id":"bd-262","type":"parent-child","created_at":"2025-10-19T07:59:58.096559+02:00","created_by":"artyom"},{"issue_id":"bd-276","depends_on_id":"bd-268","type":"blocks","created_at":"2025-10-19T08:00:02.323461+02:00","created_by":"artyom"},{"issue_id":"bd-276","depends_on_id":"bd-269","type":"blocks","created_at":"2025-10-19T08:00:02.34932+02:00","created_by":"artyom"}]}
198-
{"id":"bd-277","title":"conf: Write CLI integration tests","description":"Create end-to-end tests that verify the complete CLI workflow from command input to config file modification","status":"open","priority":2,"issue_type":"task","created_at":"2025-10-19T07:59:53.106154+02:00","updated_at":"2025-10-21T10:22:23.718209+02:00","dependencies":[{"issue_id":"bd-277","depends_on_id":"bd-262","type":"parent-child","created_at":"2025-10-19T07:59:58.122949+02:00","created_by":"artyom"},{"issue_id":"bd-277","depends_on_id":"bd-270","type":"blocks","created_at":"2025-10-19T08:00:05.901533+02:00","created_by":"artyom"},{"issue_id":"bd-277","depends_on_id":"bd-271","type":"blocks","created_at":"2025-10-19T08:00:05.957608+02:00","created_by":"artyom"}]}
195+
{"id":"bd-274","title":"conf: Write integration tests for jj config management","description":"Create integration tests that verify conf can correctly set jj config values in real ~/.jjconfig.toml files","status":"closed","priority":2,"issue_type":"task","created_at":"2025-10-19T07:59:52.99461+02:00","updated_at":"2025-10-22T08:54:07.292636+02:00","closed_at":"2025-10-22T08:54:07.292636+02:00","dependencies":[{"issue_id":"bd-274","depends_on_id":"bd-262","type":"parent-child","created_at":"2025-10-19T07:59:58.04477+02:00","created_by":"artyom"},{"issue_id":"bd-274","depends_on_id":"bd-270","type":"blocks","created_at":"2025-10-19T08:00:02.271797+02:00","created_by":"artyom"}]}
196+
{"id":"bd-275","title":"conf: Write integration tests for mise config management","description":"Create integration tests that verify conf can correctly set mise config values in real ~/.config/mise/config.toml files","status":"closed","priority":2,"issue_type":"task","created_at":"2025-10-19T07:59:53.031574+02:00","updated_at":"2025-10-22T09:04:47.483031+02:00","closed_at":"2025-10-22T09:04:47.483031+02:00","dependencies":[{"issue_id":"bd-275","depends_on_id":"bd-262","type":"parent-child","created_at":"2025-10-19T07:59:58.071235+02:00","created_by":"artyom"},{"issue_id":"bd-275","depends_on_id":"bd-271","type":"blocks","created_at":"2025-10-19T08:00:02.297563+02:00","created_by":"artyom"}]}
197+
{"id":"bd-276","title":"conf: Write tests for schema parsing and completion generation","description":"Create unit tests for JSON schema parsing and completion data generation from both jj and mise schemas","status":"in_progress","priority":2,"issue_type":"task","created_at":"2025-10-19T07:59:53.069981+02:00","updated_at":"2025-10-22T09:04:47.746108+02:00","dependencies":[{"issue_id":"bd-276","depends_on_id":"bd-262","type":"parent-child","created_at":"2025-10-19T07:59:58.096559+02:00","created_by":"artyom"},{"issue_id":"bd-276","depends_on_id":"bd-268","type":"blocks","created_at":"2025-10-19T08:00:02.323461+02:00","created_by":"artyom"},{"issue_id":"bd-276","depends_on_id":"bd-269","type":"blocks","created_at":"2025-10-19T08:00:02.34932+02:00","created_by":"artyom"}]}
198+
{"id":"bd-277","title":"conf: Write CLI integration tests","description":"Create end-to-end tests that verify the complete CLI workflow from command input to config file modification","status":"closed","priority":2,"issue_type":"task","created_at":"2025-10-19T07:59:53.106154+02:00","updated_at":"2025-10-22T08:52:25.216967+02:00","closed_at":"2025-10-22T08:52:25.216967+02:00","dependencies":[{"issue_id":"bd-277","depends_on_id":"bd-262","type":"parent-child","created_at":"2025-10-19T07:59:58.122949+02:00","created_by":"artyom"},{"issue_id":"bd-277","depends_on_id":"bd-270","type":"blocks","created_at":"2025-10-19T08:00:05.901533+02:00","created_by":"artyom"},{"issue_id":"bd-277","depends_on_id":"bd-271","type":"blocks","created_at":"2025-10-19T08:00:05.957608+02:00","created_by":"artyom"}]}
199199
{"id":"bd-278","title":"printpdf: Migrate CLI to use Cobra framework","description":"Replace custom argument parsing with Cobra framework for consistent CLI patterns. Currently uses custom parseArgs() function that's complex and error-prone. Should use standard Cobra patterns: root command, proper flag handling, built-in help, and consistent error messages. This is Priority 1 since printpdf is actively being developed and the current CLI parsing has bugs (bd-232).","status":"closed","priority":1,"issue_type":"task","created_at":"2025-10-19T08:11:59.338609+02:00","updated_at":"2025-10-21T10:22:23.718402+02:00","closed_at":"2025-10-19T08:13:41.76752+02:00"}
200200
{"id":"bd-279","title":"want: Migrate CLI to use Cobra framework","description":"Replace standard flag package with Cobra framework for consistency across all Go tools. Currently uses go flag package in main.go. Should follow same patterns as other Go CLI tools in the monorepo.","status":"open","priority":2,"issue_type":"task","created_at":"2025-10-19T08:11:59.366437+02:00","updated_at":"2025-10-21T10:22:23.718599+02:00"}
201201
{"id":"bd-28","title":"ghrelease: Add telemetry or logging for release fetch metrics","description":"","status":"open","priority":0,"issue_type":"task","created_at":"2025-10-16T20:52:32.593287+02:00","updated_at":"2025-10-21T10:22:23.718799+02:00"}

0 commit comments

Comments
 (0)