[ActionMailer] Rename test/test_test to test/test_case_test
[ci skip] add line about text layout
AR#reset_column_information sometimes queries via table_exists?

so this assertion causes random test fail
MySQL: set connection collation along with the charset

Sets the connection collation to the database collation configured
in database.yml. Otherwise, `SET NAMES utf8mb4` will use the default
collation for that charset (utf8mb4_general_ci) when you may have chosen
a different collation, like utf8mb4_unicode_ci.

This only applies to literal string comparisons, not column values, so
it is unlikely to affect you.
Merge pull request #16752 from Shruti2791/shruti_workspace

[ci skip] add line about text layout
Merge pull request #16751 from seuros/rename

[ActionMailer] Rename test/test_test to test/test_case_test
Clean up grammar from #16752 [ci skip]
Allow polymorphic routes with nil when a route can still be drawn

Suppose you have two resources routed in the following manner:

```ruby
resources :blogs do
  resources :posts
end

resources :posts
```

When using polymorphic resource routing like `url_for([@blog, @post])`, and `@blog` is `nil` Rails should still try to match the route to the top-level posts resource.

Fixes #16754
Since /console is an optional feature, mention <%= console %> instead.

(/console is not mounted by default with web-console 2.0.)
Merge pull request #16747 from rsutphin/web-console-gemfile-comment

Clarify that /console is an optional feature
Keep it closer to the original wording [ci skip]
Merge pull request #16755 from codeodor/master

Allow polymorphic routes with nil when a route can still be drawn
Clear schema cache before each test
Break conditional branches into separate methods

This breaks the two branches of the `if reflection.last` and `else`
to clearer see where the two methods can be refactored. Eventually
we hope to remove the need for these separated methods altogether.

Move the first branch outside the loop

This code doesn't need to be in the loop because it it always affects
the last chain. `get_bind_values` and `add_constraints` must match
in this context because `get_bind_values` is the caching of `add_constraints`

Use each_cons to remove need for `chain[i + 1]`

The `chain[i + 1]` is confusing because it's not immediately obvious
what it's trying to achieve. The use of `each_cons` makes it clear
we need to get the `next_reflection`.