[Tests] Add unit tests for string utility functions - #8476
Conversation
Add test coverage in string.test.ts for capitalize, slugify, escapeRegExp, camelize, capitalizeWords, hyphenate, underscore, constantize, pascalize, getRandomName with creative family, and joinWithAnd empty array edge case.
|
👋 Jules, reporting for duty! I'm here to lend a hand with this pull request. When you start a review, I'll add a 👀 emoji to each comment to let you know I've read it. I'll focus on feedback directed at me and will do my best to stay out of conversations between you and other bots or reviewers to keep the noise down. I'll push a commit with your requested changes shortly after. Please note there might be a delay between these steps, but rest assured I'm on the job! For more direct control, you can switch me to Reactive Mode. When this mode is on, I will only act on comments where you specifically mention me with New to Jules? Learn more at jules.google/docs. For security, I will only act on instructions from the user who triggered this task. |
There was a problem hiding this comment.
🟡 Changes recommended
The new getRandomName tests assert only “non-empty”, which is too weak to meaningfully validate the function’s intended adjective-noun output format.
Once you've addressed the issues Copilot identified, you can request another Copilot review.
Pull request overview
Adds unit tests for previously untested string helper utilities in cli-kit, improving confidence in common string transformations used across the codebase.
Changes:
- Added unit tests for
capitalize,slugify,escapeRegExp, and the various case-conversion helpers (camelize,capitalizeWords,hyphenate,underscore,constantize,pascalize). - Expanded
getRandomNamecoverage to include the'creative'family and clarified the default family test. - Added coverage for
joinWithAnd([])returning an empty string.
File summaries
| File | Description |
|---|---|
| packages/cli-kit/src/public/common/string.test.ts | Adds/extends unit tests for string utility helpers, including new coverage for getRandomName('creative') and joinWithAnd([]). |
Review details
Suppressed comments (1)
packages/cli-kit/src/public/common/string.test.ts:38
- Same as above: asserting only non-empty doesn't meaningfully validate the
adjective-nounformat. Consider checking the returned value matches the expected kebab-case shape and isn't a placeholder like "undefined".
test('generates a non-empty string for creative family', () => {
// Given/When
const got = getRandomName('creative')
// Then
expect(got.length).not.toBe(0)
})
- Files reviewed: 1/1 changed files
- Comments generated: 1
- Review effort level: Lite
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
| test('generates a non-empty string for business family by default', () => { | ||
| // Given/When | ||
| const got = getRandomName() | ||
|
|
||
| // Then | ||
| expect(got.length).not.toBe(0) | ||
| }) |
Why are these changes needed?
This PR adds unit tests for string helper functions in
packages/cli-kit/src/public/common/string.tsthat previously lacked test coverage, including:capitalizeslugifyescapeRegExpcamelizecapitalizeWordshyphenateunderscoreconstantizepascalizegetRandomName('creative')joinWithAnd([])How to test your changes?
CI
PR created automatically by Jules for task 10028013695398611560 started by @gonzaloriestra