Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions .changeset/fair-geckos-visit.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
"@khanacademy/perseus": major
"@khanacademy/perseus-dev-ui": patch
---

Rename getUserInputMap to getUserInput
2 changes: 1 addition & 1 deletion dev/flipbook.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -321,7 +321,7 @@ function GradableRenderer(props: QuestionRendererProps) {
if (rendererRef.current) {
const score = scorePerseusItem(
question,
rendererRef.current.getUserInputMap(),
rendererRef.current.getUserInput(),
"en",
);
setScore(score);
Expand Down
10 changes: 5 additions & 5 deletions packages/perseus/src/__tests__/renderer-api.test.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ describe("Perseus API", function () {

const score = scorePerseusItemTesting(
mockWidget1Item.question,
renderer.getUserInputMap(),
renderer.getUserInput(),
);

// Assert
Expand All @@ -66,7 +66,7 @@ describe("Perseus API", function () {

const score = scorePerseusItemTesting(
mockWidget1Item.question,
renderer.getUserInputMap(),
renderer.getUserInput(),
);

// Assert
Expand All @@ -81,7 +81,7 @@ describe("Perseus API", function () {

let score = scorePerseusItemTesting(
mockWidget1Item.question,
renderer.getUserInputMap(),
renderer.getUserInput(),
);

expect(score).toHaveBeenAnsweredIncorrectly();
Expand All @@ -90,7 +90,7 @@ describe("Perseus API", function () {

score = scorePerseusItemTesting(
mockWidget1Item.question,
renderer.getUserInputMap(),
renderer.getUserInput(),
);

expect(score).toHaveInvalidInput();
Expand All @@ -101,7 +101,7 @@ describe("Perseus API", function () {
const {renderer} = renderQuestion(mockWidget1Item.question);
act(() =>
renderer.setInputValue(["mock-widget 1"], "3", function () {
const guess = renderer.getUserInputMap()[
const guess = renderer.getUserInput()[
"mock-widget 1"
] as PerseusMockWidgetUserInput;
expect(guess?.currentValue).toBe("3");
Expand Down
8 changes: 4 additions & 4 deletions packages/perseus/src/__tests__/renderer.test.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -866,7 +866,7 @@ describe("renderer", () => {
await userEvent.click(screen.getByRole("combobox"));
await userEvent.click(screen.getAllByRole("option")[1]);

expect(renderer.getUserInputMap()).toEqual({
expect(renderer.getUserInput()).toEqual({
"dropdown 1": {
value: 1,
},
Expand All @@ -876,7 +876,7 @@ describe("renderer", () => {
rerender(answerful.question);

// Assert
expect(renderer.getUserInputMap()).toEqual({
expect(renderer.getUserInput()).toEqual({
"dropdown 1": {
value: 1,
},
Expand Down Expand Up @@ -1649,7 +1649,7 @@ describe("renderer", () => {
});
});

describe("getUserInputMap", () => {
describe("getUserInput", () => {
it("should return user input for all rendered widgets", async () => {
// Arrange
const {renderer} = renderQuestion({
Expand All @@ -1675,7 +1675,7 @@ describe("renderer", () => {
await userEvent.click(screen.getAllByRole("option")[1]);

// Act
const userInput = renderer.getUserInputMap();
const userInput = renderer.getUserInput();

// Assert
expect(userInput).toMatchInlineSnapshot(`
Expand Down
6 changes: 3 additions & 3 deletions packages/perseus/src/components/__tests__/sorter.test.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ describe("sorter widget", () => {
// Act
const score = scorePerseusItemTesting(
answerfulItem.question,
renderer.getUserInputMap(),
renderer.getUserInput(),
);

// Assert
Expand All @@ -117,7 +117,7 @@ describe("sorter widget", () => {

const score = scorePerseusItemTesting(
answerfulItem.question,
renderer.getUserInputMap(),
renderer.getUserInput(),
);

// Assert
Expand All @@ -134,7 +134,7 @@ describe("sorter widget", () => {

const score = scorePerseusItemTesting(
answerfulItem.question,
renderer.getUserInputMap(),
renderer.getUserInput(),
);

// Assert
Expand Down
6 changes: 3 additions & 3 deletions packages/perseus/src/renderer.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -1580,7 +1580,7 @@ class Renderer
return emptyWidgetsFunctional(
this.state.widgetInfo,
this.widgetIds,
this.getUserInputMap(),
this.getUserInput(),
this.context.locale,
);
}
Expand Down Expand Up @@ -1664,7 +1664,7 @@ class Renderer
/**
* Returns an object of the widget `.getUserInput()` results
*/
getUserInputMap(): UserInputMap {
getUserInput(): UserInputMap {
const userInputMap = {};
this.widgetIds.forEach((id: string) => {
const widget = this.getWidgetInstance(id);
Expand Down Expand Up @@ -1715,7 +1715,7 @@ class Renderer
const scores = scoreWidgetsFunctional(
this.state.widgetInfo,
this.widgetIds,
this.getUserInputMap(),
this.getUserInput(),
this.context.locale,
);
const combinedScore = flattenScores(scores);
Expand Down
4 changes: 2 additions & 2 deletions packages/perseus/src/server-item-renderer.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -321,7 +321,7 @@ export class ServerItemRenderer

// Call the interactionCallback, if it exists, with the current user input data
this.props.apiOptions?.interactionCallback?.(
this.questionRenderer.getUserInputMap(),
this.questionRenderer.getUserInput(),
);
};

Expand All @@ -347,7 +347,7 @@ export class ServerItemRenderer
* Returns an object of the widget `.getUserInput()` results
*/
getUserInput(): UserInputMap {
return this.questionRenderer.getUserInputMap();
return this.questionRenderer.getUserInput();
}

/**
Expand Down
8 changes: 4 additions & 4 deletions packages/perseus/src/widgets/categorizer/categorizer.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ describe("categorizer widget", () => {
// Act
const score = scorePerseusItem(
question1,
renderer.getUserInputMap(),
renderer.getUserInput(),
"en",
);

Expand All @@ -90,7 +90,7 @@ describe("categorizer widget", () => {
// act
const score = scorePerseusItem(
question1,
renderer.getUserInputMap(),
renderer.getUserInput(),
"en",
);

Expand Down Expand Up @@ -129,7 +129,7 @@ describe("categorizer widget", () => {

const score = scorePerseusItemTesting(
question1,
renderer.getUserInputMap(),
renderer.getUserInput(),
);

// assert
Expand Down Expand Up @@ -203,7 +203,7 @@ describe("categorizer widget", () => {
})[1],
);

const userInput = renderer.getUserInputMap();
const userInput = renderer.getUserInput();
const score = scorePerseusItem(
getAnswerfulItem("categorizer", options).question,
userInput,
Expand Down
2 changes: 1 addition & 1 deletion packages/perseus/src/widgets/cs-program/cs-program.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ describe("cs-program widget", () => {
} as const;

const {renderer} = renderQuestion(question1, apiOptions);
const userInput = renderer.getUserInputMap()[
const userInput = renderer.getUserInput()[
"cs-program 1"
] as PerseusCSProgramUserInput;

Expand Down
2 changes: 1 addition & 1 deletion packages/perseus/src/widgets/definition/definition.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -130,7 +130,7 @@ describe("Definition widget", () => {
// Act
const score = scorePerseusItemTesting(
question,
renderer.getUserInputMap(),
renderer.getUserInput(),
);

// Assert
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ describe("Deprecated Standin widget", () => {
// Act
const score = scorePerseusItemTesting(
question,
renderer.getUserInputMap(),
renderer.getUserInput(),
);

// Assert
Expand Down
8 changes: 4 additions & 4 deletions packages/perseus/src/widgets/dropdown/dropdown.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ describe("Dropdown widget", () => {
await userEvent.click(screen.getByText("less than or equal to"));
const score = scorePerseusItemTesting(
basicDropdown,
renderer.getUserInputMap(),
renderer.getUserInput(),
);

// Assert
Expand All @@ -90,7 +90,7 @@ describe("Dropdown widget", () => {
await userEvent.click(screen.getByText("greater than or equal to"));
const score = scorePerseusItemTesting(
basicDropdown,
renderer.getUserInputMap(),
renderer.getUserInput(),
);

// Assert
Expand All @@ -105,7 +105,7 @@ describe("Dropdown widget", () => {
// Act
const score = scorePerseusItemTesting(
basicDropdown,
renderer.getUserInputMap(),
renderer.getUserInput(),
);

// Assert
Expand Down Expand Up @@ -214,7 +214,7 @@ describe("Dropdown widget", () => {
screen.getByRole("option", {name: "Correct"}),
);

const userInput = renderer.getUserInputMap();
const userInput = renderer.getUserInput();
const score = scorePerseusItem(
getAnswerfulItem().question,
userInput,
Expand Down
12 changes: 6 additions & 6 deletions packages/perseus/src/widgets/expression/expression.test.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ const assertCorrect = async (
);
const score = scorePerseusItemTesting(
itemData.question,
renderer.getUserInputMap(),
renderer.getUserInput(),
);
expect(score).toHaveBeenAnsweredCorrectly();
};
Expand All @@ -77,7 +77,7 @@ const assertIncorrect = async (
);
const score = scorePerseusItemTesting(
itemData.question,
renderer.getUserInputMap(),
renderer.getUserInput(),
);
expect(score).toHaveBeenAnsweredIncorrectly();
};
Expand All @@ -98,7 +98,7 @@ const assertInvalid = async (
act(() => jest.runOnlyPendingTimers());
const score = scorePerseusItemTesting(
itemData.question,
renderer.getUserInputMap(),
renderer.getUserInput(),
);
expect(score).toHaveInvalidInput();
};
Expand Down Expand Up @@ -465,7 +465,7 @@ describe("Expression Widget", function () {
act(() => jest.runOnlyPendingTimers());
const score = scorePerseusItem(
expressionItem2.question,
renderer.getUserInputMap(),
renderer.getUserInput(),
"en",
);

Expand All @@ -489,7 +489,7 @@ describe("Expression Widget", function () {
// act
const score = scorePerseusItem(
expressionItem2.question,
renderer.getUserInputMap(),
renderer.getUserInput(),
"en",
);

Expand Down Expand Up @@ -715,7 +715,7 @@ describe("Expression Widget", function () {
await userEvent.click(screen.getByRole("button", {name: "i"}));
act(() => jest.runOnlyPendingTimers());

const userInput = renderer.getUserInputMap();
const userInput = renderer.getUserInput();
const score = scorePerseusItem(
getFullItem().question,
userInput,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -124,7 +124,7 @@ describe("free-response widget", () => {
);

// Act
const userInput = renderer.getUserInputMap();
const userInput = renderer.getUserInput();

// Assert
expect(userInput).toMatchObject({
Expand Down
Loading
Loading