create-amm.ts 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. import * as anchor from "@coral-xyz/anchor";
  2. import { Program } from "@coral-xyz/anchor";
  3. import { SwapExample } from "../target/types/swap_example";
  4. import { expect } from "chai";
  5. import { 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
  17. .createAmm(values.id, values.fee)
  18. .accounts({ amm: values.ammKey, admin: values.admin.publicKey })
  19. .rpc();
  20. const ammAccount = await program.account.amm.fetch(values.ammKey);
  21. expect(ammAccount.id.toString()).to.equal(values.id.toString());
  22. expect(ammAccount.admin.toString()).to.equal(
  23. values.admin.publicKey.toString()
  24. );
  25. expect(ammAccount.fee.toString()).to.equal(values.fee.toString());
  26. });
  27. it("Invalid fee", async () => {
  28. values.fee = 10000;
  29. await expectRevert(
  30. program.methods
  31. .createAmm(values.id, values.fee)
  32. .accounts({ amm: values.ammKey, admin: values.admin.publicKey })
  33. .rpc()
  34. );
  35. });
  36. });