Skip to content

Commit

Permalink
Check document.title
Browse files Browse the repository at this point in the history
  • Loading branch information
tkrotoff committed Mar 14, 2023
1 parent d7ebe0b commit 5afdef3
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 5 deletions.
18 changes: 13 additions & 5 deletions src/Heroes.test.tsx
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { act, render, screen, waitForElementToBeRemoved } from '@testing-library/react';
import { act, render, screen, waitFor, waitForElementToBeRemoved } from '@testing-library/react';
import { MemoryRouter } from 'react-router';

import * as Marvel from './api/Marvel';
Expand Down Expand Up @@ -82,15 +82,23 @@ test('click on Details link', async () => {
</MemoryRouter>
);

expect(document.title).toEqual('Page 0 - Marvel Heroes');
await screen.findByText('3-D Man');

const detailsLink = screen.getAllByText<HTMLLinkElement>('Details')[0];
act(() => detailsLink.click());

await screen.findByText('3-D Man');
await screen.findByText('Comics');
await screen.findByText('Series');
await screen.findByText('Stories');
screen.getByText(pleaseWait);

expect(document.title).toEqual('... - Marvel Heroes');
await waitFor(() => expect(document.title).toEqual('3-D Man - Marvel Heroes'));

expect(screen.queryByText(pleaseWait)).toBeNull();

screen.getByText('3-D Man');
screen.getByText('Comics');
screen.getByText('Series');
screen.getByText('Stories');
});

test('fetchCharacters() error "500 Internal Server Error"', async () => {
Expand Down
13 changes: 13 additions & 0 deletions src/HeroesPagination.test.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -79,22 +79,35 @@ test('click on Previous & Next links', async () => {
const prevLink = () => screen.getByText<HTMLLinkElement>('‹ Previous');
const nextLink = screen.getByText<HTMLLinkElement>('Next ›');

expect(document.title).toEqual('Page 0 - Marvel Heroes');
await screen.findByText('3-D Man');
expect(prevLink().disabled).toEqual(true);

act(() => nextLink.click());
expect(document.title).toEqual('Page 1 - Marvel Heroes');
screen.getByText(pleaseWait);
await screen.findByText('Anita Blake');
expect(screen.queryByText(pleaseWait)).toBeNull();
expect(prevLink().disabled).toBeUndefined();

act(() => nextLink.click());
expect(document.title).toEqual('Page 2 - Marvel Heroes');
screen.getByText(pleaseWait);
await screen.findByText('Beast');
expect(screen.queryByText(pleaseWait)).toBeNull();
expect(prevLink().disabled).toBeUndefined();

act(() => prevLink().click());
expect(document.title).toEqual('Page 1 - Marvel Heroes');
screen.getByText(pleaseWait);
await screen.findByText('Anita Blake');
expect(screen.queryByText(pleaseWait)).toBeNull();
expect(prevLink().disabled).toBeUndefined();

act(() => prevLink().click());
expect(document.title).toEqual('Page 0 - Marvel Heroes');
screen.getByText(pleaseWait);
await screen.findByText('3-D Man');
expect(screen.queryByText(pleaseWait)).toBeNull();
expect(prevLink().disabled).toEqual(true);
});

0 comments on commit 5afdef3

Please sign in to comment.