import assert from 'node:assert/strict' import { resolvePaymentPreset, getActiveSampleCount, isInstallmentPayMode, isPayModeValidForSampleCount } from '../src/utils/protocol-payment-presets' const fq1 = resolvePaymentPreset(1, 'fq')! assert.equal(fq1.contractAmount, 25880) assert.deepEqual(fq1.installmentAmounts, [6480, 3880, 3880, 3880, 3880, 3880]) assert.equal( fq1.installmentAmounts!.reduce((s, v) => s + v, 0), fq1.contractAmount ) const djfq2 = resolvePaymentPreset(2, 'djfq')! assert.equal(djfq2.contractAmount, 41000) assert.equal(djfq2.installmentCount, 4) assert.deepEqual(djfq2.installmentAmounts, [29360, 3880, 3880, 3880]) assert.equal( djfq2.installmentAmounts!.reduce((s, v) => s + v, 0), djfq2.contractAmount ) assert.equal(getActiveSampleCount([{ sampleStatus: 'ycj' }]), 1) assert.equal(getActiveSampleCount([{ sampleStatus: 'ycj' }, { sampleStatus: 'yzf' }]), 1) assert.equal( getActiveSampleCount([{ sampleStatus: 'ycj' }, { sampleStatus: 'ycj' }]), 2 ) assert.equal(isInstallmentPayMode('djfq'), true) assert.equal(isInstallmentPayMode('dj'), false) assert.equal(isPayModeValidForSampleCount('djfq', 1), false) assert.equal(isPayModeValidForSampleCount('djfq', 2), true) console.log('protocol-payment-presets: OK')