Changeset View
Changeset View
Standalone View
Standalone View
web/cashtab/src/utils/__tests__/chronik.test.js
Show First 20 Lines • Show All 46 Lines • ▼ Show 20 Lines | import { | ||||
txHistoryTokenInfoById, | txHistoryTokenInfoById, | ||||
mockAirdropTx, | mockAirdropTx, | ||||
mockWalletWithPrivateKeys, | mockWalletWithPrivateKeys, | ||||
mockSentEncryptedTx, | mockSentEncryptedTx, | ||||
mockReceivedEncryptedTx, | mockReceivedEncryptedTx, | ||||
mockTokenBurnTx, | mockTokenBurnTx, | ||||
mockTokenBurnWithDecimalsTx, | mockTokenBurnWithDecimalsTx, | ||||
mockReceivedEtokenTx, | mockReceivedEtokenTx, | ||||
mockSwapWallet, | |||||
mockSwapTx, | |||||
} from '../__mocks__/chronikTxHistory'; | } from '../__mocks__/chronikTxHistory'; | ||||
import { | import { | ||||
mintingTxTabCash, | mintingTxTabCash, | ||||
mintingAddressTabCash, | mintingAddressTabCash, | ||||
mintingAddressBchFormatTabCash, | mintingAddressBchFormatTabCash, | ||||
mintingHash160TabCash, | mintingHash160TabCash, | ||||
mintingTxPoW, | mintingTxPoW, | ||||
mintingAddressPoW, | mintingAddressPoW, | ||||
▲ Show 20 Lines • Show All 682 Lines • ▼ Show 20 Lines | ).toStrictEqual({ | ||||
airdropTokenId: '', | airdropTokenId: '', | ||||
opReturnMessage: '', | opReturnMessage: '', | ||||
isCashtabMessage: false, | isCashtabMessage: false, | ||||
isEncryptedMessage: false, | isEncryptedMessage: false, | ||||
decryptionSuccess: false, | decryptionSuccess: false, | ||||
replyAddress: 'ecash:qp89xgjhcqdnzzemts0aj378nfe2mhu9yvxj9nhgg6', | replyAddress: 'ecash:qp89xgjhcqdnzzemts0aj378nfe2mhu9yvxj9nhgg6', | ||||
}); | }); | ||||
}); | }); | ||||
it(`Correctly parses an incoming eToken tx that send only XEC to the Cashtab user recipient`, () => { | |||||
const BCH = new BCHJS({ | |||||
restURL: 'https://FakeBchApiUrlToEnsureMocksOnly.com', | |||||
}); | |||||
// This function needs to be mocked as bch-js functions that require Buffer types do not work in jest environment | |||||
BCH.Address.hash160ToCash = jest | |||||
.fn() | |||||
.mockReturnValue( | |||||
'bitcoincash:qznaw38py34zpunz8rs9zrac9kxlsnxg95m2sf5czz', | |||||
); | |||||
expect( | |||||
parseChronikTx(BCH, mockSwapTx, mockSwapWallet, txHistoryTokenInfoById), | |||||
).toStrictEqual({ | |||||
incoming: true, | |||||
xecAmount: '10', | |||||
originatingHash160: '205c792fff2ffc891e986246760ee1079fa5a369', | |||||
isEtokenTx: false, | |||||
airdropFlag: false, | |||||
airdropTokenId: '', | |||||
opReturnMessage: '', | |||||
isCashtabMessage: false, | |||||
isEncryptedMessage: false, | |||||
decryptionSuccess: false, | |||||
replyAddress: 'ecash:qznaw38py34zpunz8rs9zrac9kxlsnxg95z8yz0zy4', | |||||
}); | |||||
}); | |||||
it(`getMintAddress successfully parses chronik.tx response to determine mint address for TabCash token`, async () => { | it(`getMintAddress successfully parses chronik.tx response to determine mint address for TabCash token`, async () => { | ||||
// Initialize chronik | // Initialize chronik | ||||
const chronik = new ChronikClient( | const chronik = new ChronikClient( | ||||
'https://FakeChronikUrlToEnsureMocksOnly.com', | 'https://FakeChronikUrlToEnsureMocksOnly.com', | ||||
); | ); | ||||
const BCH = new BCHJS({ | const BCH = new BCHJS({ | ||||
restURL: 'https://FakeBchApiUrlToEnsureMocksOnly.com', | restURL: 'https://FakeBchApiUrlToEnsureMocksOnly.com', | ||||
▲ Show 20 Lines • Show All 120 Lines • Show Last 20 Lines |