metadata.spec.ts 1.4 KB

123456789101112131415161718192021222324252627
  1. import { expect, test } from 'vitest';
  2. import { PublicKey, Connection, clusterApiUrl, AccountInfo } from "@solana/web3.js";
  3. import { findMetadata } from './metadata';
  4. const JUP = new PublicKey('JUPyiwrYJFskUPiHa7hkeR8VUtAeFoSYbKedZNsDvCN'); // Metaplex metadata
  5. const BERN = new PublicKey('CKfatsPMUf8SkiURsDXs7eK6GWb4Jsd6UDbs7twMCWxo'); // Community metadata
  6. const GHOST = new PublicKey('HbxiDXQxBKMNJqDsTavQE7LVwrTR36wjV2EaYEqUw6qH'); // Token2022 Metadata extension
  7. test('should work with a Token2022 mint', async () => {
  8. const connection = new Connection(clusterApiUrl("mainnet-beta"), "confirmed");
  9. let t2022Meta = await findMetadata(connection, [GHOST])
  10. expect(t2022Meta).toMatchSnapshot()
  11. })
  12. test('should work with a Token/Metaplex-metadata mint', async () => {
  13. const connection = new Connection(clusterApiUrl("mainnet-beta"), "confirmed");
  14. let t2022Meta = await findMetadata(connection, [JUP])
  15. expect(t2022Meta).toMatchSnapshot()
  16. })
  17. test('should work with a Token2022/Community-metadata mint', async () => {
  18. const connection = new Connection(clusterApiUrl("mainnet-beta"), "confirmed");
  19. let metadata = await findMetadata(connection, [BERN])
  20. expect(metadata).toMatchSnapshot()
  21. })
  22. test('should work with a list of mints', async () => {
  23. const connection = new Connection(clusterApiUrl("mainnet-beta"), "confirmed");
  24. let metadata = await findMetadata(connection, [JUP, BERN, GHOST])
  25. expect(metadata).toMatchSnapshot()
  26. })