import assert from 'node:assert/strict' import test from 'node:test' import { changedPublishedMigrations } from './migration-integrity.js' test('迁移完整性:新增迁移允许,已发布迁移任何修改都拒绝', () => { assert.deepEqual( changedPublishedMigrations( [ 'A\tsrc/db/migrations/153_new_feature.sql', 'M\tsrc/db/migrations/146_voucher_consume_fallback_channel.sql', 'D\tsrc/db/migrations/145_fulfillment_current_attempt_latest.sql', ].join('\n'), ), [ 'M src/db/migrations/146_voucher_consume_fallback_channel.sql', 'D src/db/migrations/145_fulfillment_current_attempt_latest.sql', ], ) }) test('迁移完整性:保护范围不由固定版本号截断', () => { assert.deepEqual( changedPublishedMigrations('M\tsrc/db/migrations/120_fulfillment_routing_invariants.sql'), ['M src/db/migrations/120_fulfillment_routing_invariants.sql'], ) })