| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- import {
- accountNode,
- bytesTypeNode,
- bytesValueNode,
- fieldDiscriminatorNode,
- numberTypeNode,
- structFieldTypeNode,
- structTypeNode,
- } from '@kinobi-so/nodes';
- import { expect, test } from 'vitest';
- import { accountNodeFromAnchorV00 } from '../../src';
- test('it creates account nodes', () => {
- const node = accountNodeFromAnchorV00({
- name: 'myAccount',
- type: {
- fields: [{ name: 'myField', type: 'u64' }],
- kind: 'struct',
- },
- });
- expect(node).toEqual(
- accountNode({
- data: structTypeNode([
- structFieldTypeNode({
- name: 'myField',
- type: numberTypeNode('u64'),
- }),
- ]),
- name: 'myAccount',
- }),
- );
- });
- test('it creates account nodes with anchor discriminators', () => {
- const node = accountNodeFromAnchorV00(
- {
- name: 'myAccount',
- type: { fields: [], kind: 'struct' },
- },
- 'anchor',
- );
- expect(node).toEqual(
- accountNode({
- data: structTypeNode([
- structFieldTypeNode({
- defaultValue: bytesValueNode('base16', 'f61c0657fb2d322a'),
- defaultValueStrategy: 'omitted',
- name: 'discriminator',
- type: bytesTypeNode(),
- }),
- ]),
- discriminators: [fieldDiscriminatorNode('discriminator')],
- name: 'myAccount',
- }),
- );
- });
|