You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
31 lines
955 B
31 lines
955 B
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<void> dispose() async {}
|
|
|
|
@override
|
|
Sink<LoadProductEvent> get loadProductSink => throw UnimplementedError();
|
|
|
|
@override
|
|
final ProductsState productsState = const ProductsState.loaded(demoProducts);
|
|
|
|
@override
|
|
Stream<ProductsState> 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));
|
|
});
|
|
}
|
|
|