Skip to main content
Glama
other-income.ts3.63 kB
/** * Mock responses for OtherIncome entity */ /** * Create a mock other income object */ export function createMockOtherIncome(overrides: Record<string, unknown> = {}) { const id = (overrides.incomeId as number) || 12345; return { incomeId: id, amount: overrides.amount || { amount: '500.00', code: 'USD' }, categoryName: overrides.categoryName || 'Interest Income', createdAt: overrides.createdAt || '2024-01-15T10:00:00Z', date: overrides.date || '2024-01-15T00:00:00Z', note: overrides.note !== undefined ? overrides.note : 'Bank interest payment', paymentType: overrides.paymentType || 'Bank Transfer', source: overrides.source !== undefined ? overrides.source : 'TD Bank', taxes: overrides.taxes || [], updated: overrides.updated || '2024-01-15T10:00:00Z', visState: overrides.visState !== undefined ? overrides.visState : 0, ...overrides, }; } /** * Mock response for other income list */ export function mockOtherIncomeListResponse( count: number = 5, page: number = 1, perPage: number = 30 ) { const otherIncomes = Array.from({ length: count }, (_, i) => createMockOtherIncome({ incomeId: 12345 + i, categoryName: i % 3 === 0 ? 'Interest Income' : i % 3 === 1 ? 'Dividend Income' : 'Rebates', amount: { amount: `${(i + 1) * 100}.00`, code: 'USD' }, source: i % 2 === 0 ? 'TD Bank' : 'Investment Account', }) ); return { ok: true, data: { other_incomes: otherIncomes, pages: { page, pages: Math.ceil(count / perPage), per_page: perPage, total: count, }, }, }; } /** * Mock response for empty other income list */ export function mockOtherIncomeEmptyListResponse() { return { ok: true, data: { other_incomes: [], pages: { page: 1, pages: 1, per_page: 30, total: 0, }, }, }; } /** * Mock response for single other income */ export function mockOtherIncomeSingleResponse(overrides: Record<string, unknown> = {}) { return { ok: true, data: { other_income: createMockOtherIncome(overrides), }, }; } /** * Mock response for other income create */ export function mockOtherIncomeCreateResponse(overrides: Record<string, unknown> = {}) { return { ok: true, data: { other_income: createMockOtherIncome({ incomeId: 99999, createdAt: new Date().toISOString(), updated: new Date().toISOString(), ...overrides, }), }, }; } /** * Mock response for other income update */ export function mockOtherIncomeUpdateResponse( incomeId: number, updates: Record<string, unknown> = {} ) { return { ok: true, data: { other_income: createMockOtherIncome({ incomeId, updated: new Date().toISOString(), ...updates, }), }, }; } /** * Mock response for other income delete */ export function mockOtherIncomeDeleteResponse() { return { ok: true, data: {}, }; } /** * Mock not found error */ export function mockOtherIncomeNotFoundError(incomeId: number) { return { ok: false, error: { code: 'NOT_FOUND', message: `Other income ${incomeId} not found`, statusCode: 404, }, }; } /** * Mock validation error */ export function mockOtherIncomeValidationError(field: string, message: string) { return { ok: false, error: { code: 'VALIDATION_ERROR', message: `Validation error: ${field} - ${message}`, statusCode: 400, details: { field, message, }, }, }; }

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/Good-Samaritan-Software-LLC/freshbooks-mcp'

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