UNPKG

@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
"use strict"; 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'); }); });