Skip to content

Commit fcfc613

Browse files
committed
Fix test
1 parent 1c31446 commit fcfc613

File tree

2 files changed

+46
-9
lines changed

2 files changed

+46
-9
lines changed

docker-compose.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ services:
2323
networks:
2424
- peerprep-network
2525
restart: on-failure
26+
2627
frontend:
2728
image: peerprep/frontend
2829
build: ./frontend

frontend/src/components/Navbar/Navbar.test.tsx

Lines changed: 45 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import axios from "axios";
44
import { faker } from "@faker-js/faker";
55
import * as hooks from "../../contexts/AuthContext";
66
import Navbar from ".";
7+
import { MemoryRouter } from "react-router-dom";
78

89
jest.mock("axios");
910

@@ -45,6 +46,7 @@ describe("Navigation routes", () => {
4546
signup: jest.fn(),
4647
login: jest.fn(),
4748
logout: jest.fn(),
49+
loading: false,
4850
user: {
4951
id: "1",
5052
username,
@@ -57,7 +59,11 @@ describe("Navigation routes", () => {
5759
isAdmin,
5860
},
5961
}));
60-
render(<Navbar />);
62+
render(
63+
<MemoryRouter>
64+
<Navbar />
65+
</MemoryRouter>
66+
);
6167
expect(screen.getByRole("link", { name: "Questions" })).toBeInTheDocument();
6268
});
6369
});
@@ -69,9 +75,14 @@ describe("Unauthenticated user", () => {
6975
signup: jest.fn(),
7076
login: jest.fn(),
7177
logout: jest.fn(),
78+
loading: false,
7279
user: null,
7380
}));
74-
render(<Navbar />);
81+
render(
82+
<MemoryRouter>
83+
<Navbar />
84+
</MemoryRouter>
85+
);
7586
expect(screen.getByRole("button", { name: "Sign up" })).toBeInTheDocument();
7687
});
7788

@@ -81,9 +92,14 @@ describe("Unauthenticated user", () => {
8192
signup: jest.fn(),
8293
login: jest.fn(),
8394
logout: jest.fn(),
95+
loading: false,
8496
user: null,
8597
}));
86-
render(<Navbar />);
98+
render(
99+
<MemoryRouter>
100+
<Navbar />
101+
</MemoryRouter>
102+
);
87103
expect(screen.getByRole("button", { name: "Log in" })).toBeInTheDocument();
88104
});
89105
});
@@ -117,6 +133,7 @@ describe("Authenticated user", () => {
117133
signup: jest.fn(),
118134
login: jest.fn(),
119135
logout: jest.fn(),
136+
loading: false,
120137
user: {
121138
id: "1",
122139
username,
@@ -129,7 +146,11 @@ describe("Authenticated user", () => {
129146
isAdmin,
130147
},
131148
}));
132-
render(<Navbar />);
149+
render(
150+
<MemoryRouter>
151+
<Navbar />
152+
</MemoryRouter>
153+
);
133154
expect(screen.getByTestId("profile")).toBeInTheDocument();
134155
});
135156

@@ -161,6 +182,7 @@ describe("Authenticated user", () => {
161182
signup: jest.fn(),
162183
login: jest.fn(),
163184
logout: jest.fn(),
185+
loading: false,
164186
user: {
165187
id: "1",
166188
username,
@@ -173,11 +195,15 @@ describe("Authenticated user", () => {
173195
isAdmin,
174196
},
175197
}));
176-
render(<Navbar />);
198+
render(
199+
<MemoryRouter>
200+
<Navbar />
201+
</MemoryRouter>
202+
);
177203
const avatar = screen.getByTestId("profile");
178204
fireEvent.click(avatar);
179205
expect(
180-
screen.getByRole("menuitem", { name: "Profile" }),
206+
screen.getByRole("menuitem", { name: "Profile" })
181207
).toBeInTheDocument();
182208
});
183209

@@ -209,6 +235,7 @@ describe("Authenticated user", () => {
209235
signup: jest.fn(),
210236
login: jest.fn(),
211237
logout: jest.fn(),
238+
loading: false,
212239
user: {
213240
id: "1",
214241
username,
@@ -221,7 +248,11 @@ describe("Authenticated user", () => {
221248
isAdmin,
222249
},
223250
}));
224-
render(<Navbar />);
251+
render(
252+
<MemoryRouter>
253+
<Navbar />
254+
</MemoryRouter>
255+
);
225256
const avatar = screen.getByTestId("profile");
226257
fireEvent.click(avatar);
227258
expect(mockUseNavigate).toHaveBeenCalled();
@@ -255,6 +286,7 @@ describe("Authenticated user", () => {
255286
signup: jest.fn(),
256287
login: jest.fn(),
257288
logout: jest.fn(),
289+
loading: false,
258290
user: {
259291
id: "1",
260292
username,
@@ -267,11 +299,15 @@ describe("Authenticated user", () => {
267299
isAdmin,
268300
},
269301
}));
270-
render(<Navbar />);
302+
render(
303+
<MemoryRouter>
304+
<Navbar />
305+
</MemoryRouter>
306+
);
271307
const avatar = screen.getByTestId("profile");
272308
fireEvent.click(avatar);
273309
expect(
274-
screen.getByRole("menuitem", { name: "Logout" }),
310+
screen.getByRole("menuitem", { name: "Logout" })
275311
).toBeInTheDocument();
276312
});
277313
});

0 commit comments

Comments
 (0)