UNPKG

filecoin-pin

Version:

Bridge IPFS content to Filecoin Onchain Cloud using familiar tools

26 lines 1.25 kB
import { describe, expect, it } from 'vitest'; import { getStorageScale, STORAGE_SCALE_MAX } from '../../synapse/payments.js'; describe('getStorageScale', () => { it('returns 1 for extremely large TiB', () => { const storageTiB = Number.MAX_SAFE_INTEGER; // ensures floor(MAX_SAFE / storageTiB) === 0 expect(getStorageScale(storageTiB)).toBe(1); }); it('returns STORAGE_SCALE_MAX for tiny TiB', () => { const storageTiB = 1 / (STORAGE_SCALE_MAX * 10); expect(getStorageScale(storageTiB)).toBe(STORAGE_SCALE_MAX); }); it('returns 1 for zero and negative inputs', () => { expect(getStorageScale(0)).toBe(1); expect(getStorageScale(-123.45)).toBe(1); }); it('returns a limited scale when constrained by MAX_SAFE', () => { const expectedScale = 12_345; const storageTiB = Number.MAX_SAFE_INTEGER / expectedScale; expect(getStorageScale(storageTiB)).toBe(expectedScale); }); it('returns STORAGE_SCALE_MAX exactly at the threshold boundary', () => { const storageTiB = Number.MAX_SAFE_INTEGER / STORAGE_SCALE_MAX; expect(getStorageScale(storageTiB)).toBe(STORAGE_SCALE_MAX); }); }); //# sourceMappingURL=synapse-payments.test.js.map