1
0
Fork 0
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.
 
 
 
 
 
thesis_shop/test/total_price_test.dart

49 lines
1.4 KiB

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<int> numberOfProductsStream = const Stream.empty();
@override
Cart get cart => throw UnimplementedError();
@override
Stream<Cart> get cartStream => throw UnimplementedError();
@override
Future<void> dispose() async {}
@override
final int numberOfProducts = 1;
@override
Sink<ChangeQuantityEvent> get quantityEventSink => throw UnimplementedError();
@override
double get totalPrice => 10.00;
@override
Stream<double> 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);
});
}