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.
50 lines
1.4 KiB
50 lines
1.4 KiB
2 years ago
|
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);
|
||
|
});
|
||
|
}
|