import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:tane/app.dart'; import 'package:tane/i18n/strings.g.dart'; import '../support/test_support.dart'; void main() { Widget app(db) => TranslationProvider( child: TaneApp( repository: newTestRepository(db), species: newTestSpeciesRepository(db), ), ); testWidgets('home shows the menu and navigates to inventory', (tester) async { LocaleSettings.setLocaleSync(AppLocale.en); final db = newTestDatabase(); addTearDown(db.close); await tester.pumpWidget(app(db)); await tester.pumpAndSettle(); expect(find.text('Your inventory'), findsOneWidget); expect(find.text('Open market'), findsOneWidget); expect(find.text('Coming soon'), findsOneWidget); // market is Block 2 await tester.tap(find.byKey(const Key('home.inventory'))); await tester.pumpAndSettle(); expect(find.text('No seeds yet. Tap + to add your first.'), findsOneWidget); await disposeTree(tester); }); testWidgets('drawer opens and its Inventory item navigates', (tester) async { LocaleSettings.setLocaleSync(AppLocale.en); final db = newTestDatabase(); addTearDown(db.close); await tester.pumpWidget(app(db)); await tester.pumpAndSettle(); await tester.tap(find.byIcon(Icons.menu)); // hamburger await tester.pumpAndSettle(); // Social destinations are shown but disabled. expect(find.text('Your profile'), findsOneWidget); await tester.tap(find.text('Inventory')); // active drawer item await tester.pumpAndSettle(); expect(find.text('No seeds yet. Tap + to add your first.'), findsOneWidget); await disposeTree(tester); }); }