create-amm.ts 1.2 KB

12345678910111213141516171819202122232425262728293031323334
  1. import * as anchor from '@coral-xyz/anchor';
  2. import type { Program } from '@coral-xyz/anchor';
  3. import { expect } from 'chai';
  4. import type { SwapExample } from '../target/types/swap_example';
  5. import { type TestValues, createValues, expectRevert } from './utils';
  6. describe('Create AMM', () => {
  7. const provider = anchor.AnchorProvider.env();
  8. const connection = provider.connection;
  9. anchor.setProvider(provider);
  10. const program = anchor.workspace.SwapExample as Program<SwapExample>;
  11. let values: TestValues;
  12. beforeEach(() => {
  13. values = createValues();
  14. });
  15. it('Creation', async () => {
  16. await program.methods.createAmm(values.id, values.fee).accounts({ amm: values.ammKey, admin: values.admin.publicKey }).rpc();
  17. const ammAccount = await program.account.amm.fetch(values.ammKey);
  18. expect(ammAccount.id.toString()).to.equal(values.id.toString());
  19. expect(ammAccount.admin.toString()).to.equal(values.admin.publicKey.toString());
  20. expect(ammAccount.fee.toString()).to.equal(values.fee.toString());
  21. });
  22. it('Invalid fee', async () => {
  23. values.fee = 10000;
  24. await expectRevert(program.methods.createAmm(values.id, values.fee).accounts({ amm: values.ammKey, admin: values.admin.publicKey }).rpc());
  25. });
  26. });