@accounter/server
Version:
Accounter GraphQL server
33 lines (32 loc) • 1.28 kB
TypeScript
import { FixtureBusinesses } from '../helpers/fixture-types.js';
/**
* Business factory for test fixtures
*
* Creates a minimal business object ready for insertion via pgtyped.
*
* @param overrides - Optional overrides for any business field
* @returns Business object matching FixtureBusinesses['businesses'][0] shape
*
* @remarks
* - id defaults to deterministic UUID if not provided
* - name defaults to overrides.id ?? defaultId (intelligent fallback for display)
* - All other fields default to null/void (database will use defaults or accept nulls)
* - exemptDealer defaults to false for typical scenarios
* - isReceiptEnough defaults to false (invoices required by default)
* - isDocumentsOptional defaults to false (documents required by default)
*
* @example
* ```typescript
* // Minimal business (uses defaults)
* const business = createBusiness({ id: makeUUID('business', 'supplier-1') });
*
* // Business with custom fields
* const supplier = createBusiness({
* id: makeUUID('business', 'supplier-usd'),
* name: 'American Supplier',
* country: 'USA',
* isReceiptEnough: true,
* });
* ```
*/
export declare function createBusiness(overrides?: Partial<FixtureBusinesses['businesses'][number]>): FixtureBusinesses['businesses'][number];