Skip to content

[Tests] Add unit tests for string utility functions - #8476

Merged
amcaplan merged 1 commit into
mainfrom
tests-cover-string-helpers-10028013695398611560
Sep 6, 2026
Merged

[Tests] Add unit tests for string utility functions#8476
amcaplan merged 1 commit into
mainfrom
tests-cover-string-helpers-10028013695398611560

Conversation

@gonzaloriestra

Copy link
Copy Markdown
Contributor

Why are these changes needed?

This PR adds unit tests for string helper functions in packages/cli-kit/src/public/common/string.ts that previously lacked test coverage, including:

  • capitalize
  • slugify
  • escapeRegExp
  • camelize
  • capitalizeWords
  • hyphenate
  • underscore
  • constantize
  • pascalize
  • getRandomName('creative')
  • joinWithAnd([])

How to test your changes?

CI


PR created automatically by Jules for task 10028013695398611560 started by @gonzaloriestra

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.
@google-labs-jules

Copy link
Copy Markdown

👋 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 @jules. You can find this option in the Pull Request section of your global Jules UI settings. You can always switch back!

New to Jules? Learn more at jules.google/docs.


For security, I will only act on instructions from the user who triggered this task.

@github-actions github-actions Bot added the no-changelog This PR doesn't include a changeset entry. Is an internal only change not relevant to end users. label Sep 4, 2026
@amcaplan
amcaplan marked this pull request as ready for review September 6, 2026 21:30
Copilot AI lite review requested due to automatic review settings September 6, 2026 21:30
@amcaplan
amcaplan requested a review from a team as a code owner September 6, 2026 21:30
@amcaplan
amcaplan added this pull request to the merge queue Sep 6, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 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 getRandomName coverage 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-noun format. 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.

Comment on lines +24 to 30
test('generates a non-empty string for business family by default', () => {
// Given/When
const got = getRandomName()

// Then
expect(got.length).not.toBe(0)
})
Merged via the queue into main with commit 42aa4a6 Sep 6, 2026
32 checks passed
@amcaplan
amcaplan deleted the tests-cover-string-helpers-10028013695398611560 branch September 6, 2026 21:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

no-changelog This PR doesn't include a changeset entry. Is an internal only change not relevant to end users.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants