Refactor AR's validations_test.rb

The `:context` switch feature is implemented in
ActiveRecord::Validations#valid? method, so we should rename the test
names, and execute `valid?` in the test.

Change test name in AR's validations_test.rb

This test is testing save method's code
docs, make `ActionNotFound` public API. [ci skip]

This is a follow up to #15058.

This exception is regularly raised during development. This means it will enter
the user realm. We should provide an API page to show that this exception is public API.

/cc @schneems
Make TimeZone#parse behave more like Time#parse.

Namely, if the mday is omitted but any other upper components are, then instead
of supplying the mday from the current time, it defaults to 1.
Tidy up implementation of #15010
Replace :base with :in [ci skip]
Merge pull request #15059 from marcioj/patch-1

Replace :base with :in [ci skip]
Merge pull request #10662 from take/change-test-name-for-ActiveRecord--Validations#valid-

Refactor AR's validations_test.rb
flip conditional to use if/else instead of unless/else

Use if/else instead of unless/else so conditional reads better.
raise error if around callback has no yield

Around requires a yield. If an around_destroy callback is called
but there is no yield the callback will fire but the record
will not be destroyed and throw a record not destroyed error.

This isn't clear that a yield is required and this raise provides
that clarity.