litesvm.test.ts 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. import assert from 'node:assert';
  2. import { Program } from '@coral-xyz/anchor';
  3. import { Keypair } from '@solana/web3.js';
  4. import { LiteSVMProvider, fromWorkspace } from 'anchor-litesvm';
  5. import { CounterAnchor } from '../target/types/counter_anchor';
  6. const IDL = require('../target/idl/counter_anchor.json');
  7. describe('counter anchor program', () => {
  8. let client: any;
  9. let provider: LiteSVMProvider;
  10. let program: Program<CounterAnchor>;
  11. let payer: Keypair;
  12. let counterKeypair: Keypair;
  13. before(async () => {
  14. client = fromWorkspace('');
  15. provider = new LiteSVMProvider(client);
  16. payer = provider.wallet.payer;
  17. program = new Program<CounterAnchor>(IDL, provider);
  18. // a keypair for the counter account
  19. counterKeypair = new Keypair();
  20. });
  21. it('Initialize Counter', async () => {
  22. await program.methods
  23. .initializeCounter()
  24. .accounts({
  25. counter: counterKeypair.publicKey,
  26. payer: payer.publicKey,
  27. })
  28. .signers([counterKeypair])
  29. .rpc();
  30. const currentCount = await program.account.counter.fetch(counterKeypair.publicKey);
  31. assert.equal(currentCount.count.toNumber(), 0, 'Expected initialized count to be 0');
  32. });
  33. it('Increment Counter', async () => {
  34. await program.methods.increment().accounts({ counter: counterKeypair.publicKey }).rpc();
  35. const currentCount = await program.account.counter.fetch(counterKeypair.publicKey);
  36. assert.equal(currentCount.count.toNumber(), 1, 'Expected count to be 1');
  37. });
  38. });