Files
ToBePlayed-Frontend/src/components/SteamAvatar.test.jsx
T

26 lines
996 B
React

// @vitest-environment jsdom
import {afterEach, describe, expect, it} from 'vitest';
import {cleanup, fireEvent, render} from '@testing-library/react';
import SteamAvatar from './SteamAvatar.jsx';
afterEach(cleanup);
describe('SteamAvatar', () => {
it('shows the avatar and the default icon when it does not load', () => {
const {container} = render(<SteamAvatar url="https://avatars.steamstatic.com/a_full.jpg"/>);
expect(container.querySelector('img').getAttribute('src')).toBe('https://avatars.steamstatic.com/a_full.jpg');
fireEvent.error(container.querySelector('img'));
expect(container.querySelector('img')).toBeNull();
expect(container.querySelector('svg')).not.toBeNull();
});
it('shows the default icon without an avatar', () => {
const {container} = render(<SteamAvatar url={null}/>);
expect(container.querySelector('img')).toBeNull();
expect(container.querySelector('svg')).not.toBeNull();
});
});