Skip to main content
Glama
ResourceAvatar.test.tsx2.36 kB
// SPDX-FileCopyrightText: Copyright Orangebot, Inc. and Medplum contributors // SPDX-License-Identifier: Apache-2.0 import { createReference } from '@medplum/core'; import { HomerSimpson, MockClient } from '@medplum/mock'; import { MedplumProvider } from '@medplum/react-hooks'; import { MemoryRouter } from 'react-router'; import { act, render, screen } from '../test-utils/render'; import type { ResourceAvatarProps } from './ResourceAvatar'; import { ResourceAvatar } from './ResourceAvatar'; import { getInitials } from './ResourceAvatar.utils'; const medplum = new MockClient(); describe('ResourceAvatar', () => { async function setup(args: ResourceAvatarProps): Promise<void> { await act(async () => { render( <MemoryRouter> <MedplumProvider medplum={medplum}> <ResourceAvatar {...args} /> </MedplumProvider> </MemoryRouter> ); }); } test('Avatar renders image', async () => { await setup({ src: 'https://example.com/profile.jpg', alt: 'Profile' }); expect((screen.getByAltText('Profile') as HTMLImageElement).src).toEqual('https://example.com/profile.jpg'); }); test('Avatar renders system', async () => { await setup({ value: { reference: 'system' } }); expect(screen.getByTitle('System')).toBeDefined(); }); test('Avatar renders initials', async () => { await setup({ alt: 'Homer Simpson' }); expect(screen.getByTitle('Homer Simpson')).toBeDefined(); }); test('Avatar renders resource directly', async () => { await setup({ value: HomerSimpson, }); expect(await screen.findByAltText('Homer Simpson')).toBeInTheDocument(); }); test('Avatar renders resource directly as link', async () => { await setup({ value: HomerSimpson, link: true, }); expect(await screen.findByAltText('Homer Simpson')).toBeInTheDocument(); }); test('Avatar renders after loading the resource', async () => { await setup({ value: createReference(HomerSimpson), }); expect(await screen.findByAltText('Homer Simpson')).toBeInTheDocument(); }); test('getInitials', () => { expect(getInitials('Homer Simpson')).toEqual('HS'); expect(getInitials('Homer')).toEqual('H'); expect(getInitials('Homer J Simpson')).toEqual('HS'); expect(getInitials('')).toEqual(''); }); });

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/medplum/medplum'

If you have feedback or need assistance with the MCP directory API, please join our Discord server