test: add DOM integration tests for summary stats#647
Conversation
Add tests verifying summary stats flow through to AG-Grid: - multiple pinned stat rows (mean + dtype) - histogram_stats passed in context for color mapping - empty summary stats handled gracefully - null values in stat columns Also add design plan for #646 (wide-column summary stats encoding). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
📦 TestPyPI package publishedpip install --index-strategy unsafe-best-match --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple/ buckaroo==0.13.2.dev23388965790or with uv: uv pip install --index-strategy unsafe-best-match --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple/ buckaroo==0.13.2.dev23388965790MCP server for Claude Codeclaude mcp add buckaroo-table -- uvx --from "buckaroo[mcp]==0.13.2.dev23388965790" --index-strategy unsafe-best-match --index-url https://test.pypi.org/simple/ --extra-index-url https://pypi.org/simple/ buckaroo-table📖 Docs preview |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 1bd540fb23
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| - Otherwise → store as-is | ||
| - Build `pa.table()` directly (single-row, one column per cell) | ||
| - Write parquet, base64 encode | ||
| - Return `{'format': 'parquet_b64_wide', 'data': '...'}` |
There was a problem hiding this comment.
Keep the summary payload tag as
parquet_b64
This plan contradicts its own compatibility story: lines 9 and 35 say downstream consumers keep using the existing parquet_b64 tag, but this step changes the returned tag to parquet_b64_wide. That would break every current consumer that dispatches on the tag, including the TS type guard in packages/buckaroo-js-core/src/components/DFViewerParts/resolveDFData.ts:7-14 and Python callers that log/check for parquet_b64 (for example buckaroo/lazy_infinite_polars_widget.py:721-722).
Useful? React with 👍 / 👎.
Summary
DFViewerInfinite.test.tsxverifying summary stats flow through to AG-Grid (multiple pinned rows, histogram context, empty stats, null values)docs/plans/646-wide-column-summary-stats.mdNote: all 8
DFViewerInfinitetests (4 pre-existing + 4 new) currently fail due to a pre-existing AG-Grid mock issue. The new tests follow the same pattern and will pass once the mock is fixed.Test plan
resolveDFData.test.ts— 6/6 passgridUtils.test.ts— 26/26 passDFViewerInfinite.test.tsx— 8/8 fail (pre-existing mock issue)🤖 Generated with Claude Code