File tree Expand file tree Collapse file tree 4 files changed +31
-10
lines changed Expand file tree Collapse file tree 4 files changed +31
-10
lines changed Original file line number Diff line number Diff line change 1
1
import React from "react"
2
2
import { screen } from "@testing-library/react"
3
3
4
- import { render } from "../../test_helpers"
4
+ import { render , MockUser } from "../../test_helpers"
5
5
import { Navbar } from "./index"
6
6
7
7
describe ( "Navbar" , ( ) => {
8
+ const noop = ( ) => { return ; }
8
9
it ( "renders content" , async ( ) => {
9
10
// When
10
- render ( < Navbar /> )
11
+ render ( < Navbar onSignOut = { noop } /> )
11
12
12
13
// Then
13
14
await screen . findAllByText ( "Coder" , { exact : false } )
14
15
} )
16
+
17
+ it ( "renders profile picture for user" , async ( ) => {
18
+ // Given
19
+ const mockUser = {
20
+ ...MockUser ,
21
+ username : "bryan"
22
+ }
23
+
24
+ // When
25
+ render ( < Navbar user = { mockUser } onSignOut = { noop } /> )
26
+
27
+ // Then
28
+ // There should be a 'B' avatar!
29
+ const element = await screen . findByText ( "B" )
30
+ expect ( element ) . toBeDefined ( )
31
+ } )
15
32
} )
Original file line number Diff line number Diff line change @@ -5,6 +5,7 @@ import { SWRConfig } from "swr"
5
5
import { render , screen , waitFor } from "@testing-library/react"
6
6
7
7
import { User , UserProvider , useUser } from "./UserContext"
8
+ import { MockUser } from "../test_helpers"
8
9
9
10
namespace Helpers {
10
11
// Helper component that renders out the state of the `useUser` hook.
@@ -45,18 +46,11 @@ namespace Helpers {
45
46
</ SWRConfig >
46
47
)
47
48
}
48
-
49
- export const mockUser : User = {
50
- id : "test-user-id" ,
51
- username : "TestUser" ,
52
- email : "test@coder.com" ,
53
- created_at : "" ,
54
- }
55
49
}
56
50
57
51
describe ( "UserContext" , ( ) => {
58
52
const failingRequest = ( ) => Promise . reject ( "Failed to load user" )
59
- const successfulRequest = ( ) => Promise . resolve ( Helpers . mockUser )
53
+ const successfulRequest = ( ) => Promise . resolve ( MockUser )
60
54
61
55
// Reset the router to '/' before every test
62
56
beforeEach ( ( ) => {
Original file line number Diff line number Diff line change @@ -11,3 +11,5 @@ export const WrapperComponent: React.FC = ({ children }) => {
11
11
export const render = ( component : React . ReactElement ) : RenderResult => {
12
12
return wrappedRender ( < WrapperComponent > { component } </ WrapperComponent > )
13
13
}
14
+
15
+ export * from "./user"
Original file line number Diff line number Diff line change
1
+ import { User } from "../contexts/UserContext"
2
+
3
+ export const MockUser : User = {
4
+ id : "test-user-id" ,
5
+ username : "TestUser" ,
6
+ email : "test@coder.com" ,
7
+ created_at : "" ,
8
+ }
You can’t perform that action at this time.
0 commit comments