The minimum token length is set to 24 due to security constraints. We
can now specify a longer length through the length: parameter. This is
especially useful for cases when your data storage is case-insensitive
and you want to increase your entropy.
This reverts commit 224eddfc0e, reversing
changes made to 9d681fc74c.
When merging the pull request, I misunderstood `has_secure_token` as declaring a model
has a token from birth and through the rest of its lifetime.
Therefore, supporting conditional creation doesn't make sense. You should never mark a
model as having a secure token if there's a time when it shouldn't have it on creation.
When running passing condition assertions in the same test the user had already
been saved at that point.
Split out so we have a not yet persisted user.
Rename condition tests to improve clarity a bit.