@@ -21,6 +21,11 @@ describe('dynamic values feature - render', () => {
2121 */
2222 const testTypes = allowedTypes . filter ( type => type !== 'conditional-panel' )
2323
24+ /**
25+ * Types that only support insert mode (no replace/clear)
26+ */
27+ const insertOnlyTypes = [ 'text' , 'editor' , 'wysiwyg' ]
28+
2429 test . each ( testTypes ) ( '%p type do not render dynamic values UI if not specified' , type => {
2530
2631 const { container } = render (
@@ -31,8 +36,8 @@ describe('dynamic values feature - render', () => {
3136 } )
3237 )
3338
34- expect ( within ( container ) . queryByText ( ' Insert') ) . toBeFalsy ( )
35- expect ( within ( container ) . queryByText ( ' Clear') ) . toBeFalsy ( )
39+ expect ( within ( container ) . queryByRole ( 'button' , { name : ' Insert' } ) ) . toBeFalsy ( )
40+ expect ( within ( container ) . queryByRole ( 'button' , { name : ' Clear' } ) ) . toBeFalsy ( )
3641 } )
3742
3843 test . each ( testTypes ) ( '%p type do not render dynamic values UI if dynamic is false' , type => {
@@ -46,8 +51,8 @@ describe('dynamic values feature - render', () => {
4651 } )
4752 )
4853
49- expect ( within ( container ) . queryByText ( ' Insert') ) . toBeFalsy ( )
50- expect ( within ( container ) . queryByText ( ' Clear') ) . toBeFalsy ( )
54+ expect ( within ( container ) . queryByRole ( 'button' , { name : ' Insert' } ) ) . toBeFalsy ( )
55+ expect ( within ( container ) . queryByRole ( 'button' , { name : ' Clear' } ) ) . toBeFalsy ( )
5156 } )
5257
5358 test . each ( testTypes ) ( '%p type does render dynamic values UI if dynamic is true' , type => {
@@ -61,13 +66,13 @@ describe('dynamic values feature - render', () => {
6166 } )
6267 )
6368
64- expect ( within ( container ) . getByText ( ' Insert') ) . toBeTruthy ( )
69+ expect ( within ( container ) . getByRole ( 'button' , { name : ' Insert' } ) ) . toBeTruthy ( )
6570
66- // Special case for text, as it uses insert mode by default instead if replace like other types
67- if ( type === 'text' ) {
68- expect ( within ( container ) . queryByText ( ' Clear') ) . toBeFalsy ( )
71+ // Insert-only types ( text, editor, wysiwyg) do not show a Clear button
72+ if ( insertOnlyTypes . includes ( type ) ) {
73+ expect ( within ( container ) . queryByRole ( 'button' , { name : ' Clear' } ) ) . toBeFalsy ( )
6974 }
70- else expect ( within ( container ) . getByText ( ' Clear') ) . toBeTruthy ( )
75+ else expect ( within ( container ) . getByRole ( 'button' , { name : ' Clear' } ) ) . toBeTruthy ( )
7176 } )
7277
7378 test . each ( testTypes ) ( '%p type open dynamic value combobox when clicking on insert button' , async type => {
@@ -87,15 +92,15 @@ describe('dynamic values feature - render', () => {
8792
8893 expect ( document . querySelector ( '.tf-dynamic-wrapper-popover' ) ) . toBeFalsy ( )
8994
90- await user . click ( within ( container ) . getByText ( ' Insert') )
95+ await user . click ( within ( container ) . getByRole ( 'button' , { name : ' Insert' } ) )
9196
9297 expect ( document . querySelector ( '.tf-dynamic-wrapper-popover' ) ) . toBeTruthy ( )
9398
9499 await user . click ( within ( container ) . getByText ( 'Test click outside' ) )
95100
96101 expect ( document . querySelector ( '.tf-dynamic-wrapper-popover' ) ) . toBeFalsy ( )
97102
98- await user . click ( within ( container ) . getByText ( ' Insert') )
103+ await user . click ( within ( container ) . getByRole ( 'button' , { name : ' Insert' } ) )
99104
100105 expect ( document . querySelector ( '.tf-dynamic-wrapper-popover' ) ) . toBeTruthy ( )
101106 } )
0 commit comments