UNPKG

@algodex/algodex-sdk-patch

Version:

API calls for interacting with the Algorand blockchain

59 lines (44 loc) 2.55 kB
const AlgodexInternal = require('../algodex_internal_api.js'); const AlgodexApi = require('../algodex_api.js'); const JEST_MINUTE_TIMEOUT = 60 * 1000; describe('Test Splitting Initial Order', () => { test('Test getCutOrderTimes()', async () => { const getCutOrderTimes = AlgodexApi.getCutOrderTimes; let times = getCutOrderTimes( {asaBalance: 40, isASAEscrow: true} ); expect(times.cutOrderAmount).toBe(10); expect(times.splitTimes).toBe(4); times = getCutOrderTimes( {asaBalance: 160, isASAEscrow: true} ); expect(times.cutOrderAmount).toBe(40); expect(times.splitTimes).toBe(4); times = getCutOrderTimes( {asaBalance: 100000, isASAEscrow: true} ); expect(times.cutOrderAmount).toBe(25000); expect(times.splitTimes).toBe(4); times = getCutOrderTimes( {asaBalance: 3, isASAEscrow: true} ); expect(times.cutOrderAmount).toBe(1); expect(times.splitTimes).toBe(3); times = getCutOrderTimes( {asaBalance: 1, isASAEscrow: true} ); expect(times.cutOrderAmount).toBe(1); expect(times.splitTimes).toBe(1); times = getCutOrderTimes( {price: 0.25, algoBalance: 500000, isASAEscrow: false} ); expect(times.cutOrderAmount).toBe(500000); expect(times.splitTimes).toBe(1); times = getCutOrderTimes( {price: 0.25, algoBalance: 700000, isASAEscrow: false} ); expect(times.cutOrderAmount).toBe(500000); expect(times.splitTimes).toBe(1); times = getCutOrderTimes( {price: 0.25, algoBalance: 900000, isASAEscrow: false} ); expect(times.cutOrderAmount).toBe(500000); expect(times.splitTimes).toBe(1); times = getCutOrderTimes( {price: 0.25, algoBalance: 1300000, isASAEscrow: false} ); expect(times.cutOrderAmount).toBe(500000); expect(times.splitTimes).toBe(2); times = getCutOrderTimes( {price: 0.25, algoBalance: 999900000, isASAEscrow: false} ); expect(times.cutOrderAmount).toBe(249975000); expect(times.splitTimes).toBe(4); times = getCutOrderTimes( {price: 1000000, algoBalance: 999900000, isASAEscrow: false} ); expect(times.cutOrderAmount).toBe(249975000); expect(times.splitTimes).toBe(4); times = getCutOrderTimes( {price: 1000000, algoBalance: 1200000, isASAEscrow: false} ); expect(times.cutOrderAmount).toBe(1000001); expect(times.splitTimes).toBe(1); }, JEST_MINUTE_TIMEOUT); });