Skip to content

test: add more tests for AskUser - #17720

Merged
jacob314 merged 8 commits into
mainfrom
ask-user/tests
Jan 28, 2026
Merged

jacob314 merged 8 commits into
mainfrom
ask-user/tests

Conversation

@jackwotherspoon

Copy link
Copy Markdown
Collaborator

Summary

This PR improves testing coverage for the ask-user functionality, addressing feedback from PR #17411. It adds
integration tests for message bus communication and unit tests for tool group filtering logic.

Description

packages/cli

  • Contexts: Exported AskUserActionsContext from AskUserActionsContext.tsx to enable state capture in
    tests.
  • AppContainer Tests: Added a new test case in AppContainer.test.tsx that simulates an ASK_USER_REQUEST
    being published on the message bus and verifies that the application state updates to show the dialog.
  • ToolGroupMessage Tests: Added a new test suite in ToolGroupMessage.test.tsx to verify:
    • ask_user tool calls are filtered out of the history log while in progress (Pending, Executing,
      Confirming).
    • ask_user tool calls remain visible once they reach a terminal state (Success, Error).
    • Other tools in the same group are unaffected by this filtering.

Related Issues

Part of #17682

How to Validate

Verified the changes by running the affected test files:

npm test -w @google/gemini-cli -- src/ui/AppContainer.test.tsx
src/ui/components/messages/ToolGroupMessage.test.tsx

Pre-Merge Checklist

  • Updated relevant documentation and README (if needed)
  • Added/updated tests (if needed)
  • Noted breaking changes (if any)
  • Validated on required platforms/methods:
    • MacOS
      • npm run
      • npx
      • Docker
      • Podman
      • Seatbelt
    • Windows
      • npm run
      • npx
      • Docker
    • Linux
      • npm run
      • npx
      • Docker

@jackwotherspoon
jackwotherspoon requested a review from a team as a code owner January 28, 2026 00:39
@gemini-cli

gemini-cli Bot commented Jan 28, 2026

Copy link
Copy Markdown
Contributor

Hi @jackwotherspoon, thank you so much for your contribution to Gemini CLI! We really appreciate the time and effort you've put into this.

We're making some updates to our contribution process to improve how we track and review changes. Please take a moment to review our recent discussion post: Improving Our Contribution Process & Introducing New Guidelines.

Key Update: Starting January 26, 2026, the Gemini CLI project will require all pull requests to be associated with an existing issue. Any pull requests not linked to an issue by that date will be automatically closed.

Thank you for your understanding and for being a part of our community!

@gemini-code-assist

Copy link
Copy Markdown
Contributor

Summary of Changes

Hello @jackwotherspoon, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request significantly boosts the test coverage for the ask-user feature. It introduces new tests to validate the application's response to ASK_USER_REQUEST messages received via the message bus, ensuring the UI correctly displays the user prompt. Additionally, it adds comprehensive unit tests for the ToolGroupMessage component, specifically verifying the logic that filters ask_user tool calls from the display based on their execution status, improving the clarity of the user interface during interactive operations.

Highlights

  • Enhanced ask-user testing: New integration tests verify ASK_USER_REQUEST message bus communication and UI state updates within the AppContainer.
  • Tool group message filtering: Unit tests ensure ask_user tool calls are correctly filtered from the history log based on their status (hidden when pending/executing/confirming, visible when success/error) in ToolGroupMessage.
  • Context export for testing: The AskUserActionsContext is now exported to facilitate state capture and testing of ask-user related actions.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution. ↩

@gemini-code-assist gemini-code-assist Bot 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.

Code Review

This pull request significantly improves the test coverage for the ask-user functionality, addressing previous feedback. The changes include exporting AskUserActionsContext to facilitate state capture in tests, adding an integration test in AppContainer.test.tsx to verify message bus communication for ASK_USER_REQUEST, and introducing a new test suite in ToolGroupMessage.test.tsx to thoroughly test the filtering logic for ask_user tool calls based on their status. The new tests are well-structured and cover the intended scenarios, enhancing the robustness of the feature.

@github-actions

github-actions Bot commented Jan 28, 2026 •

Copy link
Copy Markdown

Size Change: -6 B (0%)

Total Size: 23.5 MB

ℹ️ View Unchanged
Filename Size Change
./bundle/gemini.js 23.5 MB -6 B (0%)
./bundle/sandbox-macos-permissive-closed.sb 1.03 kB 0 B
./bundle/sandbox-macos-permissive-open.sb 890 B 0 B
./bundle/sandbox-macos-permissive-proxied.sb 1.31 kB 0 B
./bundle/sandbox-macos-restrictive-closed.sb 3.29 kB 0 B
./bundle/sandbox-macos-restrictive-open.sb 3.36 kB 0 B
./bundle/sandbox-macos-restrictive-proxied.sb 3.56 kB 0 B

compressed-size-action

@jackwotherspoon jackwotherspoon changed the title tests: add more tests for AskUser test: add more tests for AskUser Jan 28, 2026
@gemini-cli gemini-cli Bot added area/core Issues related to User Interface, OS Support, Core Functionality 🔒 maintainer only ⛔ Do not contribute. Internal roadmap item. labels Jan 28, 2026

@jacob314 jacob314 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.

lgtm

@jacob314
jacob314 added this pull request to the merge queue Jan 28, 2026
Merged via the queue into main with commit 25ae1a1 Jan 28, 2026
25 checks passed
@jacob314
jacob314 deleted the ask-user/tests branch January 28, 2026 17:07
@jerop jerop linked an issue Jan 30, 2026 that may be closed by this pull request
sidwan02 pushed a commit to sidwan02/gemini-cli-gemma that referenced this pull request Feb 6, 2026
kuishou68 pushed a commit to iOfficeAI/gemini-cli-pro that referenced this pull request Feb 27, 2026
cocosheng-g pushed a commit that referenced this pull request May 6, 2026
@sripasg sripasg added the size/m A medium sized PR label Jun 2, 2026
software-0ficial pushed a commit to software-0ficial/gemini-cli that referenced this pull request Jul 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/core Issues related to User Interface, OS Support, Core Functionality 🔒 maintainer only ⛔ Do not contribute. Internal roadmap item. size/m A medium sized PR

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add more tests for AskUser tool

3 participants