discourse/spec/components/validators
Sam a7628c1d74 FIX: use ordered_posts for last post check, not the posts relation
The `posts` relation on `Topic` is not ordered. Using `Topic.posts.first`
is basically the same as asking for a random post, it will depend on DB
order. This breaks on Topic merge and split for example.

Additionally, a huge problem with that is that it forces active record down
a slow path. `Topic.posts.first` is extremely slow on giant topics, since
it has no default ordering it appears AR materializes the entire set prior
to doing `first`.

This commit also illustrates the importance of testing, initially I only
fixed the second instance of the problem in `post_validator.rb` but testing
revealed that the problem was repeated at the top of the file.

Longer term we should consider a larger change of default ordering the posts
relations so people do not fall down this trap anymore.
2019-01-18 13:18:40 +11:00
..
allowed_ip_address_validator_spec.rb
email_setting_validator_spec.rb
email_validator_spec.rb
enable_local_logins_via_email_validator_spec.rb
enable_sso_validator_spec.rb
integer_setting_validator_spec.rb
ip_address_format_validator_spec.rb
max_emojis_validator_spec.rb FIX: count emoji shortcuts in topic title 2018-10-22 13:44:05 +05:30
max_username_length_validator_spec.rb UX: Improve error messages for minimum and maximum username lengths. 2018-10-02 13:10:20 +08:00
min_username_length_validator_spec.rb UX: Improve error messages for minimum and maximum username lengths. 2018-10-02 13:10:20 +08:00
password_validator_spec.rb
post_validator_spec.rb FIX: use ordered_posts for last post check, not the posts relation 2019-01-18 13:18:40 +11:00
quality_title_validator_spec.rb
regex_presence_validator_spec.rb
regex_setting_validator_spec.rb
reply_by_email_address_validator_spec.rb DEV: Refactor some mail receiver related specs. 2018-08-21 14:00:45 +08:00
reply_by_email_enabled_validator_spec.rb
sso_overrides_email_validator_spec.rb
string_setting_validator_spec.rb
topic_title_length_validator_spec.rb
upload_validator_spec.rb FEATURE: Upload Site Settings. (#6573) 2018-11-14 15:03:02 +08:00
url_validator_spec.rb
user_full_name_validator_spec.rb
username_setting_validator_spec.rb