diff --git a/test/helpers/helpers.dart b/test/helpers/helpers.dart index 425b177..ce1b9ad 100644 --- a/test/helpers/helpers.dart +++ b/test/helpers/helpers.dart @@ -1,2 +1,3 @@ +export 'mocks.dart'; export 'pump_app.dart'; export 'set_display_size.dart'; diff --git a/test/helpers/mocks.dart b/test/helpers/mocks.dart new file mode 100644 index 0000000..3da1758 --- /dev/null +++ b/test/helpers/mocks.dart @@ -0,0 +1,13 @@ +import 'package:bloc_test/bloc_test.dart'; +import 'package:mocktail/mocktail.dart'; +import 'package:sudoku/models/models.dart'; +import 'package:sudoku/sudoku/sudoku.dart'; + +class MockSudoku extends Mock implements Sudoku {} + +class MockSudokuBloc extends MockBloc + implements SudokuBloc {} + +class MockSudokuState extends Mock implements SudokuState {} + +class MockBlock extends Mock implements Block {} diff --git a/test/helpers/pump_app.dart b/test/helpers/pump_app.dart index 762dd89..f3b8e6a 100644 --- a/test/helpers/pump_app.dart +++ b/test/helpers/pump_app.dart @@ -1,18 +1,16 @@ -import 'package:bloc_test/bloc_test.dart'; import 'package:flutter/material.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:sudoku/l10n/l10n.dart'; import 'package:sudoku/sudoku/sudoku.dart'; -class _MockSudokuBloc extends MockBloc - implements SudokuBloc {} +import 'helpers.dart'; extension PumpApp on WidgetTester { Future pumpApp(Widget widget, {SudokuBloc? sudokuBloc}) { return pumpWidget( BlocProvider.value( - value: sudokuBloc ?? _MockSudokuBloc(), + value: sudokuBloc ?? MockSudokuBloc(), child: MaterialApp( localizationsDelegates: AppLocalizations.localizationsDelegates, supportedLocales: AppLocalizations.supportedLocales, diff --git a/test/sudoku/view/sudoku_page_test.dart b/test/sudoku/view/sudoku_page_test.dart index 6089f2d..1c50d22 100644 --- a/test/sudoku/view/sudoku_page_test.dart +++ b/test/sudoku/view/sudoku_page_test.dart @@ -1,6 +1,5 @@ // ignore_for_file: prefer_const_constructors -import 'package:bloc_test/bloc_test.dart'; import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:mocktail/mocktail.dart'; @@ -10,11 +9,6 @@ import 'package:sudoku/sudoku/sudoku.dart'; import '../../helpers/helpers.dart'; -class _MockSudokuBloc extends MockBloc - implements SudokuBloc {} - -class _MockSudoku extends Mock implements Sudoku {} - void main() { group('SudokuPage', () { testWidgets('renders SudokuView', (tester) async { @@ -28,8 +22,8 @@ void main() { late Sudoku sudoku; setUp(() { - sudokuBloc = _MockSudokuBloc(); - sudoku = _MockSudoku(); + sudokuBloc = MockSudokuBloc(); + sudoku = MockSudoku(); when(() => sudoku.getDimesion()).thenReturn(3); when(() => sudoku.blocks).thenReturn([]); when(() => sudokuBloc.state).thenReturn( @@ -70,8 +64,8 @@ void main() { late Sudoku sudoku; setUp(() { - sudokuBloc = _MockSudokuBloc(); - sudoku = _MockSudoku(); + sudokuBloc = MockSudokuBloc(); + sudoku = MockSudoku(); when(() => sudoku.getDimesion()).thenReturn(3); when(() => sudoku.blocks).thenReturn([]); when(() => sudokuBloc.state).thenReturn( diff --git a/test/sudoku/widgets/sudoku_block_test.dart b/test/sudoku/widgets/sudoku_block_test.dart index ea1cf6d..7da9f81 100644 --- a/test/sudoku/widgets/sudoku_block_test.dart +++ b/test/sudoku/widgets/sudoku_block_test.dart @@ -1,6 +1,5 @@ // ignore_for_file: prefer_const_constructors -import 'package:bloc_test/bloc_test.dart'; import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:mocktail/mocktail.dart'; @@ -9,15 +8,6 @@ import 'package:sudoku/sudoku/sudoku.dart'; import '../../helpers/helpers.dart'; -class _MockSudokuBloc extends MockBloc - implements SudokuBloc {} - -class _MockSudokuState extends Mock implements SudokuState {} - -class _MockSudoku extends Mock implements Sudoku {} - -class _MockBlock extends Mock implements Block {} - void main() { group('SudokuBlock', () { final block = Block( @@ -35,15 +25,15 @@ void main() { late SudokuState state; setUp(() { - sudoku = _MockSudoku(); + sudoku = MockSudoku(); when(() => sudoku.getDimesion()).thenReturn(3); - state = _MockSudokuState(); + state = MockSudokuState(); when(() => state.sudoku).thenReturn(sudoku); when(() => state.highlightedBlocks).thenReturn({}); when(() => state.currentSelectedBlock).thenReturn(block); - bloc = _MockSudokuBloc(); + bloc = MockSudokuBloc(); when(() => bloc.state).thenReturn(state); }); @@ -98,7 +88,7 @@ void main() { testWidgets( 'renders block when block is part of highlighted, but not selcted', (tester) async { - final otherBlock = _MockBlock(); + final otherBlock = MockBlock(); when(() => otherBlock.position).thenReturn(Position(x: 0, y: 1)); when(() => state.highlightedBlocks).thenReturn({block}); diff --git a/test/sudoku/widgets/sudoku_input_test.dart b/test/sudoku/widgets/sudoku_input_test.dart index 0fa8920..6c5e486 100644 --- a/test/sudoku/widgets/sudoku_input_test.dart +++ b/test/sudoku/widgets/sudoku_input_test.dart @@ -1,6 +1,5 @@ // ignore_for_file: prefer_const_constructors -import 'package:bloc_test/bloc_test.dart'; import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:mocktail/mocktail.dart'; @@ -8,9 +7,6 @@ import 'package:sudoku/sudoku/sudoku.dart'; import '../../helpers/helpers.dart'; -class _MockSudokuBloc extends MockBloc - implements SudokuBloc {} - void main() { group('SudokuInput', () { const largeInputKey = 'sudoku_input_large'; @@ -20,7 +16,7 @@ void main() { late SudokuBloc sudokuBloc; setUp(() { - sudokuBloc = _MockSudokuBloc(); + sudokuBloc = MockSudokuBloc(); }); testWidgets(