Files
sovereign_ai/SovereignAI-Starter/flutter_app/test/widget_test.dart
T

51 lines
1.7 KiB
Dart

import 'package:flutter/material.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:record/record.dart';
import 'package:flutter_app/core/network/api_repository.dart';
import 'package:flutter_app/features/chat/presentation/cubit/chat_cubit.dart';
import 'package:flutter_app/features/chat/presentation/cubit/chat_state.dart';
import 'package:flutter_app/features/audio/presentation/cubit/voice_cubit.dart';
import 'package:flutter_app/main.dart';
class _TestApiRepository extends ApiRepository {
_TestApiRepository() : super(baseUrl: 'http://127.0.0.1:8000');
@override
Future<String> getModelName() async => 'gemma4:e2b';
@override
Future<List<String>> getAvailableModels() async => ['gemma4:e2b'];
@override
Future<List<SavedConversation>> listConversations() async => [];
}
void main() {
testWidgets('chat page fits a compact Windows window', (tester) async {
tester.view.physicalSize = const Size(800, 600);
tester.view.devicePixelRatio = 1;
addTearDown(tester.view.resetPhysicalSize);
addTearDown(tester.view.resetDevicePixelRatio);
final api = _TestApiRepository();
await tester.pumpWidget(
MultiRepositoryProvider(
providers: [RepositoryProvider<ApiRepository>.value(value: api)],
child: MultiBlocProvider(
providers: [
BlocProvider(create: (_) => ChatCubit(api)),
BlocProvider(create: (_) => VoiceCubit(api, AudioRecorder())),
],
child: const SovereignApp(),
),
),
);
await tester.pumpAndSettle();
expect(find.text('مساعدك المحلي'), findsOneWidget);
expect(tester.takeException(), isNull);
});
}