Accepting text input
In this section, we’ll add a text box to allow the customer’s first name to be added or edited.
Adding a text field is more complicated than adding the form
element. First, there’s the element itself, which has a type
attribute that needs to be tested. Then, we need to prime the element with the initial value. Finally, we’ll need to add a label so that it’s obvious what the field represents.
Let’s start by rendering an HTML text input field onto the page:
- Add the following test to
test/CustomerForm.test.js
. It contains three expectations (there’s an exercise at the end of this chapter that you can follow to pull these out as a single matcher):it("renders the first name field as a text box", () => { render(<CustomerForm />); const field = form().elements.firstName; expect(field).not.toBeNull(); expect(field.tagName).toEqual("INPUT...