62 lines
1.2 KiB
TypeScript
Raw Normal View History

2022-08-23 21:46:07 -05:00
import { render, screen } from '@testing-library/react'
2022-09-04 09:39:18 -05:00
import { funAnimalName } from 'fun-animal-names'
2022-08-23 21:46:07 -05:00
import { ReceivedMessage, UnsentMessage } from 'models/chat'
import { Message } from './Message'
const mockUserId = 'user-123'
const mockUnsentMessage: UnsentMessage = {
id: 'abc123',
text: 'unsent message',
timeSent: 1,
authorId: mockUserId,
}
const mockReceivedMessage: ReceivedMessage = {
id: 'abc123',
text: 'received message',
timeSent: 1,
authorId: mockUserId,
timeReceived: 2,
}
describe('Message', () => {
test('renders unsent message text', () => {
render(
<Message
message={mockUnsentMessage}
userId={mockUserId}
showAuthor={false}
/>
)
2022-08-23 21:46:07 -05:00
screen.getByText(mockUnsentMessage.text)
})
test('renders received message text', () => {
render(
<Message
message={mockReceivedMessage}
userId={mockUserId}
showAuthor={false}
/>
)
2022-08-23 21:46:07 -05:00
screen.getByText(mockReceivedMessage.text)
})
2022-08-27 21:38:08 -05:00
test('renders message author', () => {
render(
<Message
message={mockReceivedMessage}
userId={mockUserId}
showAuthor={true}
/>
)
2022-08-27 21:38:08 -05:00
2022-09-04 09:39:18 -05:00
screen.getByText(funAnimalName(mockUserId))
2022-08-27 21:38:08 -05:00
})
2022-08-23 21:46:07 -05:00
})