1
1
import { render , screen } from "@testing-library/react" ;
2
2
import LoginOrUserInfo from "@/src/components/LoginOrUserInfo" ;
3
3
import { DefaultSession } from "next-auth" ;
4
+ import { fireEvent } from "@testing-library/react" ;
4
5
import { signOut , signIn } from "next-auth/react" ;
5
6
6
7
// Mocking `signIn` and `signOut` API calls
@@ -18,11 +19,13 @@ describe("LoginOrUserInfo", () => {
18
19
} ;
19
20
20
21
render ( < LoginOrUserInfo session = { session } /> ) ;
21
- expect ( screen . getByRole ( "button" , { name : "SIGN IN" } ) ) . toBeDefined ( ) ;
22
+ const button = screen . getByRole ( "button" , { name : "SIGN IN" } ) ;
23
+ button . click ( ) ;
24
+ expect ( button ) . toBeDefined ( ) ;
22
25
} ) ;
23
26
24
27
it ( 'shows "Sign Out" button and user info when session is found' , ( ) => {
25
- const username = "AlpheyaUsername"
28
+ const username = "AlpheyaUsername" ;
26
29
const session : DefaultSession = {
27
30
user : {
28
31
name : username ,
@@ -31,7 +34,9 @@ describe("LoginOrUserInfo", () => {
31
34
} ;
32
35
33
36
render ( < LoginOrUserInfo session = { session } /> ) ;
34
- expect ( screen . getByRole ( "button" , { name : "SIGN OUT" } ) ) . toBeDefined ( ) ;
37
+ const button = screen . getByRole ( "button" , { name : "SIGN OUT" } ) ;
38
+ button . click ( ) ;
39
+ expect ( button ) . toBeDefined ( ) ;
35
40
expect ( screen . getByText ( username ) ) . toBeDefined ( ) ;
36
41
} ) ;
37
42
} ) ;
0 commit comments