11import { render , screen } from "@testing-library/svelte" ;
22import { user } from "../setup-tests" ;
3- import Select from "./Select.test.svelte" ;
3+ import SelectFalsy from "./Select.falsy .test.svelte" ;
44import SelectGroup from "./Select.group.test.svelte" ;
55import SelectSkeleton from "./Select.skeleton.test.svelte" ;
6- import SelectFalsy from "./Select.falsy .test.svelte" ;
6+ import Select from "./Select.test.svelte" ;
77
88describe ( "Select" , ( ) => {
99 beforeEach ( ( ) => {
@@ -17,10 +17,12 @@ describe("Select", () => {
1717 expect ( select ) . toBeInTheDocument ( ) ;
1818
1919 const label = select . querySelector ( "label" ) ;
20+ assert ( label ) ;
2021 expect ( label ) . toHaveTextContent ( "Select label" ) ;
2122 expect ( label ) . not . toHaveClass ( "bx--visually-hidden" ) ;
2223
23- const selectElement = select . querySelector ( "select" ) as HTMLSelectElement ;
24+ const selectElement = select . querySelector ( "select" ) ;
25+ assert ( selectElement ) ;
2426 expect ( selectElement ) . not . toBeDisabled ( ) ;
2527 expect ( selectElement ) . not . toHaveAttribute ( "aria-invalid" ) ;
2628
@@ -33,19 +35,17 @@ describe("Select", () => {
3335 it ( "renders with selected value" , ( ) => {
3436 render ( Select , { selected : "option-2" } ) ;
3537
36- const selectElement = screen
37- . getByTestId ( "select" )
38- . querySelector ( "select" ) as HTMLSelectElement ;
38+ const selectElement = screen . getByTestId ( "select" ) . querySelector ( "select" ) ;
39+ assert ( selectElement ) ;
3940 expect ( selectElement ) . toHaveValue ( "option-2" ) ;
4041 } ) ;
4142
4243 it ( "emits events" , async ( ) => {
4344 const consoleLog = vi . spyOn ( console , "log" ) ;
4445 render ( Select ) ;
4546
46- const selectElement = screen
47- . getByTestId ( "select" )
48- . querySelector ( "select" ) as HTMLSelectElement ;
47+ const selectElement = screen . getByTestId ( "select" ) . querySelector ( "select" ) ;
48+ assert ( selectElement ) ;
4949 await user . selectOptions ( selectElement , "option-2" ) ;
5050
5151 expect ( consoleLog ) . toHaveBeenCalledWith ( "change" ) ;
@@ -56,27 +56,24 @@ describe("Select", () => {
5656
5757 it ( "renders default size" , ( ) => {
5858 render ( Select ) ;
59- const selectElement = screen
60- . getByTestId ( "select" )
61- . querySelector ( "select" ) as HTMLSelectElement ;
59+ const selectElement = screen . getByTestId ( "select" ) . querySelector ( "select" ) ;
60+ assert ( selectElement ) ;
6261 expect ( selectElement ) . not . toHaveClass ( "bx--select-input--sm" ) ;
6362 expect ( selectElement ) . not . toHaveClass ( "bx--select-input--xl" ) ;
6463 } ) ;
6564
6665 it ( "renders small size variant" , ( ) => {
6766 render ( Select , { size : "sm" } ) ;
68- const selectElement = screen
69- . getByTestId ( "select" )
70- . querySelector ( "select" ) as HTMLSelectElement ;
67+ const selectElement = screen . getByTestId ( "select" ) . querySelector ( "select" ) ;
68+ assert ( selectElement ) ;
7169 expect ( selectElement ) . toHaveClass ( "bx--select-input--sm" ) ;
7270 expect ( selectElement ) . not . toHaveClass ( "bx--select-input--xl" ) ;
7371 } ) ;
7472
7573 it ( "renders extra large size variant" , ( ) => {
7674 render ( Select , { size : "xl" } ) ;
77- const selectElement = screen
78- . getByTestId ( "select" )
79- . querySelector ( "select" ) as HTMLSelectElement ;
75+ const selectElement = screen . getByTestId ( "select" ) . querySelector ( "select" ) ;
76+ assert ( selectElement ) ;
8077 expect ( selectElement ) . not . toHaveClass ( "bx--select-input--sm" ) ;
8178 expect ( selectElement ) . toHaveClass ( "bx--select-input--xl" ) ;
8279 } ) ;
@@ -85,55 +82,59 @@ describe("Select", () => {
8582 render ( Select ) ;
8683 const selectWrapper = screen
8784 . getByTestId ( "select" )
88- . querySelector ( ".bx--select" ) as HTMLElement ;
85+ . querySelector ( ".bx--select" ) ;
86+ assert ( selectWrapper ) ;
8987 expect ( selectWrapper ) . not . toHaveClass ( "bx--select--inline" ) ;
9088 } ) ;
9189
9290 it ( "renders inline variant" , ( ) => {
9391 render ( Select , { inline : true } ) ;
9492 const selectWrapper = screen
9593 . getByTestId ( "select" )
96- . querySelector ( ".bx--select" ) as HTMLElement ;
94+ . querySelector ( ".bx--select" ) ;
95+ assert ( selectWrapper ) ;
9796 expect ( selectWrapper ) . toHaveClass ( "bx--select--inline" ) ;
9897 } ) ;
9998
10099 it ( "renders default theme" , ( ) => {
101100 render ( Select ) ;
102101 const selectWrapper = screen
103102 . getByTestId ( "select" )
104- . querySelector ( ".bx--select" ) as HTMLElement ;
103+ . querySelector ( ".bx--select" ) ;
104+ assert ( selectWrapper ) ;
105105 expect ( selectWrapper ) . not . toHaveClass ( "bx--select--light" ) ;
106106 } ) ;
107107
108108 it ( "renders light theme" , ( ) => {
109109 render ( Select , { light : true } ) ;
110110 const selectWrapper = screen
111111 . getByTestId ( "select" )
112- . querySelector ( ".bx--select" ) as HTMLElement ;
112+ . querySelector ( ".bx--select" ) ;
113+ assert ( selectWrapper ) ;
113114 expect ( selectWrapper ) . toHaveClass ( "bx--select--light" ) ;
114115 } ) ;
115116
116117 it ( "renders enabled by default" , ( ) => {
117118 render ( Select ) ;
118- const selectElement = screen
119- . getByTestId ( "select" )
120- . querySelector ( "select" ) as HTMLSelectElement ;
119+ const selectElement = screen . getByTestId ( "select" ) . querySelector ( "select" ) ;
120+ assert ( selectElement ) ;
121121 expect ( selectElement ) . not . toBeDisabled ( ) ;
122122 } ) ;
123123
124124 it ( "renders disabled state" , ( ) => {
125125 render ( Select , { disabled : true } ) ;
126- const selectElement = screen
127- . getByTestId ( "select" )
128- . querySelector ( "select" ) as HTMLSelectElement ;
126+ const selectElement = screen . getByTestId ( "select" ) . querySelector ( "select" ) ;
127+ assert ( selectElement ) ;
129128 expect ( selectElement ) . toBeDisabled ( ) ;
130129 } ) ;
131130
132131 it ( "renders valid by default" , ( ) => {
133132 render ( Select ) ;
134133 const wrapper = screen . getByTestId ( "select" ) ;
135- const selectElement = wrapper . querySelector ( "select" ) as HTMLSelectElement ;
136- const selectWrapper = wrapper . querySelector ( ".bx--select" ) as HTMLElement ;
134+ const selectElement = wrapper . querySelector ( "select" ) ;
135+ const selectWrapper = wrapper . querySelector ( ".bx--select" ) ;
136+ assert ( selectElement ) ;
137+ assert ( selectWrapper ) ;
137138
138139 expect ( selectWrapper ) . not . toHaveClass ( "bx--select--invalid" ) ;
139140 expect ( selectElement ) . not . toHaveAttribute ( "aria-invalid" ) ;
@@ -149,8 +150,10 @@ describe("Select", () => {
149150 } ) ;
150151
151152 const wrapper = screen . getByTestId ( "select" ) ;
152- const selectElement = wrapper . querySelector ( "select" ) as HTMLSelectElement ;
153- const selectWrapper = wrapper . querySelector ( ".bx--select" ) as HTMLElement ;
153+ const selectElement = wrapper . querySelector ( "select" ) ;
154+ const selectWrapper = wrapper . querySelector ( ".bx--select" ) ;
155+ assert ( selectElement ) ;
156+ assert ( selectWrapper ) ;
154157
155158 expect ( selectWrapper ) . toHaveClass ( "bx--select--invalid" ) ;
156159 expect ( selectElement ) . toHaveAttribute ( "aria-invalid" , "true" ) ;
@@ -162,7 +165,8 @@ describe("Select", () => {
162165 it ( "renders without warning by default" , ( ) => {
163166 render ( Select ) ;
164167 const wrapper = screen . getByTestId ( "select" ) ;
165- const selectWrapper = wrapper . querySelector ( ".bx--select" ) as HTMLElement ;
168+ const selectWrapper = wrapper . querySelector ( ".bx--select" ) ;
169+ assert ( selectWrapper ) ;
166170
167171 expect ( selectWrapper ) . not . toHaveClass ( "bx--select--warning" ) ;
168172 expect (
@@ -177,7 +181,8 @@ describe("Select", () => {
177181 } ) ;
178182
179183 const wrapper = screen . getByTestId ( "select" ) ;
180- const selectWrapper = wrapper . querySelector ( ".bx--select" ) as HTMLElement ;
184+ const selectWrapper = wrapper . querySelector ( ".bx--select" ) ;
185+ assert ( selectWrapper ) ;
181186 expect ( selectWrapper ) . toHaveClass ( "bx--select--warning" ) ;
182187 expect ( wrapper . querySelector ( ".bx--form-requirement" ) ) . toHaveTextContent (
183188 "Warning message" ,
@@ -195,31 +200,31 @@ describe("Select", () => {
195200 render ( Select , { helperText : "Helper text" } ) ;
196201 const helperElement = screen
197202 . getByTestId ( "select" )
198- . querySelector ( ".bx--form__helper-text" ) as HTMLElement ;
203+ . querySelector ( ".bx--form__helper-text" ) ;
204+ assert ( helperElement ) ;
199205 expect ( helperElement ) . toHaveTextContent ( "Helper text" ) ;
200206 } ) ;
201207
202208 it ( "renders visible label by default" , ( ) => {
203209 render ( Select ) ;
204- const label = screen
205- . getByTestId ( "select" )
206- . querySelector ( "label" ) as HTMLElement ;
210+ const label = screen . getByTestId ( "select" ) . querySelector ( "label" ) ;
211+ assert ( label ) ;
207212 expect ( label ) . not . toHaveClass ( "bx--visually-hidden" ) ;
208213 } ) ;
209214
210215 it ( "renders with hidden label" , ( ) => {
211216 render ( Select , { hideLabel : true } ) ;
212- const label = screen
213- . getByTestId ( "select" )
214- . querySelector ( "label" ) as HTMLElement ;
217+ const label = screen . getByTestId ( "select" ) . querySelector ( "label" ) ;
218+ assert ( label ) ;
215219 expect ( label ) . toHaveClass ( "bx--visually-hidden" ) ;
216220 } ) ;
217221
218222 it ( "renders with SelectItemGroup" , ( ) => {
219223 render ( SelectGroup ) ;
220224
221225 const select = screen . getByTestId ( "select-group" ) ;
222- const selectElement = select . querySelector ( "select" ) as HTMLSelectElement ;
226+ const selectElement = select . querySelector ( "select" ) ;
227+ assert ( selectElement ) ;
223228 const optgroups = selectElement . querySelectorAll ( "optgroup" ) ;
224229
225230 expect ( optgroups ) . toHaveLength ( 2 ) ;
@@ -246,7 +251,7 @@ describe("Select", () => {
246251 expect ( screen . getByLabelText ( "Falsy text" ) ) . toHaveValue ( "-1" ) ;
247252 expect ( screen . getByRole ( "option" , { name : "" } ) ) . toBeInTheDocument ( ) ;
248253 } ) ;
249-
254+
250255 it ( "renders value if `text` is undefined" , ( ) => {
251256 render ( SelectFalsy ) ;
252257
0 commit comments