Completed Team tests

This commit is contained in:
Rodrigo Pedroso 2019-08-27 17:57:43 -04:00
commit c3467c0b2c
2 changed files with 29 additions and 6 deletions

View file

@ -100,7 +100,7 @@ export default function Team({ props }) {
<div>
<h2>Team lead</h2>
<button data-testid="resolved" className="selector-btn" onClick={() => selectUser(team.lead)}>
<button data-testid="resolved-lead" className="selector-btn" onClick={() => selectUser(team.lead)}>
{userData(team.lead)}
</button>
@ -109,7 +109,7 @@ export default function Team({ props }) {
<ul className="list">
{filteredMembers.map((member, index) => (
<li className="list-item" key={index}>
<button className="selector-btn" onClick={() => selectUser(member.id)}>
<button data-testid="resolved-list" className="selector-btn" onClick={() => selectUser(member.id)}>
{member.name}
</button>
</li>

View file

@ -12,7 +12,7 @@ describe('A team page', () => {
expect(getByTestId('loading')).toHaveTextContent('Loading...')
})
it('should fetch and display data', async () => {
it('should fetch data and display team lead', async () => {
const callData = { lead: 1, id: 2, name: 'Awesome Tricksters', members: [2, 3, 4] }
axiosMock.get.mockResolvedValueOnce({ data: callData })
@ -26,9 +26,32 @@ describe('A team page', () => {
]
}
const { getByTestId } = render(<Team props={mockProps} />)
const resolvedSpan = await waitForElement(() => getByTestId('resolved'))
const { getByTestId, getByText } = render(<Team props={mockProps} />)
expect(resolvedSpan).toHaveTextContent(mockProps.users[0].name)
const resolvedLead = await waitForElement(() => getByTestId('resolved-lead'))
expect(resolvedLead).toHaveTextContent(mockProps.users[0].name)
expect(getByText(mockProps.users[2].name)).toBeInTheDocument()
})
it('should fetch data and display team members', async () => {
const callData = { lead: 1, id: 2, name: 'Awesome Tricksters', members: [2, 3, 4] }
axiosMock.get.mockResolvedValueOnce({ data: callData })
const mockProps = {
users: [
{ id: 2, name: 'First Member', username: 'first member' },
{ id: 3, name: 'Second Member', username: 'second member' },
{ id: 4, name: 'Third Member', username: 'third member' }
]
}
const { getAllByTestId, getByText } = render(<Team props={mockProps} />)
const resolvedList = await waitForElement(() => getAllByTestId('resolved-list'))
expect(resolvedList).toContain(getByText(mockProps.users[0].name))
expect(resolvedList).toContain(getByText(mockProps.users[1].name))
expect(resolvedList).toContain(getByText(mockProps.users[2].name))
})
})