@@ -124,7 +124,7 @@ describe('Test MenuBar Component', () => {
124
124
expect ( mockFn ) . toBeCalled ( ) ;
125
125
} ) ;
126
126
127
- test ( 'Should support to execute the handleClickMenuBar method in HorizontalView ' , async ( ) => {
127
+ test ( 'Should support to hide the menu by clicking the menu item at the root ' , async ( ) => {
128
128
const { getByText } = render (
129
129
< MenuBar
130
130
data = { menuData }
@@ -153,6 +153,35 @@ describe('Test MenuBar Component', () => {
153
153
document . elementsFromPoint = originalFunc ;
154
154
} ) ;
155
155
156
+ test ( 'Should support to hide menu by clicking the menu item of the submenu' , async ( ) => {
157
+ const { getByText } = render (
158
+ < MenuBar
159
+ data = { menuData }
160
+ onClick = { TEST_FN }
161
+ mode = { MenuBarMode . horizontal }
162
+ />
163
+ ) ;
164
+ const elem = getByText ( TEST_ID ) ;
165
+ const liElem = elem . closest ( 'li' ) ;
166
+ const elemArr = liElem ? [ liElem ] : [ ] ;
167
+ const spanElem = getByText ( TEST_DATA ) ;
168
+ const ulElem = spanElem . closest ( 'ul' ) ;
169
+ const originalFunc = document . elementsFromPoint ;
170
+ document . elementsFromPoint = jest . fn ( ( ) => elemArr ) ;
171
+
172
+ fireEvent . click ( elem ) ;
173
+ await waitFor ( ( ) => {
174
+ expect ( ulElem ?. style . opacity ) . toBe ( '1' ) ;
175
+ } ) ;
176
+
177
+ fireEvent . click ( spanElem ) ;
178
+ await waitFor ( ( ) => {
179
+ expect ( ulElem ?. style . opacity ) . toBe ( '0' ) ;
180
+ } ) ;
181
+
182
+ document . elementsFromPoint = originalFunc ;
183
+ } ) ;
184
+
156
185
test ( 'Should support to execute the clearAutoDisplay method in HorizontalView' , async ( ) => {
157
186
const { getByText } = render (
158
187
< MenuBar
0 commit comments