24 lines
1.2 KiB
TypeScript
24 lines
1.2 KiB
TypeScript
import { describe, expect, it } from 'vitest';
|
|
import { createRepositoryRuntime, repositoryConnectionString } from '../../server/repository-factory';
|
|
import { LocalAssessorRepository } from '../../src/persistence/local-assessor-repository';
|
|
|
|
describe('repository runtime selection', () => {
|
|
it('uses the configured PostgreSQL host and keeps loopback as the local default', () => {
|
|
expect(repositoryConnectionString({
|
|
ASSESSOR_POSTGRES_HOST: 'postgres',
|
|
ASSESSOR_POSTGRES_DB: 'assessor_experimental',
|
|
ASSESSOR_POSTGRES_USER: 'assessor_experimental',
|
|
ASSESSOR_POSTGRES_PASSWORD: 'synthetic password'
|
|
})).toBe('postgresql://assessor_experimental:synthetic%20password@postgres:5432/assessor_experimental');
|
|
expect(repositoryConnectionString({ ASSESSOR_POSTGRES_PASSWORD: 'synthetic' }))
|
|
.toBe('postgresql://assessor:synthetic@127.0.0.1:5432/assessor');
|
|
});
|
|
|
|
it('uses the explicit in-memory development mode when no database URL is configured', async () => {
|
|
const runtime = await createRepositoryRuntime({});
|
|
expect(runtime.persistence).toBe('memory');
|
|
expect(runtime.repository).toBeInstanceOf(LocalAssessorRepository);
|
|
await runtime.close();
|
|
});
|
|
});
|