feat(tests): Updated tests for getTokenData() in bch-api

This commit is contained in:
Daniel Gonzalez
2022-05-01 16:46:26 -04:00
5 changed files with 355 additions and 2783 deletions
+49
View File
@@ -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'