mirror of
https://github.com/fullstack-cash/bch-api.git
synced 2026-09-21 16:52:04 -07:00
feat(tests): Updated tests for getTokenData() in bch-api
This commit is contained in:
@@ -151,6 +151,34 @@ describe('#PsfSlpIndexer', () => {
|
||||
return this.skip()
|
||||
}
|
||||
|
||||
const result = await uut.getTokenStats(req, res)
|
||||
const tokenData = result.tokenData
|
||||
assert.property(tokenData, 'type')
|
||||
assert.property(tokenData, 'ticker')
|
||||
assert.property(tokenData, 'name')
|
||||
assert.property(tokenData, 'tokenId')
|
||||
assert.property(tokenData, 'documentUri')
|
||||
assert.property(tokenData, 'documentHash')
|
||||
assert.property(tokenData, 'decimals')
|
||||
assert.property(tokenData, 'mintBatonIsActive')
|
||||
assert.property(tokenData, 'tokensInCirculationBN')
|
||||
assert.property(tokenData, 'tokensInCirculationStr')
|
||||
assert.property(tokenData, 'blockCreated')
|
||||
assert.property(tokenData, 'totalBurned')
|
||||
assert.property(tokenData, 'totalMinted')
|
||||
assert.property(tokenData, 'txs')
|
||||
})
|
||||
it('should GET tokens stats with tx hisroty', async function () {
|
||||
req.body.tokenId =
|
||||
'a4fb5c2da1aa064e25018a43f9165040071d9e984ba190c222a7f59053af84b2'
|
||||
req.body.withTxHistory = true
|
||||
// Mock the RPC call for unit tests.
|
||||
if (process.env.TEST === 'unit') {
|
||||
sandbox.stub(uut.axios, 'post').resolves({ data: mockData.tokenStats })
|
||||
} else {
|
||||
return this.skip()
|
||||
}
|
||||
|
||||
const result = await uut.getTokenStats(req, res)
|
||||
const tokenData = result.tokenData
|
||||
assert.property(tokenData, 'type')
|
||||
@@ -826,6 +854,25 @@ describe('#PsfSlpIndexer', () => {
|
||||
)
|
||||
}
|
||||
})
|
||||
it('should skip mutable data if was not generated by the MDA private key', async () => {
|
||||
try {
|
||||
sandbox.stub(uut, 'decodeOpReturn').resolves(mockData.decodedOpReturn)
|
||||
|
||||
sandbox.stub(uut.bchjs.Electrumx, 'transactions').resolves(mockData.transactions)
|
||||
sandbox.stub(uut.bchjs.Transaction, 'get').resolves(mockData.txData)
|
||||
|
||||
const documentHash = 'c37ba29f40ecc61662ea56324fdb72a5f1e66add2078854c2144765b9030358a'
|
||||
|
||||
await uut.getMutableData(documentHash)
|
||||
assert.fail('unexpected code path')
|
||||
} catch (error) {
|
||||
assert.include(
|
||||
error.message,
|
||||
'CID could not be found in OP_RETURN data',
|
||||
'Error message expected'
|
||||
)
|
||||
}
|
||||
})
|
||||
it('should return mutable data', async () => {
|
||||
sandbox.stub(uut, 'decodeOpReturn')
|
||||
.onFirstCall().resolves(mockData.decodedOpReturn)
|
||||
@@ -833,6 +880,8 @@ describe('#PsfSlpIndexer', () => {
|
||||
.onThirdCall().resolves(mockData.decodedOpReturn)
|
||||
|
||||
sandbox.stub(uut.bchjs.Electrumx, 'transactions').resolves(mockData.transactions)
|
||||
sandbox.stub(uut.bchjs.Transaction, 'get').resolves(mockData.txDataByMDA)
|
||||
|
||||
sandbox.stub(uut, 'getCIDData').resolves(mockData.mutableData)
|
||||
|
||||
const documentHash = 'c37ba29f40ecc61662ea56324fdb72a5f1e66add2078854c2144765b9030358a'
|
||||
|
||||
Reference in New Issue
Block a user