import React from 'react'; import '@testing-library/jest-dom'; import { render, screen } from '@testing-library/react'; import { MemoryRouter, Route, Routes } from 'react-router-dom'; import { api } from './api'; import PublicCvPage from './views/PublicCvPage'; jest.mock('./api', () => ({ api: { defaults: { baseURL: '/api' }, get: jest.fn(), }, })); const mockedApi = api as jest.Mocked; test('public CV exposes the rendered CV and PDF download', async () => { mockedApi.get.mockResolvedValueOnce({ data: { html: '

Public CV

', name: 'Ada Lovelace' } } as any); render( } /> , ); expect(await screen.findByTitle('Public CV')).toHaveAttribute('srcdoc', '

Public CV

'); expect(screen.getByRole('link', { name: 'Download PDF' })).toHaveAttribute('href', '/api/public-cv/public-slug/pdf'); expect(mockedApi.get).toHaveBeenCalledWith('/public-cv/public-slug'); });