import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:storytime/core/theme/app_theme.dart'; void main() { group('AppTheme', () { testWidgets('useMaterial3 est activé', (tester) async { await tester.pumpWidget( MaterialApp(theme: AppTheme.light(), home: const SizedBox.shrink()), ); final theme = Theme.of(tester.element(find.byType(SizedBox))); expect(theme.useMaterial3, isTrue); }); testWidgets('la couleur primaire correspond à la palette coucher', ( tester, ) async { await tester.pumpWidget( MaterialApp(theme: AppTheme.light(), home: const SizedBox.shrink()), ); final theme = Theme.of(tester.element(find.byType(SizedBox))); // Palette « coucher » : violet/indigo doux. // On vérifie que la teinte de seed est bien dans le spectre attendu. final primary = theme.colorScheme.primary; // HSL : le bleu/violet doit dominer sur le rouge et le vert. final hsl = HSLColor.fromColor(primary); expect( hsl.hue, inInclusiveRange(200.0, 320.0), reason: 'La couleur primaire doit être dans le spectre bleu-violet', ); }); test('AppTheme.light() retourne un ThemeData non nul', () { expect(AppTheme.light(), isA()); }); }); }