Skip to content

[Radio] Add visual regresion stories for Radio Widget#3802

Merged
Evelas78 merged 18 commits into
mainfrom
LEMS-4255/Radio-regression-stories
Jul 1, 2026
Merged

[Radio] Add visual regresion stories for Radio Widget#3802
Evelas78 merged 18 commits into
mainfrom
LEMS-4255/Radio-regression-stories

Conversation

@Evelas78

@Evelas78 Evelas78 commented Jun 23, 2026

Copy link
Copy Markdown
Contributor

Summary:

Added Regression Stories for the Radio widget for the following scenarios:

Demo Story

  • Multi select with 10 choices (Mobile)

Initial State

  • Many colors (in-line) for single select
  • Single Select with long mathjax (Mobile)

Interactions

  • A choice selected, then focus moves to B choice

Issue: https://khanacademy.atlassian.net/browse/LEMS-4255

Test plan:

  • Verify their appearance within storybook
Screenshot 2026-06-26 at 10 52 30 AM Screenshot 2026-06-24 at 12 03 56 PM Screenshot 2026-06-24 at 12 04 13 PM Screenshot 2026-06-24 at 12 05 15 PM

… Radio Widget

added a regression story for the following scenarios:

Issue: https://khanacademy.atlassian.net/browse/LEMS-4255

Test plan:
TBD
@Evelas78 Evelas78 self-assigned this Jun 23, 2026
@github-actions

github-actions Bot commented Jun 23, 2026

Copy link
Copy Markdown
Contributor

npm Snapshot: Published

Good news!! We've packaged up the latest commit from this PR (681c6a1) and published it to npm. You
can install it using the tag PR3802.

Example:

pnpm add @khanacademy/perseus@PR3802

If you are working in Khan Academy's frontend, you can run the below command.

./dev/tools/bump_perseus_version.ts -t PR3802

If you are working in Khan Academy's webapp, you can run the below command.

./dev/tools/bump_perseus_version.js -t PR3802

@github-actions

github-actions Bot commented Jun 23, 2026

Copy link
Copy Markdown
Contributor

Size Change: 0 B

Total Size: 517 kB

ℹ️ View Unchanged
Filename Size
packages/kas/dist/es/index.js 20.6 kB
packages/keypad-context/dist/es/index.js 1 kB
packages/kmath/dist/es/index.js 6.31 kB
packages/math-input/dist/es/index.js 98.5 kB
packages/math-input/dist/es/strings.js 1.61 kB
packages/perseus-core/dist/es/index.item-splitting.js 12.9 kB
packages/perseus-core/dist/es/index.js 27.6 kB
packages/perseus-editor/dist/es/index.js 104 kB
packages/perseus-linter/dist/es/index.js 9.79 kB
packages/perseus-score/dist/es/index.js 9.86 kB
packages/perseus-utils/dist/es/index.js 403 B
packages/perseus/dist/es/index.js 204 kB
packages/perseus/dist/es/strings.js 12.4 kB
packages/pure-markdown/dist/es/index.js 1.39 kB
packages/simple-markdown/dist/es/index.js 6.71 kB

compressed-size-action

@Evelas78 Evelas78 changed the title Add visual regresion stories for Radio Widget [Radio] Add visual regresion stories for Radio Widget Jun 24, 2026
@Evelas78 Evelas78 marked this pull request as ready for review June 24, 2026 18:18
images: choicesWithGraphieImages,
},
};
export const SingleSelectOneColor: Story = {

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.

I'm not sure that a story with just 1 color adds value since the next story has all colors. Is there a need for just one color?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The line of thinking was that maybe it could specifically error for multiple colors (and for the other one with multiple colors but not inline, similar idea, breaking for inline). Essentially, tests to narrow down the specific issue, though thinking of it in hindsight, I tend to agree with you. I don't think it would necessarily need to exist because of the multi in-line color test, I'll bring it up to Sarah P.

],
},
};
export const SingleSelectMultiInLineColor: Story = {

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.

Nit: The title feels a bit vague to me. Would you consider something like SingleSelectWithColoredMath?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Definitely, I think that would have some clarity

],
},
};
export const SingleSelectMultiColor: Story = {

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.

Same question about value - Is there a need for a story that has just one color per choice versus the multi-color per choice in the preceding story?

Evelas78 added 4 commits June 25, 2026 11:11
…necessary test based on Sarah P & Mark's feedback
…ccording to talks with Mark and Sarah P. (Specifically, return the single select with rationale to initial state, removed choose 3, and converted many choices test to a story rather than a test
@Evelas78 Evelas78 requested a review from mark-fitzgerald June 29, 2026 15:06

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

Looks good to me!

},
decorators: [mobileDecorator],
};

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.

Out of curiosity, why was this non-regression story added here? Generally I see these added if you're working on a related feature and want to manually test something.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah, so originally it was written down as a test but the intern was more to simulate a long multiple choice question on mobile, so Mark and Sarah P both agreed that it wouldn't need to be in the visual regression test, but rather as an example.

@github-actions github-actions Bot added item-splitting-change schema-change Attached to PRs when we detect Perseus Schema changes in it labels Jun 29, 2026
Comment thread .changeset/gorgeous-dragons-drop.md Outdated
"@khanacademy/perseus": patch
---

Added multple regression tests for the radio widget

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.

Suggested change
Added multple regression tests for the radio widget
Added multiple regression tests for the radio widget

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Resolved!

@github-actions github-actions Bot removed item-splitting-change schema-change Attached to PRs when we detect Perseus Schema changes in it labels Jun 30, 2026

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

Looks good to me!

@Evelas78 Evelas78 merged commit 45feb6d into main Jul 1, 2026
12 checks passed
@Evelas78 Evelas78 deleted the LEMS-4255/Radio-regression-stories branch July 1, 2026 21:27
benchristel pushed a commit that referenced this pull request Jul 6, 2026
This PR was opened by the [Changesets release](https://github.com/changesets/action) GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.


# Releases
## @khanacademy/perseus-core@30.1.0

### Minor Changes

-   [#3854](#3854) [`4306c90`](4306c90) Thanks [@benchristel](https://github.com/benchristel)! - The Grapher widget is now marked **accessible** if it has a single available function type that is not `quadratic`, and no background image.

### Patch Changes

-   [#3859](#3859) [`eec5371`](eec5371) Thanks [@benchristel](https://github.com/benchristel)! - The now-unused feature flag "input-number-to-numeric-input" has been removed.

-   [#3855](#3855) [`8d25dbd`](8d25dbd) Thanks [@benchristel](https://github.com/benchristel)! - The `grapher-to-interactive-graph` feature flag has been removed. Graphers now render as Interactive Graphs if they have a single available function type that is not `quadratic`.

## @khanacademy/keypad-context@3.2.71

### Patch Changes

-   Updated dependencies \[[`eec5371`](eec5371), [`4306c90`](4306c90), [`8d25dbd`](8d25dbd)]:
    -   @khanacademy/perseus-core@30.1.0

## @khanacademy/kmath@2.4.30

### Patch Changes

-   Updated dependencies \[[`eec5371`](eec5371), [`4306c90`](4306c90), [`8d25dbd`](8d25dbd)]:
    -   @khanacademy/perseus-core@30.1.0

## @khanacademy/math-input@26.4.44

### Patch Changes

-   Updated dependencies \[[`eec5371`](eec5371), [`4306c90`](4306c90), [`8d25dbd`](8d25dbd)]:
    -   @khanacademy/perseus-core@30.1.0
    -   @khanacademy/keypad-context@3.2.71

## @khanacademy/perseus@79.1.2

### Patch Changes

-   [#3847](#3847) [`855f36d`](855f36d) Thanks [@Evelas78](https://github.com/Evelas78)! - Regression tests for sorter

-   [#3802](#3802) [`45feb6d`](45feb6d) Thanks [@Evelas78](https://github.com/Evelas78)! - Added multiple regression tests for the radio widget

-   [#3812](#3812) [`53b4221`](53b4221) Thanks [@nishasy](https://github.com/nishasy)! - [ColorSync][numeric input] Add more regression stories for the Numeric Input widget

-   [#3859](#3859) [`eec5371`](eec5371) Thanks [@benchristel](https://github.com/benchristel)! - The now-unused feature flag "input-number-to-numeric-input" has been removed.

-   [#3855](#3855) [`8d25dbd`](8d25dbd) Thanks [@benchristel](https://github.com/benchristel)! - The `grapher-to-interactive-graph` feature flag has been removed. Graphers now render as Interactive Graphs if they have a single available function type that is not `quadratic`.

-   [#3835](#3835) [`e5c4c92`](e5c4c92) Thanks [@jandrade](https://github.com/jandrade)! - Migrate Wonder Blocks font sizing from the deprecated `font.size` / `--wb-font-size` tokens to the newer `font.body.size` / `--wb-font-body-size` tokens. Sizes that have no `body` equivalent (`large`) now use the matching `font.heading.size` token.

-   Updated dependencies \[[`eec5371`](eec5371), [`4306c90`](4306c90), [`8d25dbd`](8d25dbd)]:
    -   @khanacademy/perseus-core@30.1.0
    -   @khanacademy/keypad-context@3.2.71
    -   @khanacademy/kmath@2.4.30
    -   @khanacademy/math-input@26.4.44
    -   @khanacademy/perseus-linter@5.1.11
    -   @khanacademy/perseus-score@8.12.3

## @khanacademy/perseus-editor@34.1.2

### Patch Changes

-   [#3832](#3832) [`4f11360`](4f11360) Thanks [@nishasy](https://github.com/nishasy)! - Put the left and right sides of the editor in separate scroll areas

-   [#3828](#3828) [`ffc1dcd`](ffc1dcd) Thanks [@catandthemachines](https://github.com/catandthemachines)! - [Interactive Graph][editor] Fix invariant error in interactve graph editor.

-   [#3835](#3835) [`e5c4c92`](e5c4c92) Thanks [@jandrade](https://github.com/jandrade)! - Migrate Wonder Blocks font sizing from the deprecated `font.size` / `--wb-font-size` tokens to the newer `font.body.size` / `--wb-font-body-size` tokens. Sizes that have no `body` equivalent (`large`) now use the matching `font.heading.size` token.

-   Updated dependencies \[[`855f36d`](855f36d), [`45feb6d`](45feb6d), [`53b4221`](53b4221), [`eec5371`](eec5371), [`4306c90`](4306c90), [`8d25dbd`](8d25dbd), [`e5c4c92`](e5c4c92)]:
    -   @khanacademy/perseus@79.1.2
    -   @khanacademy/perseus-core@30.1.0
    -   @khanacademy/keypad-context@3.2.71
    -   @khanacademy/kmath@2.4.30
    -   @khanacademy/math-input@26.4.44
    -   @khanacademy/perseus-linter@5.1.11

## @khanacademy/perseus-linter@5.1.11

### Patch Changes

-   Updated dependencies \[[`eec5371`](eec5371), [`4306c90`](4306c90), [`8d25dbd`](8d25dbd)]:
    -   @khanacademy/perseus-core@30.1.0
    -   @khanacademy/kmath@2.4.30

## @khanacademy/perseus-score@8.12.3

### Patch Changes

-   Updated dependencies \[[`eec5371`](eec5371), [`4306c90`](4306c90), [`8d25dbd`](8d25dbd)]:
    -   @khanacademy/perseus-core@30.1.0
    -   @khanacademy/kmath@2.4.30

Author: khan-actions-bot

Reviewers: benchristel

Required Reviewers:

Approved By: benchristel

Checks: ✅ 11 checks were successful

Pull Request URL: #3861
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants