/
mustreets
/
CreateTransactions
Обзор
Документация
Войти
/
mustreets
/
CreateTransactions
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
test/wallet/CreateTransaction.snapshot.test.ts
53 строки
2 KB
Slava
Initialize project with essential configurations and structures
14 май 2026, 22:23
14 май 2026, 22:23
a89cd26
Код
Авторство
О чём код?
import { describe, expect, it, vi } from "vitest"; import { CreateTransaction } from "../../libJS/wallet/class.CreateTransaction"; import { Wallet } from "../../libJS/wallet/types"; import { createSoftwareProvider, createValidValueTransfer, defaultSendTransactionMock } from "../helpers/mockProvider"; describe("CreateTransaction snapshot", () => { it("returns a deeply frozen snapshot with stable shape", () => { const tx = new CreateTransaction({ provider: createSoftwareProvider(undefined), sendTransaction: defaultSendTransactionMock(), value: createValidValueTransfer(), wallet: Wallet.SOFTWARE_WALLET, }); const snap = tx.createSnapshot(); expect(Object.isFrozen(snap)).toBe(true); expect(snap).toMatchObject({ expiresAt: expect.any(Number), payloadHash: expect.any(String), timestamp: expect.any(Number), transaction_id: expect.any(String), wallet: Wallet.SOFTWARE_WALLET, }); }); it("changes payloadHash when timestamp differs", () => { const provider = createSoftwareProvider(undefined); const send = defaultSendTransactionMock(); const value = createValidValueTransfer(); const t0 = 1_700_000_000_000; const t1 = 1_700_000_060_000; const spy = vi.spyOn(Date, "now"); spy.mockReturnValue(t0); const a = new CreateTransaction({ provider, sendTransaction: send, value, wallet: Wallet.SOFTWARE_WALLET, }).createSnapshot(); spy.mockReturnValue(t1); const b = new CreateTransaction({ provider, sendTransaction: send, value, wallet: Wallet.SOFTWARE_WALLET, }).createSnapshot(); expect(a.payloadHash).not.toEqual(b.payloadHash); spy.mockRestore(); }); });