Skip to content

Commit d6be28e

Browse files
committed
fix: analysis_options
1 parent 3789dd8 commit d6be28e

File tree

5 files changed

+40
-11
lines changed

5 files changed

+40
-11
lines changed

client/analysis_options.yaml

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,12 @@
11
include: package:lint/analysis_options.yaml
2-
analyzer:
3-
exclude:
4-
- lib/**/*.pb*.dart
5-
- lib/test-server.dart
6-
- test/**/*.mocks.dart
2+
3+
linter:
4+
rules:
5+
# these rules are disabled due to gRPC/mock generated files.
6+
constant_identifier_names: false
7+
directives_ordering: false
8+
avoid_implementing_value_types: false
9+
prefer_constructors_over_static_methods: false
10+
sort_unnamed_constructors_first: false
11+
implementation_imports: false
12+
invalid_implementation_override: false

client/lib/custom_theme.dart

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -42,9 +42,10 @@ class CustomTheme extends ChangeNotifier {
4242

4343
ThemeMode get themeMode => _isDarkMode ? ThemeMode.dark : ThemeMode.light;
4444

45-
Icon get icon => _isDarkMode
46-
? const Icon(Icons.dark_mode_outlined)
47-
: const Icon(Icons.light_mode_outlined);
45+
// This type should not be a widget(e.g. Icon) because of mockito support...
46+
IconData get icon =>
47+
_isDarkMode ? Icons.dark_mode_outlined : Icons.light_mode_outlined;
4848

49-
Text get text => _isDarkMode ? const Text("다크 모드") : const Text("라이트 모드");
49+
// This type should not be a widget(e.g. Text) because of mockito support...
50+
String get text => _isDarkMode ? "다크 모드" : "라이트 모드";
5051
}

client/lib/service.dart

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,10 @@ class GrpcClient {
3131

3232
return response.detail;
3333
}
34+
35+
Future<ReportResponse> report(ReportRequest request) {
36+
return _client.report(request);
37+
}
3438
}
3539

3640
// ignore: unused_element

client/lib/widgets/components/custom_app_bar.dart

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,8 @@ class CustomAppBar extends AppBar {
3131
PopupMenuItem<VertMenu>(
3232
value: VertMenu.themeMode,
3333
child: ListTile(
34-
leading: context.read<CustomTheme>().icon,
35-
title: context.read<CustomTheme>().text)),
34+
leading: Icon(context.read<CustomTheme>().icon),
35+
title: Text(context.read<CustomTheme>().text))),
3636
const PopupMenuDivider(height: 5),
3737
const PopupMenuItem<VertMenu>(
3838
value: VertMenu.issueReport,

client/test/screens/main_screen_test_with_mocks.dart

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import 'package:mockito/annotations.dart';
44
import 'package:mockito/mockito.dart';
55
import 'package:pr12er/custom_theme.dart';
66
import 'package:pr12er/protos/pkg/pr12er/messages.pb.dart';
7+
import 'package:pr12er/protos/pkg/pr12er/service.pb.dart';
78
import 'package:pr12er/screens/main_screen.dart';
89
import 'package:pr12er/service.dart';
910
import 'package:provider/provider.dart';
@@ -74,5 +75,22 @@ void main() {
7475
// THEN themeMode should have changed.
7576
expect(mockTheme.themeMode, isNot(oldThemeMode));
7677
});
78+
79+
testWidgets("Clicking the create issue button should send request",
80+
(WidgetTester tester) async {
81+
// GIVEN a user enters the main screen.
82+
final devClient = MockGrpcClient();
83+
when(devClient.getVideos()).thenAnswer((_) => Future.value(videos));
84+
final req = ReportRequest();
85+
when(devClient.report(req))
86+
.thenAnswer((_) => Future.value(ReportResponse()));
87+
await tester
88+
.pumpWidget(setup(widget: MainScreen(), grpcClient: devClient));
89+
await tester.pumpAndSettle();
90+
91+
// WHEN a user clicks send a request.
92+
93+
// THEN it should send a gRPC request.
94+
});
7795
});
7896
}

0 commit comments

Comments
 (0)