test.ts 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. import * as anchor from "@coral-xyz/anchor"
  2. import { AnchorProgramExample } from "../target/types/anchor_program_example"
  3. import { Keypair } from "@solana/web3.js"
  4. describe("Account Data!", () => {
  5. const provider = anchor.AnchorProvider.env()
  6. anchor.setProvider(provider)
  7. const payer = provider.wallet as anchor.Wallet
  8. const program = anchor.workspace
  9. .AnchorProgramExample as anchor.Program<AnchorProgramExample>
  10. // Generate a new keypair for the addressInfo account
  11. const addressInfoAccount = new Keypair()
  12. it("Create the address info account", async () => {
  13. console.log(`Payer Address : ${payer.publicKey}`)
  14. console.log(`Address Info Acct : ${addressInfoAccount.publicKey}`)
  15. // Instruction data
  16. const addressInfo = {
  17. name: "Joe C",
  18. houseNumber: 136,
  19. street: "Mile High Dr.",
  20. city: "Solana Beach",
  21. }
  22. await program.methods
  23. .createAddressInfo(
  24. addressInfo.name,
  25. addressInfo.houseNumber,
  26. addressInfo.street,
  27. addressInfo.city
  28. )
  29. .accounts({
  30. addressInfo: addressInfoAccount.publicKey,
  31. payer: payer.publicKey,
  32. })
  33. .signers([addressInfoAccount])
  34. .rpc()
  35. })
  36. it("Read the new account's data", async () => {
  37. const addressInfo = await program.account.addressInfo.fetch(
  38. addressInfoAccount.publicKey
  39. )
  40. console.log(`Name : ${addressInfo.name}`)
  41. console.log(`House Num: ${addressInfo.houseNumber}`)
  42. console.log(`Street : ${addressInfo.street}`)
  43. console.log(`City : ${addressInfo.city}`)
  44. })
  45. })