import 'package:flutter_test/flutter_test.dart'; import 'package:thesis_shop/bloc/cart_bloc.dart'; import 'package:thesis_shop/bloc/product_bloc.dart'; import 'product_service_mock.dart'; class ProductBlocMock implements ProductBloc { const ProductBlocMock(); @override Future dispose() async {} @override Sink get loadProductSink => throw UnimplementedError(); @override final ProductsState productsState = const ProductsState.loaded(demoProducts); @override Stream get productsStateStream => Stream.value(productsState).asBroadcastStream(); } void main() { test('test cart bloc', () async { const productBlocMock = ProductBlocMock(); final cartBloc = CartBloc(productBlocMock); final expectedCart = {demoProducts.first: 1}; expectLater(cartBloc.cartStream, emits(expectedCart)); cartBloc.quantityEventSink.add(IncreaseQuantityEvent(demoProducts.first)); }); }