Files
trezor-suite/packages/blockchain-link/tests/unit/getBlockHash.test.ts
2024-11-06 18:20:26 +01:00

42 lines
1.3 KiB
TypeScript

import { BackendWebsocketServerMock } from '@trezor/e2e-utils';
import workers from './worker';
import BlockchainLink from '../../src';
import fixtures from './fixtures/getBlockHash';
workers.forEach(instance => {
describe(`getBlockHash: ${instance.name}`, () => {
let server: BackendWebsocketServerMock;
let blockchain: BlockchainLink;
const setup = async () => {
server = await BackendWebsocketServerMock.create(instance.name);
blockchain = new BlockchainLink({
...instance,
server: [`ws://localhost:${server.options.port}`],
debug: false,
});
};
const teardown = async () => {
await blockchain.disconnect();
blockchain.dispose();
await server.close();
};
beforeAll(setup);
afterAll(teardown);
fixtures[instance.name].forEach(f => {
it(f.description, async () => {
server.setFixtures(f.serverFixtures);
const promise = blockchain.getBlockHash(f.params);
if (!f.error) {
expect(await promise).toEqual(f.response);
} else {
await expect(promise).rejects.toThrow(f.error);
}
});
});
});
});