Skip to content

Commit a5af167

Browse files
committed
Refactor
1 parent 7c83ba7 commit a5af167

37 files changed

+1022
-564
lines changed

Makefile

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,16 +37,19 @@ runDevStaging:
3737
flutter run --flavor dev -t lib/main_staging.dart
3838

3939
release:
40-
flutter run --release -t lib/main_release.dart
40+
flutter run --release -t lib/main_prod.dart
4141

4242
prodRelease:
43-
flutter run --flavor prod --release -t lib/main_release.dart
43+
flutter run --flavor prod --release -t lib/main_prod.dart
4444

4545
apk:
46-
flutter build apk --release -t lib/main_release.dart
46+
flutter build apk --release -t lib/main_prod.dart
4747

4848
lines:
4949
find . -name '*.dart' | xargs wc -l
5050

5151
force_upgrade:
5252
flutter update-packages --force-upgrade
53+
54+
integration_test:
55+
flutter test integration_test/app_test.dart --flavor dev

integration_test/app_test.dart

Lines changed: 17 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,28 @@
1-
import 'dart:io';
2-
31
import 'package:flutter/material.dart';
42
import 'package:flutter_bloc_app_template/main.dart' as app;
53
import 'package:flutter_test/flutter_test.dart';
64
import 'package:integration_test/integration_test.dart';
75

86
void main() {
9-
final binding = IntegrationTestWidgetsFlutterBinding.ensureInitialized();
10-
testWidgets('verify text', (WidgetTester tester) async {
11-
// Build our app and trigger a frame.
7+
IntegrationTestWidgetsFlutterBinding.ensureInitialized();
8+
9+
setUp(() {});
10+
11+
testWidgets('load launches test', (
12+
WidgetTester tester,
13+
) async {
1214
app.main([]);
15+
await tester.pumpAndSettle();
16+
17+
expect(find.text('Launches'), findsOneWidget);
18+
expect(find.text('Emails'), findsOneWidget);
19+
expect(find.text('Settings'), findsOneWidget);
20+
21+
expect(find.textContaining('Mission'), findsAtLeast(1));
1322

14-
// Trace the timeline of the following operation. The timeline result will
15-
// be written to `build/integration_response_data.json` with the key
16-
// `timeline`.
17-
await binding.traceAction(() async {
18-
// Trigger a frame.
19-
await tester.pumpAndSettle();
23+
await tester.fling(find.byType(ListView), const Offset(0, -300), 1000);
24+
await tester.pumpAndSettle();
2025

21-
// Verify that platform version is retrieved.
22-
expect(
23-
find.byWidgetPredicate(
24-
(Widget widget) =>
25-
widget is Text &&
26-
widget.data!.startsWith('Platform: ${Platform.operatingSystem}'),
27-
),
28-
findsOneWidget,
29-
);
30-
});
26+
expect(find.textContaining('Mission'), findsAtLeast(1));
3127
});
3228
}

lib/app/app.dart

Lines changed: 4 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import 'package:flutter/foundation.dart';
22
import 'package:flutter/material.dart';
33
import 'package:flutter_bloc/flutter_bloc.dart';
4+
import 'package:flutter_bloc_app_template/app/localization.dart';
45
import 'package:flutter_bloc_app_template/bloc/init/init_bloc.dart';
56
import 'package:flutter_bloc_app_template/di/di_container.dart';
67
import 'package:flutter_bloc_app_template/features/launches/bloc/launches_bloc.dart';
@@ -9,7 +10,6 @@ import 'package:flutter_bloc_app_template/index.dart';
910
import 'package:flutter_bloc_app_template/repository/launches_repository.dart';
1011
import 'package:flutter_bloc_app_template/repository/theme_repository.dart';
1112
import 'package:flutter_bloc_app_template/theme/util.dart';
12-
import 'package:flutter_localizations/flutter_localizations.dart';
1313

1414
class MyApp extends StatelessWidget {
1515
const MyApp({
@@ -60,26 +60,14 @@ class MyApp extends StatelessWidget {
6060
child: Builder(
6161
builder: (context) {
6262
final navigator = NavigationService.of(context);
63-
// Retrieves the default theme for the platform
64-
//TextTheme textTheme = Theme.of(context).textTheme;
65-
66-
// Use with Google Fonts package to use downloadable fonts
67-
var textTheme = createTextTheme(context, 'Rubik', 'Rubik');
63+
var textTheme = createTextTheme(context: context);
6864
var theme = MaterialTheme(textTheme);
6965

7066
return MaterialApp(
7167
debugShowCheckedModeBanner: kDebugMode,
7268
restorationScopeId: 'app',
73-
localizationsDelegates: const [
74-
S.delegate,
75-
GlobalMaterialLocalizations.delegate,
76-
GlobalWidgetsLocalizations.delegate,
77-
GlobalCupertinoLocalizations.delegate,
78-
],
79-
supportedLocales: const [
80-
Locale('en', ''), // English, no country code
81-
Locale('de', ''), // Ukraine, no country code
82-
],
69+
localizationsDelegates: appLocalizationsDelegates,
70+
supportedLocales: appSupportedLocales,
8371
onGenerateTitle: (BuildContext context) =>
8472
S.of(context).appTitle,
8573
theme: context.watch<ThemeCubit>().getDefaultTheme(theme),

lib/app/localization.dart

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
import 'package:flutter/material.dart';
2+
import 'package:flutter_bloc_app_template/generated/l10n.dart';
3+
import 'package:flutter_localizations/flutter_localizations.dart'
4+
show
5+
GlobalCupertinoLocalizations,
6+
GlobalMaterialLocalizations,
7+
GlobalWidgetsLocalizations;
8+
9+
const appSupportedLocales = <Locale>[
10+
Locale('en', ''),
11+
Locale('de', ''),
12+
Locale('pt', ''),
13+
];
14+
15+
const appLocalizationsDelegates = <LocalizationsDelegate<dynamic>>[
16+
S.delegate,
17+
GlobalMaterialLocalizations.delegate,
18+
GlobalWidgetsLocalizations.delegate,
19+
GlobalCupertinoLocalizations.delegate,
20+
];

lib/bloc/news/news_bloc.dart

Lines changed: 0 additions & 14 deletions
This file was deleted.

lib/bloc/news/news_bloc.freezed.dart

Lines changed: 0 additions & 160 deletions
This file was deleted.

lib/bloc/news/news_event.dart

Lines changed: 0 additions & 8 deletions
This file was deleted.

lib/bloc/news/news_state.dart

Lines changed: 0 additions & 10 deletions
This file was deleted.

lib/data/network/model/launch/network_launch_model.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ part 'network_launch_model.g.dart';
77
@freezed
88
abstract class NetworkLaunchModel with _$NetworkLaunchModel {
99
const factory NetworkLaunchModel({
10-
@JsonKey(name: '_id') required String id,
10+
@JsonKey(name: '_id') String? id,
1111
@JsonKey(name: 'mission_name') String? missionName,
1212
@TimestampSerializer()
1313
@JsonKey(name: 'launch_date_utc')

0 commit comments

Comments
 (0)