Skip to content

Commit b4e4d48

Browse files
authored
Merge pull request #1459 from isaacphysics/redesign/improvement/remove-confusing-text-from-test-page
remove confusing text from View Test page
2 parents 015bf60 + 7532d03 commit b4e4d48

File tree

6 files changed

+22
-28
lines changed

6 files changed

+22
-28
lines changed

src/app/components/elements/quiz/QuizContentsComponent.tsx

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -123,14 +123,16 @@ function QuizDetails({attempt, sections, questions, pageLink}: QuizAttemptProps)
123123

124124
function QuizHeader({attempt, preview, view, user}: QuizAttemptProps | QuizViewProps) {
125125
const dispatch = useAppDispatch();
126-
if (preview || view) {
127-
const quiz = view ? view.quiz : attempt.quiz;
126+
if (view) {
127+
return isTeacherOrAbove(user) && <Button className="float-end ms-3 mb-3" onClick={() => dispatch(showQuizSettingModal(view.quiz!))}>Set Test</Button>;
128+
}
129+
else if (preview) {
128130
return <>
129-
{preview && <EditContentButton doc={attempt.quiz} />}
131+
<EditContentButton doc={attempt.quiz} />
130132
<div data-testid="quiz-action" className="d-flex">
131-
<p>{ preview ? "You are previewing this test." : "You are viewing the rubric for this test."}</p>
133+
<p>You are previewing this test.</p>
132134
<Spacer />
133-
{isTeacherOrAbove(user) && <Button onClick={() => dispatch(showQuizSettingModal(quiz!))}>Set Test</Button>}
135+
{isTeacherOrAbove(user) && <Button onClick={() => dispatch(showQuizSettingModal(attempt.quiz!))}>Set Test</Button>}
134136
</div>
135137
</>;
136138
} else if (isDefined(attempt.quizAssignment)) {
@@ -165,8 +167,7 @@ function QuizRubric({attempt, view}: Pick<QuizAttemptProps | QuizViewProps, "att
165167
const rubric = attempt ? attempt.quiz?.rubric : view?.quiz?.rubric;
166168
const renderRubric = (rubric?.children || []).length > 0;
167169
return <div>
168-
{rubric && renderRubric && <div>
169-
<h4>Instructions</h4>
170+
{rubric && renderRubric && <div data-testid="quiz-rubric">
170171
<IsaacContentValueOrChildren value={rubric.value}>
171172
{rubric.children}
172173
</IsaacContentValueOrChildren>

src/test/helpers/quiz.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@ export const expectErrorMessage = expectTextInElementWithId('error-message');
2424

2525
export const expectActionMessage = expectTextInElementWithId('quiz-action');
2626

27+
export const expectRubric = expectTextInElementWithId('quiz-rubric');
28+
2729
export const setTestButton = () => screen.queryByRole('button', {name: "Set Test"});
2830

2931
export const editButton = () => screen.queryByRole('heading', {name: "Published ✎"});

src/test/pages/QuizAttempt.test.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
import { expectLinkWithEnabledBackwardsNavigation, expectH1, expectH4, expectTitledSection, expectUrl } from "../testUtils";
1+
import { expectLinkWithEnabledBackwardsNavigation, expectH1, expectH4, expectUrl } from "../testUtils";
22
import {mockAttempts} from "../../mocks/data";
33
import { isPhy, siteSpecific } from "../../app/services";
4-
import { expectActionMessage, expectAdaBreadCrumbs, expectErrorMessage, expectPhyBreadCrumbs, expectSidebarToggle, renderQuizPage, sideBarTestCases, testSectionsHeader } from "../helpers/quiz";
4+
import { expectActionMessage, expectAdaBreadCrumbs, expectErrorMessage, expectPhyBreadCrumbs, expectSidebarToggle, expectRubric, renderQuizPage, sideBarTestCases, testSectionsHeader } from "../helpers/quiz";
55
import { screen } from "@testing-library/react";
66

77
describe("QuizAttempt", () => {
@@ -33,7 +33,7 @@ describe("QuizAttempt", () => {
3333

3434
it('shows quiz rubric', async () => {
3535
await studentAttemptsQuiz();
36-
expectTitledSection("Instructions", attempt.quiz?.rubric?.children?.[0].value);
36+
expectRubric(attempt.quiz?.rubric?.children?.[0].value);
3737
});
3838

3939
it("shows Test sections that load section and allow navigating back", async () => {

src/test/pages/QuizPreview.test.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
import { expectLinkWithEnabledBackwardsNavigation, expectH1, expectH4, expectTitledSection, expectUrl } from "../testUtils";
1+
import { expectLinkWithEnabledBackwardsNavigation, expectH1, expectH4, expectUrl } from "../testUtils";
22
import { mockPreviews } from "../../mocks/data";
33
import { isPhy, siteSpecific } from "../../app/services";
4-
import { expectActionMessage, expectAdaBreadCrumbs, expectErrorMessage, expectPhyBreadCrumbs, expectSidebarToggle, renderQuizPage, sideBarTestCases, testSectionsHeader } from "../helpers/quiz";
4+
import { expectActionMessage, expectAdaBreadCrumbs, expectErrorMessage, expectPhyBreadCrumbs, expectSidebarToggle, expectRubric, renderQuizPage, sideBarTestCases, testSectionsHeader } from "../helpers/quiz";
55
import { screen } from "@testing-library/react";
66

77
describe("QuizPreview", () => {
@@ -33,7 +33,7 @@ describe("QuizPreview", () => {
3333

3434
it('shows quiz rubric', async () => {
3535
await teacherPreviewsQuiz();
36-
expectTitledSection("Instructions", preview.rubric?.children?.[0].value);
36+
expectRubric(preview.rubric?.children?.[0].value);
3737
});
3838

3939
it("shows Test sections that load section and allow navigating back", async () => {

src/test/pages/QuizView.test.tsx

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
import { expectLinkWithEnabledBackwardsNavigation, expectH1, expectH4, expectTitledSection, expectUrl } from "../testUtils";
1+
import { expectLinkWithEnabledBackwardsNavigation, expectH1, expectH4, expectUrl } from "../testUtils";
22
import {mockRubrics} from "../../mocks/data";
3-
import { editButton, expectActionMessage, expectAdaBreadCrumbs, expectErrorMessage, expectPhyBreadCrumbs, expectSidebarToggle, previewButton, renderQuizPage, setTestButton, sideBarTestCases, testSectionsHeader } from "../helpers/quiz";
3+
import { editButton, expectAdaBreadCrumbs, expectErrorMessage, expectPhyBreadCrumbs, expectRubric, expectSidebarToggle, previewButton, renderQuizPage, setTestButton, sideBarTestCases, testSectionsHeader } from "../helpers/quiz";
44
import { isPhy, siteSpecific } from "../../app/services";
5-
import { screen } from "@testing-library/react";
5+
import {screen } from "@testing-library/react";
66

77
describe("QuizView", () => {
88
const quizId = Object.keys(mockRubrics)[0];
@@ -24,9 +24,9 @@ describe("QuizView", () => {
2424
expectH1(rubric.title);
2525
});
2626

27-
it('shows message about this page', async () => {
27+
it('does not show message about this page', async () => {
2828
await studentViewsQuiz();
29-
expectActionMessage('You are viewing the rubric for this test.');
29+
expect(screen.queryByTestId("quiz-action")).not.toBeInTheDocument();
3030
});
3131

3232
it('does not show Set Test button', async () => {
@@ -36,7 +36,7 @@ describe("QuizView", () => {
3636

3737
it('shows quiz rubric', async () => {
3838
await studentViewsQuiz();
39-
expectTitledSection("Instructions", rubric.rubric?.children?.[0].value);
39+
expectRubric(rubric.rubric?.children?.[0].value);
4040
});
4141

4242
it("does not show Test sections", async () => {

src/test/testUtils.tsx

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -226,15 +226,6 @@ export const expectH4 = expectHeading(4);
226226

227227
export const expectTextInElementWithId = (testId: string) => (msg: string) => expect(screen.getByTestId(testId)).toHaveTextContent(msg);
228228

229-
export const expectTitledSection = (title: string, message: string | undefined) => {
230-
const titleE = screen.getByRole('heading', { name: title });
231-
if (titleE.parentElement === null) {
232-
throw new Error(`Could not find parent for heading: ${title}`);
233-
}
234-
const [paragraph] = within(titleE.parentElement).getAllByRole('paragraph');
235-
return expect(paragraph).toHaveTextContent(`${message}`);
236-
}
237-
;
238229
export const expectLinkWithEnabledBackwardsNavigation = async (text: string | undefined, targetHref: string, originalHref: string) => {
239230
if (text === undefined) {
240231
throw new Error("Target text is undefined");

0 commit comments

Comments
 (0)