PHP WebShell
Текущая директория: /opt/BitGoJS/node_modules/@bitgo-forks/avalanchejs/src/utils
Просмотр файла: sort.spec.ts
import { jest } from '@jest/globals';
import { testCodec, testPVMCodec } from '../fixtures/codec';
import {
getStakeableLockedTransferableOutForTest,
getTransferableOutForTest,
} from '../fixtures/transactions';
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
// @ts-ignore
jest.unstable_mockModule('./bytesCompare', () => ({
bytesCompare: jest.fn(),
}));
const { bytesCompare } = await import('./bytesCompare');
const { compareTransferableOutputs } = await import('./sort');
describe('compareTransferableOutputs', () => {
const avmCodec = testCodec();
const pvmCodec = testPVMCodec();
beforeEach(() => {
jest.restoreAllMocks();
(bytesCompare as jest.Mock).mockReturnValueOnce(-1);
});
it('sorts transferable outputs correctly', () => {
const transferableOutput1 = getTransferableOutForTest(1n);
const transferableOutput2 = getTransferableOutForTest(2n);
const result = compareTransferableOutputs(
transferableOutput1,
transferableOutput2,
);
expect(result).toEqual(-1);
expect(bytesCompare).toBeCalledTimes(1);
expect(bytesCompare).toBeCalledWith(
transferableOutput1.toBytes(avmCodec),
transferableOutput2.toBytes(avmCodec),
);
});
it('sorts stakeable locked outs correctly', () => {
const transferableOutput1 = getStakeableLockedTransferableOutForTest(
1n,
100n,
);
const transferableOutput2 = getStakeableLockedTransferableOutForTest(
2n,
200n,
);
const result = compareTransferableOutputs(
transferableOutput1,
transferableOutput2,
);
expect(result).toEqual(-1);
expect(bytesCompare).toBeCalledWith(
transferableOutput1.toBytes(pvmCodec),
transferableOutput2.toBytes(pvmCodec),
);
});
it('sorts transferable outputs and stakeable locked outs correctly', () => {
const transferableOutput1 = getTransferableOutForTest(1n);
const transferableOutput2 = getStakeableLockedTransferableOutForTest(
1n,
100n,
);
const result = compareTransferableOutputs(
transferableOutput1,
transferableOutput2,
);
expect(result).toEqual(-1);
expect(bytesCompare).toBeCalledWith(
transferableOutput1.toBytes(avmCodec),
transferableOutput2.toBytes(pvmCodec),
);
});
});
Выполнить команду
Для локальной разработки. Не используйте в интернете!