UNPKG

@instructure/quiz-grading

Version:

The Quiz React SDK by Instructure Inc.

69 lines (61 loc) 2.23 kB
import React from 'react' import {expect, describe, it} from 'vitest' import {render, screen} from '../../../../../../tests/utils/rtlRenderOverride' import {Item as ItemRecord} from '@instructure/quiz-core/common/records/Item' import {SessionItem as SessionItemRecord} from '@instructure/quiz-core/common/records/SessionItem' import runAxeCheck from '@instructure/ui-axe-check' import {SessionItemResultWrapper} from '../index' describe('SessionItemResultWrapper', () => { const id = '1' const item = new ItemRecord({id}) item.getInteractionType = () => ({slug: 'foo', isSubjective: false}) const sessionItem = new SessionItemRecord({id, item, position: 1, questionNumber: 1}) const props = { activeQuizSessionId: '1', handleChangeFeedback: Function.prototype, handleChangeGradeStatus: Function.prototype, handleChangePoints: Function.prototype, isRegrading: false, item, regradingKey: 'someKey', renderUpdateButton: Function.prototype, sessionItem, shouldRenderTopBorder: false, quizSessionId: '1', } const defaultState = { activeQuizSessionId: '1', handleChangeFeedback: Function.prototype, handleChangeGradeStatus: Function.prototype, handleChangePoints: Function.prototype, isRegrading: false, item, regradingKey: 'someKey', sessionItem, shouldRenderTopBorder: false, quizSessionId: '1', sessionItemResults: { [id]: {id, score: 0}, }, quizSessions: { activeQuizSessionId: '1', }, ui: { appContainer: '.root', }, } it('renders a session item result component', () => { render(<SessionItemResultWrapper {...defaultState} {...props} />) expect(screen.getByText(/Results for question/i)).toBeInTheDocument() }) it('renders the grading bar component', () => { render(<SessionItemResultWrapper {...defaultState} {...props} />) expect(screen.getByText(/Edit Grader Level Feedback/)).toBeInTheDocument() }) describe('a11y tests', () => { it('should meet a11y standards', async () => { render(<SessionItemResultWrapper {...defaultState} {...props} />) expect(await runAxeCheck(document.body, {ignores: ['region']})).toBe(true) }) }) })