See the docstring of the unit test added by: #37804
It would be good to also test more cases, including:
- When migration occurs which is non-forwarding, it does not affect the childen of this block.
- When the library migration HAS happend but the LC block migration HASN'T YET, then the fields of
the block and its children will be unchanged, but the user will be prompted to upgrade.
- When some or all of the blocks already exist in the target library before the migration, then
the migration target versions will NOT all be 1, and the upstream_versions should reflect that.
- When the target library blocks have been edited and published AFTER the legacy library migration
but BEFORE the LC block migration, then executing the LC block migration will set upstream_version
based on the migration target versions, NOT the latest versions.
See the docstring of the unit test added by: #37804