test: test PersonChip displays image or placeholder

This commit is contained in:
Sammy Teillet
2023-04-19 14:29:25 +02:00
parent 97457f54cb
commit 59f64695a2
4 changed files with 48 additions and 3 deletions

View File

@ -1,6 +1,6 @@
import * as React from 'react';
import styled from '@emotion/styled';
import personPlaceholder from './placeholder.png';
import PersonPlaceholder from './person-placeholder.png';
type OwnProps = {
name: string;
@ -29,12 +29,11 @@ const StyledContainer = styled.span`
`;
function PersonChip({ name, picture }: OwnProps) {
console.log(picture ? picture.toString() : personPlaceholder);
return (
<StyledContainer data-testid="person-chip">
<img
data-testid="person-chip-image"
src={picture ? picture.toString() : personPlaceholder.toString()}
src={picture ? picture.toString() : PersonPlaceholder.toString()}
alt="person-picture"
/>
{name}

View File

@ -0,0 +1,24 @@
import { ThemeProvider } from '@emotion/react';
import { lightTheme } from '../../../layout/styles/themes';
import PersonChip from '../PersonChip';
export default {
title: 'PersonChip',
component: PersonChip,
};
export const RegularPersonChip = () => {
return (
<ThemeProvider theme={lightTheme}>
<PersonChip name="selected-company-1" />
</ThemeProvider>
);
};
export const RegularPersonChipWithImage = () => {
return (
<ThemeProvider theme={lightTheme}>
<PersonChip name="selected-company-1" picture="coucou.fr" />
</ThemeProvider>
);
};

View File

@ -0,0 +1,22 @@
import { render } from '@testing-library/react';
import {
RegularPersonChip,
RegularPersonChipWithImage,
} from '../__stories__/PersonChip';
it('Checks the PersonChip renders', () => {
const { getByText, getByTestId } = render(<RegularPersonChip />);
expect(getByText('selected-company-1')).toBeDefined();
expect(getByTestId('person-chip-image')).toHaveAttribute(
'src',
'person-placeholder.png',
);
});
it('Checks the PersonChip img renders', () => {
const { getByTestId } = render(<RegularPersonChipWithImage />);
expect(getByTestId('person-chip-image')).toHaveAttribute('src', 'coucou.fr');
});

View File

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 14 KiB