Browse Source

Improve symbol validation

pull/8000/head
Thomas Kaul 2 weeks ago
parent
commit
292d1086ed
  1. 21
      apps/api/src/app/endpoints/mcp/mcp.schemas.spec.ts

21
apps/api/src/app/endpoints/mcp/mcp.schemas.spec.ts

@ -2,7 +2,8 @@ import {
DEFAULT_DATE_RANGE, DEFAULT_DATE_RANGE,
MCP_MAX_ACTIVITIES, MCP_MAX_ACTIVITIES,
SEARCH_QUERY_MAXIMUM_LENGTH, SEARCH_QUERY_MAXIMUM_LENGTH,
SEARCH_QUERY_MINIMUM_LENGTH SEARCH_QUERY_MINIMUM_LENGTH,
SYMBOL_MAXIMUM_LENGTH
} from '@ghostfolio/common/config'; } from '@ghostfolio/common/config';
import { DataSource } from '@prisma/client'; import { DataSource } from '@prisma/client';
@ -107,6 +108,24 @@ describe('IMPORT_ACTIVITIES_PARAMETERS', () => {
expect(parse([createActivity({ symbol: '' })])).toBe(false); expect(parse([createActivity({ symbol: '' })])).toBe(false);
}); });
it('Refuses a symbol that contains only spaces', () => {
expect(parse([createActivity({ symbol: ' ' })])).toBe(false);
});
it(`Refuses a symbol longer than ${SYMBOL_MAXIMUM_LENGTH} characters`, () => {
expect(
parse([createActivity({ symbol: 'A'.repeat(SYMBOL_MAXIMUM_LENGTH + 1) })])
).toBe(false);
});
it('Removes spaces at the start and the end of a symbol', () => {
expect(
IMPORT_ACTIVITIES_PARAMETERS.parse({
activities: [createActivity({ symbol: ' AAPL ' })]
}).activities[0].symbol
).toBe('AAPL');
});
it('Refuses an empty identifier of an account', () => { it('Refuses an empty identifier of an account', () => {
expect(parse([createActivity({ accountId: '' })])).toBe(false); expect(parse([createActivity({ accountId: '' })])).toBe(false);
}); });

Loading…
Cancel
Save