@yoroi/explorers
Version:
The Explorers package of Yoroi SDK
215 lines (204 loc) • 8.59 kB
text/typescript
import {Chain, Explorers} from '@yoroi/types'
import {explorerManager} from './explorer-manager'
describe('explorerManager', () => {
it('should have the correct structure', () => {
expect(explorerManager).toEqual({
[Chain.Network.Mainnet]: {
[Explorers.Explorer.CardanoScan]: {
token: expect.any(Function),
address: expect.any(Function),
tx: expect.any(Function),
pool: expect.any(Function),
stake: expect.any(Function),
},
[Explorers.Explorer.CExplorer]: {
token: expect.any(Function),
address: expect.any(Function),
tx: expect.any(Function),
pool: expect.any(Function),
stake: expect.any(Function),
},
},
[Chain.Network.Preprod]: {
[Explorers.Explorer.CardanoScan]: {
token: expect.any(Function),
address: expect.any(Function),
tx: expect.any(Function),
pool: expect.any(Function),
stake: expect.any(Function),
},
[Explorers.Explorer.CExplorer]: {
token: expect.any(Function),
address: expect.any(Function),
tx: expect.any(Function),
pool: expect.any(Function),
stake: expect.any(Function),
},
},
[Chain.Network.Sancho]: {
[Explorers.Explorer.CardanoScan]: {
token: expect.any(Function),
address: expect.any(Function),
tx: expect.any(Function),
pool: expect.any(Function),
stake: expect.any(Function),
},
[Explorers.Explorer.CExplorer]: {
token: expect.any(Function),
address: expect.any(Function),
tx: expect.any(Function),
pool: expect.any(Function),
stake: expect.any(Function),
},
},
[Chain.Network.Preview]: {
[Explorers.Explorer.CardanoScan]: {
token: expect.any(Function),
address: expect.any(Function),
tx: expect.any(Function),
pool: expect.any(Function),
stake: expect.any(Function),
},
[Explorers.Explorer.CExplorer]: {
token: expect.any(Function),
address: expect.any(Function),
tx: expect.any(Function),
pool: expect.any(Function),
stake: expect.any(Function),
},
},
})
})
it('should generate the correct URLs for Mainnet', () => {
const mainnetExplorer = explorerManager[Chain.Network.Mainnet]
expect(
mainnetExplorer[Explorers.Explorer.CardanoScan].token('fingerprint'),
).toBe('https://cardanoscan.io/token/fingerprint')
expect(
mainnetExplorer[Explorers.Explorer.CardanoScan].address('address'),
).toBe('https://cardanoscan.io/address/address')
expect(mainnetExplorer[Explorers.Explorer.CardanoScan].tx('txHash')).toBe(
'https://cardanoscan.io/transaction/txHash',
)
expect(mainnetExplorer[Explorers.Explorer.CardanoScan].pool('poolId')).toBe(
'https://cardanoscan.io/pool/poolId',
)
expect(
mainnetExplorer[Explorers.Explorer.CardanoScan].stake('stakeAddress'),
).toBe('https://cardanoscan.io/stakeKey/stakeAddress')
expect(
mainnetExplorer[Explorers.Explorer.CExplorer].token('fingerprint'),
).toBe('https://cexplorer.io/asset/fingerprint')
expect(
mainnetExplorer[Explorers.Explorer.CExplorer].address('address'),
).toBe('https://cexplorer.io/address/address')
expect(mainnetExplorer[Explorers.Explorer.CExplorer].tx('txHash')).toBe(
'https://cexplorer.io/tx/txHash',
)
expect(mainnetExplorer[Explorers.Explorer.CExplorer].pool('poolId')).toBe(
'https://cexplorer.io/pool/poolId',
)
expect(
mainnetExplorer[Explorers.Explorer.CExplorer].stake('stakeAddress'),
).toBe('https://cexplorer.io/stake/stakeAddress')
})
it('should generate the correct URLs for Preprod', () => {
const preprodExplorer = explorerManager[Chain.Network.Preprod]
expect(
preprodExplorer[Explorers.Explorer.CardanoScan].token('fingerprint'),
).toBe('https://preprod.cardanoscan.io/token/fingerprint')
expect(
preprodExplorer[Explorers.Explorer.CardanoScan].address('address'),
).toBe('https://preprod.cardanoscan.io/address/address')
expect(preprodExplorer[Explorers.Explorer.CardanoScan].tx('txHash')).toBe(
'https://preprod.cardanoscan.io/transaction/txHash',
)
expect(preprodExplorer[Explorers.Explorer.CardanoScan].pool('poolId')).toBe(
'https://preprod.cardanoscan.io/pool/poolId',
)
expect(
preprodExplorer[Explorers.Explorer.CardanoScan].stake('stakeAddress'),
).toBe('https://preprod.cardanoscan.io/stakeKey/stakeAddress')
expect(
preprodExplorer[Explorers.Explorer.CExplorer].token('fingerprint'),
).toBe('https://preprod.cexplorer.io/asset/fingerprint')
expect(
preprodExplorer[Explorers.Explorer.CExplorer].address('address'),
).toBe('https://preprod.cexplorer.io/address/address')
expect(preprodExplorer[Explorers.Explorer.CExplorer].tx('txHash')).toBe(
'https://preprod.cexplorer.io/tx/txHash',
)
expect(preprodExplorer[Explorers.Explorer.CExplorer].pool('poolId')).toBe(
'https://preprod.cexplorer.io/pool/poolId',
)
expect(
preprodExplorer[Explorers.Explorer.CExplorer].stake('stakeAddress'),
).toBe('https://preprod.cexplorer.io/stake/stakeAddress')
})
it('should generate the correct URLs for Sancho', () => {
const sanchoExplorer = explorerManager[Chain.Network.Sancho]
expect(
sanchoExplorer[Explorers.Explorer.CardanoScan].token('fingerprint'),
).toBe('https://sancho.cardanoscan.io/token/fingerprint')
expect(
sanchoExplorer[Explorers.Explorer.CardanoScan].address('address'),
).toBe('https://sancho.cardanoscan.io/address/address')
expect(sanchoExplorer[Explorers.Explorer.CardanoScan].tx('txHash')).toBe(
'https://sancho.cardanoscan.io/transaction/txHash',
)
expect(sanchoExplorer[Explorers.Explorer.CardanoScan].pool('poolId')).toBe(
'https://sancho.cardanoscan.io/pool/poolId',
)
expect(
sanchoExplorer[Explorers.Explorer.CardanoScan].stake('stakeAddress'),
).toBe('https://sancho.cardanoscan.io/stakeKey/stakeAddress')
expect(
sanchoExplorer[Explorers.Explorer.CExplorer].token('fingerprint'),
).toBe('https://sancho.cexplorer.io/asset/fingerprint')
expect(
sanchoExplorer[Explorers.Explorer.CExplorer].address('address'),
).toBe('https://sancho.cexplorer.io/address/address')
expect(sanchoExplorer[Explorers.Explorer.CExplorer].tx('txHash')).toBe(
'https://sancho.cexplorer.io/tx/txHash',
)
expect(sanchoExplorer[Explorers.Explorer.CExplorer].pool('poolId')).toBe(
'https://sancho.cexplorer.io/pool/poolId',
)
expect(
sanchoExplorer[Explorers.Explorer.CExplorer].stake('stakeAddress'),
).toBe('https://sancho.cexplorer.io/stake/stakeAddress')
})
it('should generate the correct URLs for Preview', () => {
const previewExplorer = explorerManager[Chain.Network.Preview]
expect(
previewExplorer[Explorers.Explorer.CardanoScan].token('fingerprint'),
).toBe('https://preview.cardanoscan.io/token/fingerprint')
expect(
previewExplorer[Explorers.Explorer.CardanoScan].address('address'),
).toBe('https://preview.cardanoscan.io/address/address')
expect(previewExplorer[Explorers.Explorer.CardanoScan].tx('txHash')).toBe(
'https://preview.cardanoscan.io/transaction/txHash',
)
expect(previewExplorer[Explorers.Explorer.CardanoScan].pool('poolId')).toBe(
'https://preview.cardanoscan.io/pool/poolId',
)
expect(
previewExplorer[Explorers.Explorer.CardanoScan].stake('stakeAddress'),
).toBe('https://preview.cardanoscan.io/stakeKey/stakeAddress')
expect(
previewExplorer[Explorers.Explorer.CExplorer].token('fingerprint'),
).toBe('https://preview.cexplorer.io/asset/fingerprint')
expect(
previewExplorer[Explorers.Explorer.CExplorer].address('address'),
).toBe('https://preview.cexplorer.io/address/address')
expect(previewExplorer[Explorers.Explorer.CExplorer].tx('txHash')).toBe(
'https://preview.cexplorer.io/tx/txHash',
)
expect(previewExplorer[Explorers.Explorer.CExplorer].pool('poolId')).toBe(
'https://preview.cexplorer.io/pool/poolId',
)
expect(
previewExplorer[Explorers.Explorer.CExplorer].stake('stakeAddress'),
).toBe('https://preview.cexplorer.io/stake/stakeAddress')
})
})