Submitting a form
For this chapter, we will define “submit the form” to mean “call the onSubmit
callback function with the current customer
object.” The onSubmit
callback function is a prop we’ll be passing.
This section will introduce one way of testing form submission. In Chapter 6, Exploring Test Doubles, we will update this to a call to global.fetch
that sends our customer data to our application’s backend API.
We’ll need a few different tests to specify this behavior, each test building up the functionality we need in a step-by-step fashion. First, we’ll have a test that ensures the form has a submit button. Then, we’ll write a test that clicks that button without making any changes to the form. We’ll need another test to check that submitting the form does not cause page navigation to occur. Finally, we’ll end with a test submission after the value of the text box has been updated.