Repository navigation
feat(qa): make the Pro stats counts readable to a test - #2187
Merged
Merged
Conversation
Each stats cell already carries its own qa tag, but on the Row -- a layout
container. Compose's testTag sets a resource-id and no description, and the Row
has no text of its own, so the count ("12 badges sent") was present on screen and
absent from every node a test could address. A spec could assert that four cells
exist, which is coverage that cannot fail.
Tags the Text that actually holds the value. Generic on purpose: the cell's
identity is the row's id, and a reader scopes this child by it -- the same shape
as action-item-title and pro-screen-action-label.
Worth noting pro-stats-groups-upgraded reads today only by accident: its tooltip
makes the row clickable, and clickable merges descendants. That is not a property
to depend on, and it disappears if the tooltip does.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
mpretty-cyro
approved these changes
Aug 25, 2026
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.
Adds one qa tag so the "Your Pro Stats" counts can be read by the automation suite.
The problem
Each cell already has an id —
pro-stats-badges-sent,-longer-messages,-pinned-conversations,-groups-upgraded— but they sit onProStatItem's rootRow.qaTagissemantics { testTagsAsResourceId = true }.testTag(…), which sets a resource-id and no description, and aRowis a layout container with no text of its own.So the number is visible on screen and unreadable to a test. A spec could only assert "four cells exist" — coverage that cannot fail.
The change
One string (
qa_pro_stats_value→pro-stats-value) and oneqaTagon theTextthat holds the value.Generic on purpose. The cell's identity is already the row's id; a reader scopes this child by that parent. Same shape as the existing
action-item-titleandpro-screen-action-label.One thing worth knowing
pro-stats-groups-upgradedis readable today, but only by accident: its tooltip makes the rowclickable, andclickablemerges descendants into the parent's semantics. The other three have no tooltip and are not readable. That is not a property to depend on — it vanishes with the tooltip.Why now
It unblocks a Pro-stats spec on Android. That spec currently has to be
iosIt, because iOS puts the id on the cell title where the text already is. With this, it becomesbothPlatformsItwith no other change.Also relevant:
groups-upgradedcurrently has no data source on any client — Android hard-codes 0, iOS's counter has no write site, Desktop assigns 0. Tagged here for symmetry; not something a test should assert yet.Verification
./gradlew :app:compilePlayAutomaticQaKotlin— BUILD SUCCESSFUL. Not exercised on a device; it is a semantics-only change with no runtime behaviour.Co-Authored-By: Claude Opus 5 (1M context) noreply@anthropic.com