11// @jest -environment jsdom
22
3- import { render , screen , waitFor } from "@testing-library/react" ;
3+ import { fireEvent , render , screen , waitFor } from "@testing-library/react" ;
44import { useRouter } from "next/navigation" ;
55import VersionSelector from "./VersionSelector" ;
66
@@ -79,7 +79,7 @@ describe("VersionSelector", () => {
7979 json : async ( ) => mockVersions ,
8080 } as Response ) ;
8181
82- const { container } = render (
82+ render (
8383 < VersionSelector
8484 currentSpec = { { name : "react" , version : "18.0.0" } }
8585 otherSpec = { { name : "react" , version : "17.0.0" } }
@@ -91,11 +91,8 @@ describe("VersionSelector", () => {
9191 expect ( screen . getByRole ( "combobox" ) ) . toBeInTheDocument ( ) ;
9292 } ) ;
9393
94- const select = container . querySelector ( "select" ) ;
95- if ( select ) {
96- select . value = "18.2.0" ;
97- select . dispatchEvent ( new Event ( "change" , { bubbles : true } ) ) ;
98- }
94+ const select = screen . getByRole ( "combobox" ) as HTMLSelectElement ;
95+ fireEvent . change ( select , { target : { value : "18.2.0" } } ) ;
9996
10097 await waitFor ( ( ) => {
10198 expect ( mockPush ) . toHaveBeenCalledWith (
@@ -115,7 +112,7 @@ describe("VersionSelector", () => {
115112 json : async ( ) => mockVersions ,
116113 } as Response ) ;
117114
118- const { container } = render (
115+ render (
119116 < VersionSelector
120117 currentSpec = { { name : "react" , version : "17.0.0" } }
121118 otherSpec = { { name : "react" , version : "18.0.0" } }
@@ -127,11 +124,8 @@ describe("VersionSelector", () => {
127124 expect ( screen . getByRole ( "combobox" ) ) . toBeInTheDocument ( ) ;
128125 } ) ;
129126
130- const select = container . querySelector ( "select" ) ;
131- if ( select ) {
132- select . value = "18.2.0" ;
133- select . dispatchEvent ( new Event ( "change" , { bubbles : true } ) ) ;
134- }
127+ const select = screen . getByRole ( "combobox" ) as HTMLSelectElement ;
128+ fireEvent . change ( select , { target : { value : "18.2.0" } } ) ;
135129
136130 await waitFor ( ( ) => {
137131 expect ( mockPush ) . toHaveBeenCalledWith (
0 commit comments