import React from 'react'; import { initializeTestStore, render, screen } from '../../../setupTest'; import ContentTools from './ContentTools'; jest.mock('./calculator/Calculator', () => function () { return
; }); jest.mock('./notes-visibility/NotesVisibility', () => function () { return
; }); describe('Content Tools', () => { const mockData = { course: { notes: { enabled: false }, showCalculator: false, }, }; beforeAll(async () => { await initializeTestStore({ excludeFetchCourse: true, excludeFetchSequence: true }); }); it('hides content tools', () => { const { container } = render(); expect(container.getElementsByClassName('d-flex')[0]).toBeEmptyDOMElement(); }); it('displays Calculator', () => { const testData = JSON.parse(JSON.stringify(mockData)); testData.course.showCalculator = true; render(); expect(screen.getByTestId('Calculator')).toBeInTheDocument(); expect(screen.queryByTestId('NotesVisibility')).not.toBeInTheDocument(); }); it('displays Notes Visibility', () => { const testData = JSON.parse(JSON.stringify(mockData)); testData.course.notes.enabled = true; render(); expect(screen.getByTestId('NotesVisibility')).toBeInTheDocument(); expect(screen.queryByTestId('Calculator')).not.toBeInTheDocument(); }); });