import { toNano, Address } from "ton"; import { ContractSystem } from "ton-emulator"; import {TONB} from '../output/jetton_TONB'; import { default_content } from '../utils/config'; import { TONBWallet } from '../output/jetton_TONBWallet'; describe('jetton', () => { it('should deploy and deposit the correct sum of money', async () => { // Create jetton let system = await ContractSystem.create(); let owner = system.treasure('owner'); let contract = system.open(await TONB.fromInit(owner.address, default_content)); let tracker = system.track(contract.address); let wallet_contract = system.open(await TONBWallet.fromInit(contract.address, owner.address)); // Mint await contract.send(owner, { value: toNano('1.1') }, { $$type: 'Deposit', amount: toNano('1') }); await system.run(); let events = tracker.events(); expect(events).toMatchSnapshot(); let addr = Address.parse((events[3] as any).messages[0].to); let wallet_contract_2 = system.contract(addr); let wdata = (await wallet_contract_2.get(97026, [])) as any; expect(wdata.stack.items[0].value).toEqual(1000000000n); // Check owner expect((await contract.getOwner()).toString()).toEqual(owner.address.toString()); // Data let data = await contract.getGetJettonData(); }); });