[Tests] Add unit tests for theme batching utilities - #8538
Open
github-actions[bot] wants to merge 1 commit into
Open
github-actions[bot] wants to merge 1 commit into
github-actions[bot] wants to merge 1 commit into
Conversation
Cover batchedRequests and batchedTasks in packages/theme: chunk boundaries, the start index handed to task builders, empty input, and deferred task execution. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Suleimanlatrsh
approved these changes
Sep 15, 2026
Suleimanlatrsh
left a comment
There was a problem hiding this comment.
Tested locally and checked the batch boundaries. The tests catch skipped items and wrong indexes. Looks good 👍
gonzaloriestra
marked this pull request as ready for review
September 16, 2026 08:56
gonzaloriestra
approved these changes
Sep 16, 2026
gonzaloriestra
enabled auto-merge
September 16, 2026 08:58
EvilGenius13
approved these changes
Sep 16, 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.
WHY are these changes introduced?
packages/theme/src/cli/utilities/batching.tshad no co-located test. Its two exported helpers chunk theme files before they are sent to the Admin GraphQL API, and three call sites rely on that contract:theme-downloader.ts,theme-environment/theme-polling.ts, andtheme-environment/theme-reconciliation.ts. Off-by-one errors in the chunk stride, or in the start index handed to task builders, would silently skip or duplicate theme files during push/pull while every existing test still passed.WHAT is this pull request doing?
Adds
packages/theme/src/cli/utilities/batching.test.tscovering the behavior both call paths depend on:batchedRequests— chunk boundaries with a smaller trailing batch, one promise per batch resolving to the callback result, no callback invocation for empty input, and a single batch when the batch size exceeds the item count.batchedTasks— one task per batch, the index of the first item in each batch passed to the builder (theme-downloaderuses it to render download progress), empty input, and that work stays deferred until a task is run.Test-only; no production code is touched. Verified the assertions fail against mutations to the chunk stride and to the start-index argument, so they would catch a real regression rather than just execute the lines.
How to manually test your changes?
Checklist
patchfor bug fixes ·minorfor new features ·majorfor breaking changes) and added a changeset withpnpm changeset add