Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Numeric-Input: Extract validation from scorer #1882

Merged
merged 5 commits into from
Nov 21, 2024

Conversation

jeremywiebe
Copy link
Collaborator

Summary:

This PR extracts validation from the numeric-input's scorer function. In reality, it's an empty function, but it follows our conventions for having the scorer call a validator first. I've created the standard tests to ensure that scorer calls the validator.

Issue: LEMS-2607

Test plan:

yarn test
yarn typecheck

@jeremywiebe jeremywiebe self-assigned this Nov 19, 2024
Copy link
Contributor

github-actions bot commented Nov 19, 2024

npm Snapshot: Published

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

Example:

yarn add @khanacademy/perseus@PR1882

If you are working in Khan Academy's webapp, you can run:

./dev/tools/bump_perseus_version.sh -t PR1882

Copy link
Contributor

github-actions bot commented Nov 19, 2024

Size Change: -9 B (0%)

Total Size: 1.29 MB

Filename Size Change
packages/perseus/dist/es/index.js 424 kB -9 B (0%)
ℹ️ View Unchanged
Filename Size
packages/kas/dist/es/index.js 39 kB
packages/keypad-context/dist/es/index.js 760 B
packages/kmath/dist/es/index.js 4.27 kB
packages/math-input/dist/es/index.js 77.9 kB
packages/math-input/dist/es/strings.js 1.79 kB
packages/perseus-core/dist/es/index.js 1.48 kB
packages/perseus-editor/dist/es/index.js 698 kB
packages/perseus-linter/dist/es/index.js 22.2 kB
packages/perseus/dist/es/strings.js 3.57 kB
packages/pure-markdown/dist/es/index.js 3.66 kB
packages/simple-markdown/dist/es/index.js 12.5 kB

compressed-size-action

@jeremywiebe jeremywiebe changed the title Extract validation from numeric-input scorer Numeric-Input: Extract validation from scorer Nov 19, 2024
@jeremywiebe jeremywiebe marked this pull request as ready for review November 19, 2024 01:39
@khan-actions-bot khan-actions-bot requested a review from a team November 19, 2024 01:39
@khan-actions-bot
Copy link
Contributor

khan-actions-bot commented Nov 19, 2024

Gerald

Required Reviewers
  • @Khan/perseus for changes to .changeset/honest-avocados-accept.md, packages/perseus/src/widgets/numeric-input/score-numeric-input.test.ts, packages/perseus/src/widgets/numeric-input/score-numeric-input.ts

Don't want to be involved in this pull request? Comment #removeme and we won't notify you of further changes.

Comment on lines 19 to 21
const mockValidator = jest
.spyOn(NumericInputValidator, "default")
.mockReturnValue(null);
Copy link
Contributor

Choose a reason for hiding this comment

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

Why do we need to mock the validator?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

I've changed my mind. The numeric-input allows an empty string to be correct for answers that have coefficient set to true.

    // A coefficient style number allows the student to use - for -1 and an empty string to mean 1.
    coefficient: boolean;
image

I'm going to revert the validator entirely and delete it as marking an empty string as "invalid" is going to cause false-negative results.

@jeremywiebe jeremywiebe changed the base branch from main to release/server-side-scoring November 21, 2024 23:12
@jeremywiebe jeremywiebe merged commit 40d2ebb into release/server-side-scoring Nov 21, 2024
15 checks passed
@jeremywiebe jeremywiebe deleted the jer/validate-numeric-input branch November 21, 2024 23:18
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.

3 participants