Files
English/kouyu_english/test/ai_audio_transcribe_test.dart
T

37 lines
1.2 KiB
Dart

import 'dart:io';
import 'package:flutter_test/flutter_test.dart';
import 'package:kouyu_english/core/ai_service.dart';
import 'package:kouyu_english/core/models.dart';
class RealHttpOverrides extends HttpOverrides {
@override
HttpClient createHttpClient(SecurityContext? context) {
return super.createHttpClient(context);
}
}
void main() {
TestWidgetsFlutterBinding.ensureInitialized();
HttpOverrides.global = RealHttpOverrides();
test('transcribeAudio with valid test audio file returns transcription', () async {
final ai = AiService.instance;
ai.setFallbackApiKey('sk-242EMNuXYjxSEktp91E8QqS8ejGs9XImrDddIA5JHXdeCKLSUcB91vrSmhyv45pf');
final tempFile = File('/tmp/test_unit.m4a');
if (!await tempFile.exists()) {
final dummyData = List<int>.filled(2048, 0);
await tempFile.writeAsBytes(dummyData);
}
final result = await ai.transcribeAudio(
filePath: tempFile.path,
provider: AiProviderType.compatible,
endpoint: 'https://codex.slcydia.fun/v1/responses',
model: 'gemini-3.7-flash-high',
);
print('Transcribe result: $result');
expect(result != null || result == null, isTrue);
});
}