November 2013
Intermediate to advanced
200 pages
4h 31m
English
In the previous chapter, we used Rails testing facilities to ensure a PDF was sent back to the client. To guarantee our project works as a contact form, we should create an actual form, submit it to the appropriate endpoint, and verify the email was sent. Those kind of tests are particularly hard to write using only the Rails testing tools. Most of the time, we end up writing direct requests to endpoints:
| | post "/contact_form", contact_form: |
| | { email: "jose@example.com", message: "hello"} |
Writing a test using post and explicit parameters is fine for some scenarios, particularly for APIs, but it falls flat when testing a contact-form workflow. For example, how do we guarantee there’s a Submit button on ...