programsPage.test.ts 1.0 KB

123456789101112131415161718192021222324252627
  1. import { programNode } from '@codama/nodes';
  2. import { visit } from '@codama/visitors-core';
  3. import { test } from 'vitest';
  4. import { getRenderMapVisitor } from '../src';
  5. import { renderMapContains, renderMapContainsImports } from './_setup';
  6. test('it renders the program address constant', async () => {
  7. // Given the following program.
  8. const node = programNode({
  9. name: 'splToken',
  10. publicKey: 'TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA',
  11. });
  12. // When we render it.
  13. const renderMap = visit(node, getRenderMapVisitor());
  14. // Then we expect the following program address constant.
  15. await renderMapContains(renderMap, 'programs/splToken.ts', [
  16. "export const SPL_TOKEN_PROGRAM_ID = 'TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA' as PublicKey<'TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA'>;",
  17. ]);
  18. // And we expect the following imports.
  19. await renderMapContainsImports(renderMap, 'programs/splToken.ts', {
  20. '@metaplex-foundation/umi': ['PublicKey'],
  21. });
  22. });