Open
Conversation
Replace all testify/assert and testify/require usage across 69 test files with shared/testutil assertion helpers. This aligns with STANDARDS.md Section 14: no testify, no gomega, no ginkgo. - Add shared/testutil/assert.go with Equal, NoError, Contains, True, False, Nil, NotNil, Len, Empty, and Require* variants - Convert all test files in shared/, tools/cfl/, and tools/jtk/ - Remove testify dependency from all three go.mod files - Add STANDARDS.md to repo root - Update docs to reference shared/testutil Refs #159
Remove hardcoded context.Background() convenience wrappers from the jtk API client and add context.Context as the first parameter to all 58+ exported API methods, matching the pattern already used by the cfl tool. Update all command callers to pass cmd.Context() and all tests to pass context.Background().
Replace "failed to X:" error context with gerund noun phrases ("Xing:")
across all 56 source files and 16 test files. Convert sentinel errors
in jtk/api/client.go from fmt.Errorf to errors.New.
Add revive, gosec, errorlint, and exhaustive to golangci-lint configs for all three modules (shared, cfl, jtk) per STANDARDS.md Section 1. Fix all violations: - errorlint: use errors.Is() instead of == for error comparisons - exhaustive: add missing cases to switch statements - gosec: handle errors from w.Write/json.Encode in test handlers, use restrictive file permissions (0600/0750), add nolint for intentional os.Open/exec.Command usage - revive: rename unused parameters to _, add package doc comments, fix exported type/const documentation, add nolint for intentional api package name Refs #159
Add comprehensive test coverage for all previously untested jtk command packages: - root: command structure, flags, defaults, View(), SetAPIClient() - boards: list (table/JSON/empty), get (table/JSON/invalid ID) - completion: bash/zsh/fish/powershell shell completion output - me: table/JSON/plain output, email handling, auth failure - users: search (table/JSON/empty, active/inactive filtering) - sprints: list/current/issues/add with table/JSON/empty/error cases - attachments: list/add/get/delete with file I/O and API mocking 58 new tests total, all using httptest and shared/testutil assertions. Refs #159
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Comprehensive refactoring to align the codebase with STANDARDS.md conventions. Covers all three modules (shared, cfl, jtk) across 198 files.
shared/testutilpackage (Section 14)context.Contextas first parameter to all 58+ jtk API methods (Section 5)Closes #159
Test plan
make allpasses (build + test + lint) — 41 packages, 0 failures, 0 lint issuesgrep -r "stretchr/testify" tools/ shared/ --include="*.go"returns 0 matches