Completed Team tests
This commit is contained in:
parent
f2b61371e2
commit
c3467c0b2c
2 changed files with 29 additions and 6 deletions
|
@ -100,7 +100,7 @@ export default function Team({ props }) {
|
||||||
<div>
|
<div>
|
||||||
<h2>Team lead</h2>
|
<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)}
|
{userData(team.lead)}
|
||||||
</button>
|
</button>
|
||||||
|
|
||||||
|
@ -109,7 +109,7 @@ export default function Team({ props }) {
|
||||||
<ul className="list">
|
<ul className="list">
|
||||||
{filteredMembers.map((member, index) => (
|
{filteredMembers.map((member, index) => (
|
||||||
<li className="list-item" key={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}
|
{member.name}
|
||||||
</button>
|
</button>
|
||||||
</li>
|
</li>
|
||||||
|
|
|
@ -12,7 +12,7 @@ describe('A team page', () => {
|
||||||
expect(getByTestId('loading')).toHaveTextContent('Loading...')
|
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] }
|
const callData = { lead: 1, id: 2, name: 'Awesome Tricksters', members: [2, 3, 4] }
|
||||||
|
|
||||||
axiosMock.get.mockResolvedValueOnce({ data: callData })
|
axiosMock.get.mockResolvedValueOnce({ data: callData })
|
||||||
|
@ -26,9 +26,32 @@ describe('A team page', () => {
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
const { getByTestId } = render(<Team props={mockProps} />)
|
const { getByTestId, getByText } = render(<Team props={mockProps} />)
|
||||||
const resolvedSpan = await waitForElement(() => getByTestId('resolved'))
|
|
||||||
|
|
||||||
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))
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue