UNPKG

@instructure/quiz-taking

Version:
57 lines (49 loc) 1.71 kB
import React from 'react' import {describe, expect, vi} from 'vitest' import AttemptHistory from '../presenter' import {render, screen} from '../../../../tests/utils/rtlRenderOverride' vi.mock('@instructure/ui-responsive', async original => { const actual = await original() return { ...actual, Responsive: ({children}) => children({layout: 'stacked'}), } }) describe('AttemptHistory on mobile', () => { const percentage = 0.8 const pointsPossible = '10' const quizSessionId = '1' const score = '8' const unrestrictedAttemptHistory = [ { authoritative: false, displayName: null, percentage: Number.parseFloat(percentage), pointsPossible: Number.parseInt(pointsPossible), score: Number.parseInt(score), quizSessionId: quizSessionId, }, ] const defaultProps = { attemptHistory: unrestrictedAttemptHistory, quizId: '1', scoreToKeep: 'highest', selectedSessionId: '1', getQuizSessions: vi.fn(), gradingScheme: [ {name: 'A', value: 0.9}, {name: 'B', value: 0.8}, {name: 'C', value: 0.7}, {name: 'D', value: 0.6}, {name: 'F', value: 0.0}, ], } it('renders the table correctly', () => { render(<AttemptHistory {...defaultProps} />) expect(screen.getByRole('table', {name: /attempt history/i})).toBeInTheDocument() expect(screen.getByRole('cell', {name: /results: attempt 1/i})).toBeInTheDocument() expect(screen.getByRole('cell', {name: /points: 8 of 10/i})).toBeInTheDocument() expect(screen.getByRole('cell', {name: /score: 80%/i})).toBeInTheDocument() expect(screen.getByRole('cell', {name: /\(highest score is kept\)/i})).toBeInTheDocument() }) })