Skip to content
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Commit 4608c88

Browse files
committedAug 27, 2024·
jest.setTimeout to 7 s
1 parent 1eef224 commit 4608c88

File tree

2 files changed

+38
-44
lines changed

2 files changed

+38
-44
lines changed
 

‎examples/cookbook/app/network-requests/PhoneBook.tsx

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,16 +25,14 @@ export default () => {
2525
try {
2626
await Promise.all([_getAllContacts(), _getAllFavorites()]);
2727
} catch (e) {
28-
const message = e instanceof Error ? e.message : 'Something went wrong';
28+
const message = 'message' in e ? e.message : 'Something went wrong';
2929
setError(message);
3030
}
3131
};
3232

3333
void run();
3434
}, []);
3535

36-
console.log({ 'usersData.length': usersData.length, time: new Date().toISOString() });
37-
3836
if (error) {
3937
return <Text>An error occurred: {error}</Text>;
4038
}

‎examples/cookbook/app/network-requests/__tests__/PhoneBook.test.tsx

Lines changed: 37 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import { User } from '../types';
66

77
jest.mock('axios');
88

9-
jest.setTimeout(20000);
9+
jest.setTimeout(7000);
1010
describe('PhoneBook', () => {
1111
it('fetches contacts successfully and renders in list', async () => {
1212
(global.fetch as jest.Mock).mockResolvedValueOnce({
@@ -16,51 +16,47 @@ describe('PhoneBook', () => {
1616
(axios.get as jest.Mock).mockResolvedValue({ data: DATA });
1717
render(<PhoneBook />);
1818

19-
await new Promise((resolve) => setTimeout(resolve, 1000));
20-
screen.debug();
21-
await new Promise((resolve) => setTimeout(resolve, 1000));
22-
screen.debug();
23-
// await waitForElementToBeRemoved(() => screen.getByText(/users data not quite there yet/i));
19+
await waitForElementToBeRemoved(() => screen.getByText(/users data not quite there yet/i));
2420
expect(await screen.findByText('Name: Mrs Ida Kristensen')).toBeOnTheScreen();
2521
expect(await screen.findByText('Email: ida.kristensen@example.com')).toBeOnTheScreen();
2622
expect(await screen.findAllByText(/name/i)).toHaveLength(3);
2723
});
2824

29-
// it('fails to fetch contacts and renders error message', async () => {
30-
// (global.fetch as jest.Mock).mockResolvedValueOnce({
31-
// ok: false,
32-
// });
33-
// (axios.get as jest.Mock).mockResolvedValue({ data: DATA });
34-
// render(<PhoneBook />);
35-
//
36-
// await waitForElementToBeRemoved(() => screen.getByText(/users data not quite there yet/i));
37-
// expect(await screen.findByText(/error fetching contacts/i)).toBeOnTheScreen();
38-
// });
39-
//
40-
// it('fetches favorites successfully and renders all users avatars', async () => {
41-
// (global.fetch as jest.Mock).mockResolvedValueOnce({
42-
// ok: true,
43-
// json: jest.fn().mockResolvedValueOnce(DATA),
44-
// });
45-
// (axios.get as jest.Mock).mockResolvedValue({ data: DATA });
46-
// render(<PhoneBook />);
47-
//
48-
// await waitForElementToBeRemoved(() => screen.getByText(/figuring out your favorites/i));
49-
// expect(await screen.findByText(/my favorites/i)).toBeOnTheScreen();
50-
// expect(await screen.findAllByLabelText('favorite-contact-avatar')).toHaveLength(3);
51-
// });
52-
//
53-
// it('fails to fetch favorites and renders error message', async () => {
54-
// (global.fetch as jest.Mock).mockResolvedValueOnce({
55-
// ok: true,
56-
// json: jest.fn().mockResolvedValueOnce(DATA),
57-
// });
58-
// (axios.get as jest.Mock).mockRejectedValueOnce({ message: 'Error fetching favorites' });
59-
// render(<PhoneBook />);
60-
//
61-
// await waitForElementToBeRemoved(() => screen.getByText(/figuring out your favorites/i));
62-
// expect(await screen.findByText(/error fetching favorites/i)).toBeOnTheScreen();
63-
// });
25+
it('fails to fetch contacts and renders error message', async () => {
26+
(global.fetch as jest.Mock).mockResolvedValueOnce({
27+
ok: false,
28+
});
29+
(axios.get as jest.Mock).mockResolvedValue({ data: DATA });
30+
render(<PhoneBook />);
31+
32+
await waitForElementToBeRemoved(() => screen.getByText(/users data not quite there yet/i));
33+
expect(await screen.findByText(/error fetching contacts/i)).toBeOnTheScreen();
34+
});
35+
36+
it('fetches favorites successfully and renders all users avatars', async () => {
37+
(global.fetch as jest.Mock).mockResolvedValueOnce({
38+
ok: true,
39+
json: jest.fn().mockResolvedValueOnce(DATA),
40+
});
41+
(axios.get as jest.Mock).mockResolvedValue({ data: DATA });
42+
render(<PhoneBook />);
43+
44+
await waitForElementToBeRemoved(() => screen.getByText(/figuring out your favorites/i));
45+
expect(await screen.findByText(/my favorites/i)).toBeOnTheScreen();
46+
expect(await screen.findAllByLabelText('favorite-contact-avatar')).toHaveLength(3);
47+
});
48+
49+
it('fails to fetch favorites and renders error message', async () => {
50+
(global.fetch as jest.Mock).mockResolvedValueOnce({
51+
ok: true,
52+
json: jest.fn().mockResolvedValueOnce(DATA),
53+
});
54+
(axios.get as jest.Mock).mockRejectedValueOnce({ message: 'Error fetching favorites' });
55+
render(<PhoneBook />);
56+
57+
await waitForElementToBeRemoved(() => screen.getByText(/figuring out your favorites/i));
58+
expect(await screen.findByText(/error fetching favorites/i)).toBeOnTheScreen();
59+
});
6460
});
6561

6662
const DATA: { results: User[] } = {

0 commit comments

Comments
 (0)
Please sign in to comment.