1
1
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
2
2
// SPDX-License-Identifier: Apache-2.0
3
3
import React from 'react' ;
4
- import { act , render } from '@testing-library/react' ;
4
+ import { act , render , waitFor } from '@testing-library/react' ;
5
5
6
6
import {
7
7
activateAnalyticsMetadata ,
@@ -125,7 +125,7 @@ describe('AppLayoutToolbar renders correct analytics metadata', () => {
125
125
} ) ;
126
126
} ) ;
127
127
describe ( 'with tools' , ( ) => {
128
- test ( 'closed' , ( ) => {
128
+ test ( 'closed' , async ( ) => {
129
129
const wrapper = renderToolbar ( {
130
130
tools : < span > tools</ span > ,
131
131
toolsOpen : false ,
@@ -134,6 +134,9 @@ describe('AppLayoutToolbar renders correct analytics metadata', () => {
134
134
toolsToggle : 'toggle tools' ,
135
135
} ,
136
136
} ) ;
137
+ await waitFor ( ( ) => {
138
+ expect ( wrapper . findToolsToggle ( ) ) . toBeTruthy ( ) ;
139
+ } ) ;
137
140
const toolsTrigger = wrapper . findToolsToggle ( ) . getElement ( ) ;
138
141
validateComponentNameAndLabels ( toolsTrigger , { } ) ;
139
142
expect ( getGeneratedAnalyticsMetadata ( toolsTrigger ) ) . toEqual ( {
@@ -144,7 +147,7 @@ describe('AppLayoutToolbar renders correct analytics metadata', () => {
144
147
...getMetadata ( ) ,
145
148
} ) ;
146
149
} ) ;
147
- test ( 'open' , ( ) => {
150
+ test ( 'open' , async ( ) => {
148
151
const wrapper = renderToolbar ( {
149
152
tools : < span > tools</ span > ,
150
153
toolsOpen : true ,
@@ -154,6 +157,9 @@ describe('AppLayoutToolbar renders correct analytics metadata', () => {
154
157
toolsClose : 'close tools' ,
155
158
} ,
156
159
} ) ;
160
+ await waitFor ( ( ) => {
161
+ expect ( wrapper . findToolsToggle ( ) ) . toBeTruthy ( ) ;
162
+ } ) ;
157
163
const toolsTrigger = wrapper . findToolsToggle ( ) . getElement ( ) ;
158
164
validateComponentNameAndLabels ( toolsTrigger , { } ) ;
159
165
expect ( getGeneratedAnalyticsMetadata ( toolsTrigger ) ) . toEqual ( {
@@ -174,7 +180,7 @@ describe('AppLayoutToolbar renders correct analytics metadata', () => {
174
180
} ) ;
175
181
176
182
describe ( 'with local drawer' , ( ) => {
177
- test ( 'closed' , ( ) => {
183
+ test ( 'closed' , async ( ) => {
178
184
const wrapper = renderToolbar ( {
179
185
drawers : [
180
186
{
@@ -191,6 +197,9 @@ describe('AppLayoutToolbar renders correct analytics metadata', () => {
191
197
} ,
192
198
] ,
193
199
} ) ;
200
+ await waitFor ( ( ) => {
201
+ expect ( wrapper . findDrawerTriggerById ( 'test-drawer' ) ) . toBeTruthy ( ) ;
202
+ } ) ;
194
203
const drawerTrigger = wrapper . findDrawerTriggerById ( 'test-drawer' ) ! . getElement ( ) ;
195
204
validateComponentNameAndLabels ( drawerTrigger , { } ) ;
196
205
expect ( getGeneratedAnalyticsMetadata ( drawerTrigger ) ) . toEqual ( {
@@ -201,7 +210,7 @@ describe('AppLayoutToolbar renders correct analytics metadata', () => {
201
210
...getMetadata ( ) ,
202
211
} ) ;
203
212
} ) ;
204
- test ( 'open' , ( ) => {
213
+ test ( 'open' , async ( ) => {
205
214
const wrapper = renderToolbar ( {
206
215
drawers : [
207
216
{
@@ -232,6 +241,9 @@ describe('AppLayoutToolbar renders correct analytics metadata', () => {
232
241
activeDrawerId : 'test-drawer' ,
233
242
onDrawerChange : ( ) => { } ,
234
243
} ) ;
244
+ await waitFor ( ( ) => {
245
+ expect ( wrapper . findDrawerTriggerById ( 'test-drawer' ) ) . toBeTruthy ( ) ;
246
+ } ) ;
235
247
const drawerTrigger = wrapper . findDrawerTriggerById ( 'test-drawer' ) ! . getElement ( ) ;
236
248
validateComponentNameAndLabels ( drawerTrigger , { } ) ;
237
249
expect ( getGeneratedAnalyticsMetadata ( drawerTrigger ) ) . toEqual ( {
@@ -319,7 +331,7 @@ describe('AppLayoutToolbar renders correct analytics metadata', () => {
319
331
} ) ;
320
332
321
333
describe ( 'with split panel' , ( ) => {
322
- test . each ( [ 'open' , 'close' ] ) ( '%s' , action => {
334
+ test . each ( [ 'open' , 'close' ] ) ( '%s' , async action => {
323
335
const wrapper = renderToolbar ( {
324
336
splitPanel : (
325
337
< SplitPanel i18nStrings = { { openButtonAriaLabel : 'open split panel' } } header = "Split panel header" >
@@ -329,6 +341,9 @@ describe('AppLayoutToolbar renders correct analytics metadata', () => {
329
341
splitPanelOpen : action !== 'open' ,
330
342
onSplitPanelToggle : ( ) => { } ,
331
343
} ) ;
344
+ await waitFor ( ( ) => {
345
+ expect ( wrapper . findSplitPanelOpenButton ( ) ) . toBeTruthy ( ) ;
346
+ } ) ;
332
347
const splitPanelTrigger = wrapper . findSplitPanelOpenButton ( ) ! . getElement ( ) ;
333
348
validateComponentNameAndLabels ( splitPanelTrigger , { } ) ;
334
349
expect ( getGeneratedAnalyticsMetadata ( splitPanelTrigger ) ) . toEqual ( {
0 commit comments