import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:thesis_shop/bloc/cart_bloc.dart'; import 'package:thesis_shop/bloc/product_bloc.dart'; import 'package:thesis_shop/bloc/user_bloc.dart'; import 'package:thesis_shop/bloc_provider.dart'; import 'package:thesis_shop/screens/cart/total_price_text.dart'; import 'product_service_mock.dart'; class CartBlocMock implements CartBloc { @override Stream numberOfProductsStream = const Stream.empty(); @override Cart get cart => throw UnimplementedError(); @override Stream get cartStream => throw UnimplementedError(); @override Future dispose() async {} @override final int numberOfProducts = 1; @override Sink get quantityEventSink => throw UnimplementedError(); @override double get totalPrice => 10.00; @override Stream get totalPriceStream => Stream.value(totalPrice); } void main() { testWidgets('test total price widget', (tester) async { final blocProvider = BlocProvider( userBloc: UserBloc(), productBloc: ProductBloc(MockedProductService(), UserBloc()), cartBloc: CartBlocMock()); final appStateWithTotalPrice = AppState( blocProvider: blocProvider, child: const MaterialApp(home: TotalPriceText())); await tester.pumpWidget(appStateWithTotalPrice); expect(find.text("Gesamtpreis: 10.00€"), findsOneWidget); }); }