import 'package:asciineverdie/src/app.dart';
import 'package:flutter/services.dart';
import 'package:flutter_test/flutter_test.dart';

void main() {
  // SharedPreferences 모킹
  setUpAll(() {
    TestWidgetsFlutterBinding.ensureInitialized();
    const MethodChannel(
      'plugins.flutter.io/shared_preferences',
    ).setMockMethodCallHandler((call) async {
      if (call.method == 'getAll') return <String, Object>{};
      return null;
    });
  });

  testWidgets('App launches and shows splash screen', (tester) async {
    await tester.pumpWidget(const AskiiNeverDieApp());

    // 앱 시작 시 스플래시 화면이 표시되는지 확인
    // (비동기 세이브 확인 동안 스플래시 표시)
    await tester.pump();

    // 앱이 정상적으로 렌더링되는지 확인 (크래시 없음)
    expect(find.byType(AskiiNeverDieApp), findsOneWidget);
  });
}
