Skip to content

test(frontend): add data-processing stress guards#107

Open
htsukamoto5 wants to merge 8 commits into
mainfrom
test/frontend-stress-tests
Open

test(frontend): add data-processing stress guards#107
htsukamoto5 wants to merge 8 commits into
mainfrom
test/frontend-stress-tests

Conversation

@htsukamoto5

Copy link
Copy Markdown
Member

Summary

  • Adds dataProcessingStress.test.ts to packages/frontend/tests/ — 12 tests across 6 describe blocks
  • Covers scenarios not tested in the backend stress suites: large CSV scale (1,000 rows), wide CSV (30 columns), multi-file CSV+JSON accumulation without variable duplication, boolean/null type inference, many-levels storage (guard for the Variables step "Show all N" display), and a smoke-test-2 validator regression
  • Test data is constructed inline (no fixture files committed); all 48 frontend tests pass

Test plan

  • cd packages/frontend && npx jest --no-coverage — all 48 tests pass
  • New describe blocks visible: Scale (large CSV), Scale (wide CSV), Multi-file accumulation, Boolean inference, Many levels, Smoke-test-2 regression

🤖 Generated with Claude Code

Covers six scenarios not tested elsewhere: large CSV scale (1 000 rows),
wide CSV (30 columns), multi-file CSV+JSON accumulation without variable
duplication, boolean/null type inference, many-levels storage (guard for
the Variables step "Show all N" display), and a smoke-test-2 regression
that pins the VARIABLE_MISSING_FROM_CSV_COLUMNS / INVALID_SCHEMAORG_PROPERTY
validator output for the mixed CSV+JSON case.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@changeset-bot

changeset-bot Bot commented Jun 15, 2026

Copy link
Copy Markdown

⚠️ No Changeset found

Latest commit: d1c4f5f

Merging this PR will not cause a version bump for any packages. If these changes should not result in a new version, you're good to go. If these changes should result in a version bump, you need to add a changeset.

This PR includes no changesets

When changesets are added to this PR, you'll see the packages that this PR includes changesets for and the associated semver types

Click here to learn what changesets are, and how to add one.

Click here if you're a maintainer who wants to add a changeset to this PR

htsukamoto5 and others added 7 commits June 15, 2026 11:08
CSV "true"/"false" string-to-boolean conversion is environment-sensitive
(passes locally on Windows, fails in CI on Linux). Use native JSON booleans
instead, which bypass the string-conversion path entirely.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Extract shared validatorOutput helper to tests/helpers.ts
- Import it in both validatePsychDS.test.ts and dataProcessingStress.test.ts
- Remove local duplicate validatorOutput from smoke-test-2 describe block
- Delete no-op test that only tested Jest itself, not any production code
- Fix wide CSV describe/test label: 31 columns total (30 data + trial_index)
- Clarify PR #103 comment: still open, not yet landed

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Add VariableMeta interface to replace as-any casts on getVariable() calls
- Fix mockFetch to return ok:true, eliminating spurious PluginCache warns
  instead of suppressing console.warn globally
- Remove trailing blank line in multi-file describe block

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
The replace_all for VariableMeta accidentally caught the global cast too.
Use the precise typeof globalThis & { fetch: jest.Mock } instead.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…ayer overlap

- Rename dataProcessingStress.test.ts -> dataProcessing.stress.test.ts to match the
  repo's *.stress.test.ts convention (#104/#106).
- Add a header note explaining the intentional overlap with packages/metadata's stress
  suites: these guard generate() through the frontend bundle's own resolution path, plus
  frontend-only coverage (multi-file CSV+JSON accumulation, validator partitioning).

No changeset: the frontend package is private and unversioned, so changesets ignores it.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@jodeleeuw jodeleeuw changed the title test(frontend): add data-processing stress guards to CI test(frontend): add data-processing stress guards Jun 18, 2026
@jodeleeuw

Copy link
Copy Markdown
Member

Rebased onto current main (all tests pass, 220 frontend). Addressed review nits: renamed to the *.stress.test.ts convention and added a header note justifying the intentional overlap with packages/metadata's stress suites (these guard generate() through the frontend bundle's resolution path, plus frontend-only multi-file accumulation + validator partitioning coverage). Dropped "to CI" from the title since the tests run via the existing test glob, not a new CI step. No changeset: the frontend package is private/unversioned, so changesets ignores it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants