28 lines
947 B
TypeScript
28 lines
947 B
TypeScript
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'],
|
|
)
|
|
})
|