@@ -9,6 +9,8 @@ function renderForm({
99 showName = true ,
1010 showEmail = true ,
1111 isAnonymous = false ,
12+ isNameRequired = false ,
13+ isEmailRequired = false ,
1214 defaultName = 'Foo Bar' ,
1315 defaultEmail
= '[email protected] ' , 1416 nameLabel = 'Name' ,
@@ -25,6 +27,8 @@ function renderForm({
2527 isAnonymous,
2628 showName,
2729 showEmail,
30+ isNameRequired,
31+ isEmailRequired,
2832 defaultName,
2933 defaultEmail,
3034 nameLabel,
@@ -80,13 +84,15 @@ describe('Form', () => {
8084 emailPlaceholder :
'[email protected] !' , 8185 messageLabel : 'Description!' ,
8286 messagePlaceholder : 'What is the issue?!' ,
87+ isNameRequired : true ,
88+ isEmailRequired : true ,
8389 } ) ;
8490
8591 const nameLabel = formComponent . el . querySelector ( 'label[htmlFor="name"]' ) as HTMLLabelElement ;
8692 const emailLabel = formComponent . el . querySelector ( 'label[htmlFor="email"]' ) as HTMLLabelElement ;
8793 const messageLabel = formComponent . el . querySelector ( 'label[htmlFor="message"]' ) as HTMLLabelElement ;
88- expect ( nameLabel . textContent ) . toBe ( 'Name!' ) ;
89- expect ( emailLabel . textContent ) . toBe ( 'Email!' ) ;
94+ expect ( nameLabel . textContent ) . toBe ( 'Name! (required) ' ) ;
95+ expect ( emailLabel . textContent ) . toBe ( 'Email! (required) ' ) ;
9096 expect ( messageLabel . textContent ) . toBe ( 'Description! (required)' ) ;
9197
9298 const nameInput = formComponent . el . querySelector ( '[name="name"]' ) as HTMLInputElement ;
@@ -98,18 +104,6 @@ describe('Form', () => {
98104 expect ( messageInput . placeholder ) . toBe ( 'What is the issue?!' ) ;
99105 } ) ;
100106
101- it ( 'submit is enabled if message is not empty' , ( ) => {
102- const formComponent = renderForm ( ) ;
103-
104- const message = formComponent . el . querySelector ( '[name="message"]' ) as HTMLTextAreaElement ;
105-
106- message . value = 'Foo (message)' ;
107- message . dispatchEvent ( new KeyboardEvent ( 'keyup' ) ) ;
108-
109- message . value = '' ;
110- message . dispatchEvent ( new KeyboardEvent ( 'keyup' ) ) ;
111- } ) ;
112-
113107 it ( 'can show error' , ( ) => {
114108 const formComponent = renderForm ( ) ;
115109 const errorEl = formComponent . el . querySelector ( '.form__error-container' ) as HTMLDivElement ;
@@ -148,6 +142,8 @@ describe('Form', () => {
148142 it ( 'does not show name or email inputs for anonymous mode' , ( ) => {
149143 const onSubmit = jest . fn ( ) ;
150144 const formComponent = renderForm ( {
145+ isNameRequired : true ,
146+ isEmailRequired : true ,
151147 isAnonymous : true ,
152148 onSubmit,
153149 } ) ;
0 commit comments