@kstasi/jest-tolk
Version:
<p align="center"> <picture> <source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/tonkite/tonkite/main/assets/logo-dark.svg"> <img alt="tonkite logo" src="https://raw.githubusercontent.com/tonkite/tonkite/main/a
55 lines (54 loc) • 2.09 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const core_1 = require("@ton/core");
const fixture_1 = require("./fixture");
const utils_1 = require("./utils");
jest.mock('./utils', () => ({
runGetMethodWithDefaults: jest.fn(),
}));
describe('extractFixtures', () => {
let executor;
let code;
let data;
let fixtureGetters;
beforeEach(() => {
executor = {}; // Mock or create a real Executor instance
code = core_1.Cell.EMPTY;
data = core_1.Cell.EMPTY;
fixtureGetters = [
{ methodName: 'fixtureA' },
{ methodName: 'fixtureB', methodId: 1234 },
];
});
it('extracts fixtures successfully', async () => {
utils_1.runGetMethodWithDefaults.mockResolvedValue({
output: {
success: true,
vm_exit_code: 0,
stack: (0, core_1.serializeTuple)([{ type: 'int', value: 42n }]).toBoc(),
},
});
const fixtures = await (0, fixture_1.extractFixtures)(executor, code, data, fixtureGetters);
expect(fixtures).toHaveProperty('fixtureA');
expect(fixtures).toHaveProperty('fixtureB');
expect(utils_1.runGetMethodWithDefaults).toHaveBeenCalledTimes(2);
});
it('throws an error if a method fails', async () => {
utils_1.runGetMethodWithDefaults.mockResolvedValueOnce({
output: {
success: false,
error: 'Some error',
},
});
await expect((0, fixture_1.extractFixtures)(executor, code, data, fixtureGetters)).rejects.toThrow('Fixture getter fixtureA failed: Some error');
});
it('throws an error if vm_exit_code is not zero', async () => {
utils_1.runGetMethodWithDefaults.mockResolvedValueOnce({
output: {
success: true,
vm_exit_code: 1,
},
});
await expect((0, fixture_1.extractFixtures)(executor, code, data, fixtureGetters)).rejects.toThrow('Fixture getter fixtureA failed: 1');
});
});