Skip to content

Commit

Permalink
wip
Browse files Browse the repository at this point in the history
  • Loading branch information
Jonas-Sander committed Aug 18, 2024
1 parent 2473bb7 commit be69d6e
Show file tree
Hide file tree
Showing 2 changed files with 61 additions and 11 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
import 'package:flutter_test/flutter_test.dart';
import 'package:mockito/mockito.dart';
import 'package:provider/provider.dart';
import 'package:sharezone/grades/grades_service/grades_service.dart';
import 'package:sharezone/grades/pages/term_settings_page/term_settings_page.dart';
import 'package:sharezone/grades/pages/term_settings_page/term_settings_page_controller.dart';
import 'package:sharezone/grades/pages/term_settings_page/term_settings_page_controller_factory.dart';

import '../../../../test_goldens/grades/pages/term_settings_page/term_settings_page_test.mocks.dart';
import '../../../homework/homework_dialog_test.dart';

void main() {
group('$TermSettingsPage', () {
const termId = TermId('term-1');

late TermSettingsPageController controller;
late TermSettingsPageControllerFactory controllerFactory;

setUp(() {
controller = MockTermSettingsPageController();
controllerFactory = MockTermSettingsPageControllerFactory();
when(controllerFactory.create(termId)).thenReturn(controller);
});

Future<void> pumpTermSettingsPage(WidgetTester tester) async {
await tester.pumpWidget(
MultiProvider(
providers: [
Provider<GradesService>(
create: (_) => GradesService(),
),
Provider<TermSettingsPageControllerFactory>.value(
value: controllerFactory,
),
],
child: const TermSettingsPage(termId: termId),
),
);
}

testWidgets(
'if $WeightDisplayType is ${WeightDisplayType.factor} the factor dialog will be shown when tapping subject weight',
(tester) async {
await pumpTermSettingsPage(tester);
});
});
}
Original file line number Diff line number Diff line change
Expand Up @@ -135,17 +135,20 @@ void main() {
Future<void> pushTermSettingsPage(
WidgetTester tester, ThemeData theme) async {
await tester.pumpWidgetBuilder(
MultiProvider(providers: [
Provider<GradesService>(
create: (_) => GradesService(),
),
Provider<TermSettingsPageControllerFactory>.value(
value: controllerFactory,
),
ChangeNotifierProvider<TermSettingsPageController>.value(
value: controller,
),
], child: const TermSettingsPage(termId: termId)),
MultiProvider(
providers: [
Provider<GradesService>(
create: (_) => GradesService(),
),
Provider<TermSettingsPageControllerFactory>.value(
value: controllerFactory,
),
ChangeNotifierProvider<TermSettingsPageController>.value(
value: controller,
),
],
child: const TermSettingsPage(termId: termId),
),
wrapper: materialAppWrapper(theme: theme),
);
}
Expand Down

0 comments on commit be69d6e

Please sign in to comment.