@@ -172,21 +172,38 @@ describe("calcite-block-section", () => {
172
172
const element = await page . find ( "calcite-block-section" ) ;
173
173
const toggleSpy = await element . spyOnEvent ( "calciteBlockSectionToggle" ) ;
174
174
const toggle = await page . find ( `calcite-block-section >>> .${ CSS . toggle } ` ) ;
175
+ let expectedClickEvents = 1 ;
175
176
176
177
expect ( toggle . getAttribute ( "aria-expanded" ) ) . toBe ( "false" ) ;
177
178
178
179
await toggle . click ( ) ;
179
180
180
- expect ( toggleSpy ) . toHaveReceivedEventTimes ( 1 ) ;
181
+ expect ( toggleSpy ) . toHaveReceivedEventTimes ( expectedClickEvents ++ ) ;
181
182
expect ( await element . getProperty ( "open" ) ) . toBe ( true ) ;
182
183
expect ( toggle . getAttribute ( "aria-expanded" ) ) . toBe ( "true" ) ;
183
184
184
185
await toggle . click ( ) ;
185
186
186
- expect ( toggleSpy ) . toHaveReceivedEventTimes ( 2 ) ;
187
+ expect ( toggleSpy ) . toHaveReceivedEventTimes ( expectedClickEvents ++ ) ;
187
188
expect ( await element . getProperty ( "open" ) ) . toBe ( false ) ;
188
189
expect ( toggle . getAttribute ( "aria-expanded" ) ) . toBe ( "false" ) ;
189
190
191
+ if ( ( await element . getProperty ( "toggleDisplay" ) ) === "switch" ) {
192
+ const switchToggle = await page . find ( `calcite-block-section >>> .${ CSS . switch } ` ) ;
193
+
194
+ await switchToggle . click ( ) ;
195
+
196
+ expect ( toggleSpy ) . toHaveReceivedEventTimes ( expectedClickEvents ++ ) ;
197
+ expect ( await element . getProperty ( "open" ) ) . toBe ( true ) ;
198
+ expect ( toggle . getAttribute ( "aria-expanded" ) ) . toBe ( "true" ) ;
199
+
200
+ await switchToggle . click ( ) ;
201
+
202
+ expect ( toggleSpy ) . toHaveReceivedEventTimes ( expectedClickEvents ++ ) ;
203
+ expect ( await element . getProperty ( "open" ) ) . toBe ( false ) ;
204
+ expect ( toggle . getAttribute ( "aria-expanded" ) ) . toBe ( "false" ) ;
205
+ }
206
+
190
207
const keyboardToggleEmitter =
191
208
toggle . tagName === "CALCITE-ACTION"
192
209
? (
@@ -204,14 +221,14 @@ describe("calcite-block-section", () => {
204
221
await keyboardToggleEmitter . press ( " " ) ;
205
222
await page . waitForChanges ( ) ;
206
223
207
- expect ( toggleSpy ) . toHaveReceivedEventTimes ( 3 ) ;
224
+ expect ( toggleSpy ) . toHaveReceivedEventTimes ( expectedClickEvents ++ ) ;
208
225
expect ( await element . getProperty ( "open" ) ) . toBe ( true ) ;
209
226
expect ( toggle . getAttribute ( "aria-expanded" ) ) . toBe ( "true" ) ;
210
227
211
228
await keyboardToggleEmitter . press ( "Enter" ) ;
212
229
await page . waitForChanges ( ) ;
213
230
214
- expect ( toggleSpy ) . toHaveReceivedEventTimes ( 4 ) ;
231
+ expect ( toggleSpy ) . toHaveReceivedEventTimes ( expectedClickEvents ++ ) ;
215
232
expect ( await element . getProperty ( "open" ) ) . toBe ( false ) ;
216
233
expect ( toggle . getAttribute ( "aria-expanded" ) ) . toBe ( "false" ) ;
217
234
}
0 commit comments