import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:zenxercise/src/design/zen_style.dart'; import 'package:zenxercise/src/home/home_view.dart'; import 'package:zenxercise/src/modes/mode.dart'; import '../support/test_app.dart'; void main() { ZenStyle styleOf(WidgetTester tester) => ZenStyle.of(tester.element(find.byType(HomeView))); testWidgets('switching Mode changes design and Library together', (tester) async { final settings = await pumpApp(tester); await tester.tap(find.byTooltip('Library')); await tester.pumpAndSettle(); expect(styleOf(tester).mode, Mode.stretching); expect(find.text('2 stretches'), findsOneWidget); expect(find.text('Hamstring Stretch'), findsOneWidget); await tester.tap(find.text('Workout')); await tester.pumpAndSettle(); expect(settings.mode, Mode.workout); expect(styleOf(tester).mode, Mode.workout); expect(styleOf(tester).brightness, Brightness.dark); expect(find.text('1 exercise'), findsOneWidget); expect(find.text('Barbell Squat'), findsOneWidget); expect(find.text('Hamstring Stretch'), findsNothing); }); testWidgets('opens in the last-used Mode', (tester) async { await pumpApp(tester, prefs: {'mode': 'workout'}); expect(styleOf(tester).mode, Mode.workout); }); testWidgets('an empty Plans tab invites building a Plan from the library', (tester) async { await pumpApp(tester); expect(find.text('No plans yet'), findsOneWidget); expect(find.textContaining('stretch routine'), findsOneWidget); }); }