Files
rely/test/core/llm/llm_config_test.dart
2026-05-19 11:14:23 +02:00

50 lines
1.5 KiB
Dart

import 'package:flutter_test/flutter_test.dart';
import 'package:relationship_saver/core/llm/llm_config.dart';
void main() {
test('cloud provider defaults need an API key', () {
final LlmConfigState missingKey = LlmConfigState(
provider: LlmProvider.openai,
);
final LlmConfigState configured = LlmConfigState(
apiKeyConfigured: true,
provider: LlmProvider.openai,
);
expect(missingKey.isConfigured, isFalse);
expect(configured.isConfigured, isTrue);
expect(configured.baseUrl, 'https://api.openai.com/v1');
expect(configured.model, 'gpt-4o-mini');
});
test('local providers can be configured without an API key', () {
final LlmConfigState ollama = LlmConfigState(
provider: LlmProvider.ollama,
baseUrl: 'http://192.168.1.12:11434',
model: 'llama3.2:latest',
);
final LlmConfigState compatible = LlmConfigState(
provider: LlmProvider.openaiCompatible,
baseUrl: 'http://localhost:8000/v1',
model: 'local-model',
);
expect(ollama.isConfigured, isTrue);
expect(compatible.isConfigured, isTrue);
});
test('local providers still require a model and endpoint', () {
final LlmConfigState missingModel = LlmConfigState(
provider: LlmProvider.ollama,
baseUrl: 'http://localhost:11434',
);
final LlmConfigState missingEndpoint = LlmConfigState(
provider: LlmProvider.openaiCompatible,
model: 'local-model',
);
expect(missingModel.isConfigured, isFalse);
expect(missingEndpoint.isConfigured, isFalse);
});
}