import React from 'react'; import { vi, describe, it, expect } from 'vitest'; import { screen, render } from '@testing-library/react'; import { type LayoutType, useLayoutType } from '@openmrs/esm-framework'; import VisitNoteActionButton from './visit-note-action-button.extension'; import { mockPatient } from 'tools'; const mockUseLayoutType = vi.mocked(useLayoutType); vi.mock('@openmrs/esm-patient-common-lib', async () => { const originalModule = (await vi.importActual('@openmrs/esm-patient-common-lib')) as object; return { ...originalModule, useStartVisitIfNeeded: vi.fn(() => () => Promise.resolve(true)), }; }); describe('VisitNoteActionButton', () => { it('should display tablet view', async () => { mockUseLayoutType.mockReturnValue('tablet'); render( , ); }); it('should display desktop view', async () => { mockUseLayoutType.mockReturnValue('desktop' as LayoutType); render( , ); const visitNoteButton = screen.getByRole('button', { name: /Note/i }); expect(visitNoteButton).toBeInTheDocument(); }); });