It's obnoxious to have to set a bunch of "optional-to-users-but-required-for-validation" fields in tests, but really we should not be explicitly allowing invalid values.  This is why I like the "tweak function" table tests.