Class: ExampleAppPaperTrailChangesetTest
- Inherits:
-
ActiveSupport::TestCase
- Object
- ActiveSupport::TestCase
- ExampleAppPaperTrailChangesetTest
- Defined in:
- lib/installer_templates/example_app_tests/test/models/example_app_paper_trail_changeset_test.rb
Overview
Regression: PaperTrail (>= 13) deserializes ‘versions.object_changes` via `YAML.safe_load`, using `ActiveRecord.yaml_column_permitted_classes` as the allow-list. Rails 7’s default is ‘[Symbol]`, so any update that touches `updated_at` (an `ActiveSupport::TimeWithZone`) raises `Psych::DisallowedClass` inside `version.changeset`, and PaperTrail rescues that into `{}`. The inline_forms versions list then renders every changeset as `empty`.
The installer ships ‘config/initializers/paper_trail_yaml_safe_load.rb`, which extends the allow-list. This test fails if that initializer is missing or insufficient.