tests/channel-update-package-error.unit.test.ts
Rama main · réplica de lectura del repositorio original.
import { describe, expect, it } from 'vitest'
import { channelUpdatePackageErrorKey } from '../src/services/channelUpdatePackageError.ts'
describe('channelUpdatePackageErrorKey', () => {
it('maps zip mismatch messages', () => {
expect(channelUpdatePackageErrorKey({
message: 'CHANNEL_ZIP_REQUIRED: Channel "production" requires a zip package, but bundle "1.2.3" has no zip.',
})).toBe('update-package-zip-required')
})
it('maps delta mismatch messages', () => {
expect(channelUpdatePackageErrorKey({
message: 'CHANNEL_DELTA_REQUIRED: Channel "production" requires delta files, but bundle "1.0.0" has none.',
})).toBe('update-package-delta-required')
})
it('maps API error codes', () => {
expect(channelUpdatePackageErrorKey({
error: 'channel_zip_required',
message: 'This channel requires a zip package, but the bundle has no zip.',
})).toBe('update-package-zip-required')
expect(channelUpdatePackageErrorKey({
error: 'channel_delta_required',
message: 'This channel requires a delta package, but the bundle has no delta files.',
})).toBe('update-package-delta-required')
})
it('ignores unrelated errors', () => {
expect(channelUpdatePackageErrorKey({ message: 'permission denied' })).toBeNull()
expect(channelUpdatePackageErrorKey(null)).toBeNull()
})
})