feat: polish focus seed product UI
This commit is contained in:
+27
-18
@@ -4,6 +4,7 @@ import 'package:flutter_test/flutter_test.dart';
|
||||
import 'package:focus_seed/src/app/focus_seed_app.dart';
|
||||
import 'package:focus_seed/src/data/focus_seed_store.dart';
|
||||
import 'package:focus_seed/src/data/local/focus_seed_database.dart';
|
||||
import 'package:focus_seed/src/models/language_preference.dart';
|
||||
import 'package:shared_preferences/shared_preferences.dart';
|
||||
|
||||
void main() {
|
||||
@@ -20,10 +21,10 @@ void main() {
|
||||
await pumpFocusSeedApp(tester, locale: const Locale('en'));
|
||||
|
||||
expect(find.text('Focus Seed'), findsOneWidget);
|
||||
expect(find.text("TODAY'S INTENTION"), findsOneWidget);
|
||||
expect(find.text("Set today's intention"), findsOneWidget);
|
||||
expect(find.text("TODAY'S FOCUS"), findsOneWidget);
|
||||
expect(find.text("Set today's focus"), findsOneWidget);
|
||||
|
||||
await tester.tap(find.text('Choose one outcome'));
|
||||
await tester.tap(find.text("Name today's focus"));
|
||||
await tester.pumpAndSettle();
|
||||
await tester.enterText(
|
||||
find.byType(TextField),
|
||||
@@ -41,12 +42,11 @@ void main() {
|
||||
|
||||
await tester.tap(find.text('Journey'));
|
||||
await tester.pumpAndSettle();
|
||||
expect(find.text("Today's journey"), findsOneWidget);
|
||||
expect(find.text('Progress'), findsOneWidget);
|
||||
|
||||
await tester.tap(find.text('Me'));
|
||||
await tester.pumpAndSettle();
|
||||
expect(find.text('Your space'), findsOneWidget);
|
||||
expect(find.text('Appearance'), findsOneWidget);
|
||||
expect(find.text('Your garden'), findsOneWidget);
|
||||
});
|
||||
|
||||
testWidgets('Me manages local data without JSON tools', (tester) async {
|
||||
@@ -55,10 +55,15 @@ void main() {
|
||||
await tester.tap(find.text('Me'));
|
||||
await tester.pumpAndSettle();
|
||||
|
||||
expect(find.text('Local data'), findsOneWidget);
|
||||
final meScroll = find.byType(Scrollable).first;
|
||||
expect(find.text('Local records'), findsOneWidget);
|
||||
expect(find.text('Clear today'), findsOneWidget);
|
||||
await tester.scrollUntilVisible(find.text('Delete all local data'), 180);
|
||||
expect(find.text('Delete all local data'), findsOneWidget);
|
||||
await tester.scrollUntilVisible(
|
||||
find.text('Delete all data'),
|
||||
180,
|
||||
scrollable: meScroll,
|
||||
);
|
||||
expect(find.text('Delete all data'), findsOneWidget);
|
||||
expect(find.text('Export JSON'), findsNothing);
|
||||
expect(find.text('Import JSON'), findsNothing);
|
||||
});
|
||||
@@ -71,19 +76,19 @@ void main() {
|
||||
|
||||
final journeyScroll = find.byType(Scrollable).first;
|
||||
await tester.scrollUntilVisible(
|
||||
find.text('This week'),
|
||||
find.text('7-day rhythm'),
|
||||
180,
|
||||
scrollable: journeyScroll,
|
||||
);
|
||||
expect(find.text('This week'), findsOneWidget);
|
||||
expect(find.text('7-day rhythm'), findsOneWidget);
|
||||
await tester.scrollUntilVisible(
|
||||
find.text('View history'),
|
||||
find.text('Record library'),
|
||||
180,
|
||||
scrollable: journeyScroll,
|
||||
);
|
||||
expect(find.text('View history'), findsOneWidget);
|
||||
expect(find.text('Record library'), findsOneWidget);
|
||||
|
||||
await tester.tap(find.text('View history'));
|
||||
await tester.tap(find.text('Record library'));
|
||||
await tester.pumpAndSettle();
|
||||
|
||||
expect(find.text('History'), findsOneWidget);
|
||||
@@ -117,8 +122,8 @@ void main() {
|
||||
await pumpFocusSeedApp(tester);
|
||||
|
||||
expect(find.text('Focus Seed'), findsOneWidget);
|
||||
expect(find.text('\u4eca\u65e5\u76ee\u6807'), findsOneWidget);
|
||||
expect(find.text('\u8bbe\u7f6e\u4eca\u65e5\u76ee\u6807'), findsOneWidget);
|
||||
expect(find.text('\u4eca\u65e5\u91cd\u70b9'), findsOneWidget);
|
||||
expect(find.text('\u8bbe\u7f6e\u4eca\u65e5\u91cd\u70b9'), findsOneWidget);
|
||||
await tester.scrollUntilVisible(
|
||||
find.text('\u8ba1\u5212\u4e00\u4e2a\u660e\u786e\u4efb\u52a1'),
|
||||
180,
|
||||
@@ -138,11 +143,15 @@ void main() {
|
||||
await tester.pumpAndSettle();
|
||||
|
||||
expect(find.text('\u8bed\u8a00'), findsOneWidget);
|
||||
await tester.tap(find.text('English'));
|
||||
final languageSegments = find.byType(SegmentedButton<LanguagePreference>);
|
||||
final widget = tester.widget<SegmentedButton<LanguagePreference>>(
|
||||
languageSegments,
|
||||
);
|
||||
widget.onSelectionChanged?.call({LanguagePreference.english});
|
||||
await tester.pumpAndSettle();
|
||||
|
||||
expect(find.text('Your space'), findsOneWidget);
|
||||
expect(find.text('Language'), findsOneWidget);
|
||||
expect(find.text('Development only'), findsOneWidget);
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user