anchor.ts 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. // SPDX-License-Identifier: Apache-2.0
  2. import expect from 'expect';
  3. import * as anchor from "@coral-xyz/anchor";
  4. import { Program } from "@coral-xyz/anchor";
  5. import { Anchor } from "../target/types/anchor";
  6. describe("Anchor", () => {
  7. // Configure the client to use the local cluster.
  8. const provider = anchor.AnchorProvider.env();
  9. anchor.setProvider(provider);
  10. it("test anchor program with anchor tests", async () => {
  11. // The Account to create.
  12. const seed = Buffer.from('ChiaSeeds', 'utf8');
  13. const program = anchor.workspace.Anchor as Program<Anchor>;
  14. const [myAccount, bump] = anchor.web3.PublicKey.findProgramAddressSync([seed], program.programId);
  15. const { SystemProgram } = anchor.web3;
  16. // Add your test here.
  17. const tx = await program.methods.initializeSeed(seed, bump).accounts({
  18. myAccount: myAccount,
  19. user: provider.wallet.publicKey,
  20. systemProgram: SystemProgram.programId,
  21. }).rpc();
  22. // string est
  23. expect(await program.methods.strings("Hello, World!", 102).view()).toBe("input:Hello, World! data:102");
  24. // sum test
  25. const sumtest = await program.methods.sum([new anchor.BN(3), new anchor.BN(5), new anchor.BN(7)], new anchor.BN(1)).view();
  26. expect(sumtest.toNumber()).toBe(1 + 3 + 5 + 7);
  27. // sector001
  28. let sector001 = await program.methods.sector001().view();
  29. expect(sector001.suns.toNumber()).toBe(1);
  30. expect(sector001.mclass.length).toBe(1);
  31. expect(sector001.mclass[0]).toMatchObject({ "earth": {} });
  32. expect(sector001.calldata.toString()).toEqual(Uint8Array.from([48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 48, 49, 50]).toString());
  33. // has_planet
  34. sector001.mclass.push({ "mars": {} });
  35. const has_planet = await program.methods.hasPlanet(sector001, { "mars": {} }).view();
  36. expect(has_planet).toBe(true)
  37. // states
  38. const states = await program.methods.states().accounts({
  39. myAccount: myAccount
  40. }).view();
  41. expect(states.default).toBe(true);
  42. expect(states.delete).toBe(-102);
  43. expect(states.fallback.toNumber()).toBe(0xdeadcafebeef);
  44. expect(states.assembly.toString()).toBe('AddressLookupTab1e1111111111111111111111111');
  45. // multidimensional
  46. const arr = await program.methods.multiDimensional([[1, 2, 3], [4, 5, 6], [7, 8, 9], [10, 11, 12]]).view();
  47. expect(arr).toStrictEqual([[1, 4, 7, 10], [2, 5, 8, 11], [3, 6, 9, 12]]);
  48. });
  49. });