From 64b58d03a496d00dff63c9ccdc3678e7fe6de0e1 Mon Sep 17 00:00:00 2001 From: Jonas Franz Date: Thu, 24 Feb 2022 17:47:49 +0100 Subject: [PATCH] Add tests --- test/cart_test.dart | 14 ++++++++++++++ test/product_service_mock.dart | 14 ++++++++------ test/total_price_test.dart | 21 +++++++++++++++++++++ 3 files changed, 43 insertions(+), 6 deletions(-) create mode 100644 test/cart_test.dart create mode 100644 test/total_price_test.dart diff --git a/test/cart_test.dart b/test/cart_test.dart new file mode 100644 index 0000000..2fb7b9f --- /dev/null +++ b/test/cart_test.dart @@ -0,0 +1,14 @@ +// ignore_for_file: invalid_use_of_protected_member + +import 'package:flutter_test/flutter_test.dart'; +import 'package:thesis_shop/stores/cart_store.dart'; + +import 'product_service_mock.dart'; + +void main() { + test('test cart store', () { + final cartStore = CartStore(); + cartStore.increaseAmountOfProduct(demoProducts.first); + expect(cartStore.state[demoProducts.first.title], 1); + }); +} diff --git a/test/product_service_mock.dart b/test/product_service_mock.dart index d3dbb63..c54d122 100644 --- a/test/product_service_mock.dart +++ b/test/product_service_mock.dart @@ -1,15 +1,17 @@ import 'package:thesis_shop/models/product.dart'; import 'package:thesis_shop/service/product_service.dart'; +const demoProducts = [ + Product(title: 'Bananen', price: 3), + Product(title: 'Äpfel', price: 2), + Product(title: 'Birnen', price: 2.5), + Product(title: 'Kirschen', price: 1.2), +]; + class MockedProductService implements ProductService { @override Future> fetchProducts() async { - return const [ - Product(title: 'Bananen', price: 3), - Product(title: 'Äpfel', price: 2), - Product(title: 'Birnen', price: 2.5), - Product(title: 'Kirschen', price: 1.2), - ]; + return demoProducts; } @override diff --git a/test/total_price_test.dart b/test/total_price_test.dart new file mode 100644 index 0000000..a4ccdb8 --- /dev/null +++ b/test/total_price_test.dart @@ -0,0 +1,21 @@ +import 'package:flutter/material.dart'; +import 'package:flutter_riverpod/flutter_riverpod.dart'; +import 'package:flutter_test/flutter_test.dart'; +import 'package:thesis_shop/screens/cart/total_price_text.dart'; +import 'package:thesis_shop/stores/cart_store.dart'; + +void main() { + testWidgets('test total price widget', (tester) async { + await tester.pumpWidget( + MaterialApp( + home: ProviderScope( + overrides: [ + totalPriceProvider.overrideWithValue(10.0), + ], + child: const TotalPriceText(), + ), + ), + ); + expect(find.text('Gesamtpreis: 10.00€'), findsOneWidget); + }); +}