Skip to main content
Glama
SearchUtilities.getFieldValue.test.ts1.92 kB
/** * Focused unit tests for SearchUtilities.getFieldValue helper cases */ import { describe, it, expect } from 'vitest'; import { SearchUtilities } from '../../../src/services/search-utilities/SearchUtilities.js'; import { AttioRecord } from '../../../src/types/attio.js'; describe('SearchUtilities.getFieldValue', () => { it('returns string value directly', () => { const rec = { values: { name: 'Acme' } } as unknown as AttioRecord; expect(SearchUtilities.getFieldValue(rec, 'name')).toBe('Acme'); }); it('returns first item for array of strings', () => { const rec = { values: { tags: ['alpha', 'beta'] }, } as unknown as AttioRecord; expect(SearchUtilities.getFieldValue(rec, 'tags')).toBe('alpha'); }); it('returns first .value for array of objects', () => { const rec = { values: { email_addresses: [{ value: 'a@example.com' }] }, } as unknown as AttioRecord; expect(SearchUtilities.getFieldValue(rec, 'email_addresses')).toBe( 'a@example.com' ); }); it('returns .value for object with value', () => { const rec = { values: { description: { value: 'About us' } }, } as unknown as AttioRecord; expect(SearchUtilities.getFieldValue(rec, 'description')).toBe('About us'); }); it('handles null/undefined to empty string', () => { const rec1 = { values: { foo: null } } as unknown as AttioRecord; const rec2 = { values: { bar: undefined } } as unknown as AttioRecord; const rec3 = { values: {} } as unknown as AttioRecord; expect(SearchUtilities.getFieldValue(rec1, 'foo')).toBe(''); expect(SearchUtilities.getFieldValue(rec2, 'bar')).toBe(''); expect(SearchUtilities.getFieldValue(rec3, 'baz')).toBe(''); }); it('handles empty arrays safely', () => { const rec = { values: { tags: [] } } as unknown as AttioRecord; expect(SearchUtilities.getFieldValue(rec, 'tags')).toBe(''); }); });

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/kesslerio/attio-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server