@yoroi/portfolio
Version:
The Portfolio package of Yoroi SDK
62 lines • 2.16 kB
JavaScript
import { TokenAmountSchema, isTokenAmount, parseTokenAmount } from './token-amount';
import { tokenInfoMocks } from '../adapters/token-info.mocks';
describe('TokenAmountSchema', () => {
it('should validate a valid token balance', () => {
const validTokenBalance = {
info: tokenInfoMocks.ftNoTicker,
quantity: BigInt(10000000000)
};
const result = TokenAmountSchema.safeParse(validTokenBalance);
expect(result.success).toBe(true);
});
it('should not validate an invalid token balance', () => {
const invalidTokenBalance = {
info: tokenInfoMocks.ftNoTicker,
quantity: '10000000000'
};
const result = TokenAmountSchema.safeParse(invalidTokenBalance);
expect(result.success).toBe(false);
});
});
describe('isTokenAmount', () => {
it('should return true for a valid token balance', () => {
const validTokenBalance = {
info: tokenInfoMocks.ftNoTicker,
quantity: BigInt(10000000000)
};
const result = isTokenAmount(validTokenBalance);
expect(result).toBe(true);
});
it('should return false for an invalid token balance', () => {
const invalidTokenBalance = {
info: tokenInfoMocks.ftNoTicker,
quantity: '10000000000'
};
const result = isTokenAmount(invalidTokenBalance);
expect(result).toBe(false);
});
});
describe('parseTokenAmount', () => {
it('should return a valid token balance', () => {
const validTokenBalance = {
info: tokenInfoMocks.ftNoTicker,
quantity: BigInt(10000000000)
};
const result = parseTokenAmount(validTokenBalance);
expect(result).toEqual(validTokenBalance);
});
it('should return undefined for an invalid token balance', () => {
const invalidTokenBalance = {
info: tokenInfoMocks.ftNoTicker,
quantity: '10000000000'
};
const result = parseTokenAmount(invalidTokenBalance);
expect(result).toBeUndefined();
});
it('should return undefined for an unknown data type', () => {
const unknownData = 'unknown';
const result = parseTokenAmount(unknownData);
expect(result).toBeUndefined();
});
});
//# sourceMappingURL=token-amount.test.js.map