diff --git a/tests/JettonMaster.spec.ts b/tests/JettonMaster.spec.ts index 80bac0e..45356c3 100644 --- a/tests/JettonMaster.spec.ts +++ b/tests/JettonMaster.spec.ts @@ -51,6 +51,14 @@ describe('JettonMaster', () => { to: jettonMaster.address, success: true, deploy: true, + op: 0x133701, + }); + expect(deployResult.transactions).toHaveTransaction({ + from: jettonMaster.address, + to: deployer.address, + success: true, + deploy: false, + op: 0x133702, }); }); @@ -92,6 +100,8 @@ describe('JettonMaster', () => { to: jettonMaster.address, success: false, deploy: false, + op: 0x133701, + exitCode: 6903, }); }); @@ -116,6 +126,7 @@ describe('JettonMaster', () => { to: jettonMaster.address, success: false, deploy: false, + op: 0x133701, exitCode: 132, }); }); @@ -138,6 +149,7 @@ describe('JettonMaster', () => { to: jettonMaster.address, success: true, deploy: false, + op: 0x133703, }); // Jetton description @@ -157,6 +169,7 @@ describe('JettonMaster', () => { to: jettonMaster.address, success: true, deploy: false, + op: 0x133703, }); // Jetton symbol @@ -176,6 +189,7 @@ describe('JettonMaster', () => { to: jettonMaster.address, success: true, deploy: false, + op: 0x133703, }); // Jetton max_supply @@ -195,6 +209,7 @@ describe('JettonMaster', () => { to: jettonMaster.address, success: true, deploy: false, + op: 0x133703, }); // Checks @@ -221,12 +236,14 @@ describe('JettonMaster', () => { to: jettonMaster.address, success: true, deploy: false, + op: 0x133704, }); expect(mintResult.transactions).toHaveTransaction({ from: jettonMaster.address, to: jettonWallet.address, success: true, deploy: true, + op: 0x178d4519, }); let jettonMasterMetadata = await jettonMaster.getGetJettonData(); @@ -254,6 +271,7 @@ describe('JettonMaster', () => { to: jettonMaster.address, success: false, deploy: false, + op: 0x133704, exitCode: 132, }); }); diff --git a/tests/JettonWallet.spec.ts b/tests/JettonWallet.spec.ts index 8f350ce..77e4705 100644 --- a/tests/JettonWallet.spec.ts +++ b/tests/JettonWallet.spec.ts @@ -1,5 +1,5 @@ import { Blockchain, SandboxContract, TreasuryContract } from '@ton/sandbox'; -import { Builder, Slice, toNano } from '@ton/core'; +import { Builder, toNano } from '@ton/core'; import { JettonWallet } from '../build/Jetton/tact_JettonWallet'; import { JettonMaster } from '../build/Jetton/tact_JettonMaster'; import '@ton/test-utils'; @@ -93,4 +93,64 @@ describe('JettonMaster', () => { let otherJettonWalletData = await otherJettonWallet.getGetWalletData(); expect(otherJettonWalletData.balance).toEqual(toNano("228")); }); + + it('should not transfer tokens not owner', async () => { + const transferResult = await jettonWallet.send( + other.getSender(), + { + value: toNano("0.05"), + }, + { + $$type: 'JettonTransfer', + query_id: 0n, + amount: toNano("228"), + destination: other.address, + custom_payload: null, + forward_payload: new Builder().asSlice(), + forward_ton_amount: 0n, + response_destination: other.address, + } + ); + expect(transferResult.transactions).toHaveTransaction({ + from: other.address, + to: jettonWallet.address, + deploy: false, + success: false, + op: 0x0f8a7ea5, + exitCode: 132, + }); + + let jettonWalletData = await jettonWallet.getGetWalletData(); + expect(jettonWalletData.balance).toEqual(toNano("1337")); + }); + + it('should not transfer tokens not enough amount', async () => { + const transferResult = await jettonWallet.send( + deployer.getSender(), + { + value: toNano("0.05"), + }, + { + $$type: 'JettonTransfer', + query_id: 0n, + amount: toNano("100500"), + destination: other.address, + custom_payload: null, + forward_payload: new Builder().asSlice(), + forward_ton_amount: 0n, + response_destination: other.address, + } + ); + expect(transferResult.transactions).toHaveTransaction({ + from: deployer.address, + to: jettonWallet.address, + deploy: false, + success: false, + op: 0x0f8a7ea5, + exitCode: 6901, + }); + + let jettonWalletData = await jettonWallet.getGetWalletData(); + expect(jettonWalletData.balance).toEqual(toNano("1337")); + }); });