import { describe, expect, it } from 'bun:test'; import * as diExports from '../src/index'; describe('DI Package Exports', () => { it('should export OperationContext', () => { expect(diExports.OperationContext).toBeDefined(); }); it('should export pool size calculator', () => { expect(diExports.calculatePoolSize).toBeDefined(); expect(diExports.getServicePoolSize).toBeDefined(); expect(diExports.getHandlerPoolSize).toBeDefined(); }); it('should export ServiceContainerBuilder', () => { expect(diExports.ServiceContainerBuilder).toBeDefined(); }); it('should export ServiceLifecycleManager', () => { expect(diExports.ServiceLifecycleManager).toBeDefined(); }); it('should export ServiceApplication', () => { expect(diExports.ServiceApplication).toBeDefined(); }); it('should export HandlerScanner', () => { expect(diExports.HandlerScanner).toBeDefined(); }); it('should export schemas', () => { expect(diExports.appConfigSchema).toBeDefined(); expect(diExports.redisConfigSchema).toBeDefined(); expect(diExports.mongodbConfigSchema).toBeDefined(); expect(diExports.postgresConfigSchema).toBeDefined(); expect(diExports.questdbConfigSchema).toBeDefined(); expect(diExports.proxyConfigSchema).toBeDefined(); expect(diExports.browserConfigSchema).toBeDefined(); expect(diExports.queueConfigSchema).toBeDefined(); }); it('should export type definitions', () => { // These are type exports - check that the awilix-container module is re-exported expect(diExports).toBeDefined(); // The types AppConfig, ServiceCradle, etc. are TypeScript types and not runtime values // We can't test them directly, but we've verified they're exported in the source }); });