From 278ad097734d028439aef46a18177a9fb714dc08 Mon Sep 17 00:00:00 2001 From: Joaquin Torres Date: Tue, 17 Oct 2023 14:44:28 +0900 Subject: [PATCH] Add integration test example --- .../questionnaire_item_test.dart | 20 ++ example/lib/questionnaire_launch_tile.dart | 1 + example/pubspec.lock | 190 ++++++++++++++++-- example/pubspec.yaml | 4 + 4 files changed, 202 insertions(+), 13 deletions(-) create mode 100644 example/integration_test/questionnaire_item_test.dart diff --git a/example/integration_test/questionnaire_item_test.dart b/example/integration_test/questionnaire_item_test.dart new file mode 100644 index 00000000..2ab16989 --- /dev/null +++ b/example/integration_test/questionnaire_item_test.dart @@ -0,0 +1,20 @@ +import 'package:faiadashu_example/main.dart'; +import 'package:flutter/material.dart'; +import 'package:flutter_test/flutter_test.dart'; +import 'package:integration_test/integration_test.dart'; + +void main() { + IntegrationTestWidgetsFlutterBinding.ensureInitialized(); + + testWidgets('check every questionnaire type is available', (tester) async { + await tester.pumpWidget(const MyApp()); + + expect(find.text('SDC Demo Scroller'), findsOneWidget); + + final item = find.byKey(const Key('SDC Demo Scroller')); + await tester.tap(item); + await tester.pumpAndSettle(); + + expect(find.text('SDC Demo Survey'), findsOneWidget); + }); +} diff --git a/example/lib/questionnaire_launch_tile.dart b/example/lib/questionnaire_launch_tile.dart index a296285a..44e3029a 100644 --- a/example/lib/questionnaire_launch_tile.dart +++ b/example/lib/questionnaire_launch_tile.dart @@ -86,6 +86,7 @@ class _QuestionnaireLaunchTileState extends State { @override Widget build(BuildContext context) { return ListTile( + key: Key(widget.title), title: Text(widget.title), subtitle: FutureBuilder( future: _modelFuture, diff --git a/example/pubspec.lock b/example/pubspec.lock index aa2e578a..593a0281 100644 --- a/example/pubspec.lock +++ b/example/pubspec.lock @@ -13,10 +13,18 @@ packages: dependency: transitive description: name: async - sha256: "271b8899fc99f9df4f4ed419fa14e2fff392c7b2c162fbb87b222e2e963ddc73" + sha256: "947bfcf187f74dbc5e146c9eb9c0f10c9f8b30743e341481c1e2ed3ecc18c20c" url: "https://pub.dev" source: hosted - version: "2.9.0" + version: "2.11.0" + boolean_selector: + dependency: transitive + description: + name: boolean_selector + sha256: "6cfb5af12253eaf2b368f07bacc5a80d1301a071c73360d746b7f2e32d762c66" + url: "https://pub.dev" + source: hosted + version: "2.1.1" characters: dependency: transitive description: @@ -49,6 +57,14 @@ packages: url: "https://pub.dev" source: hosted version: "1.17.1" + cross_file: + dependency: transitive + description: + name: cross_file + sha256: "445db18de832dba8d851e287aff8ccf169bed30d2e94243cb54c7d2f1ed2142c" + url: "https://pub.dev" + source: hosted + version: "0.3.3+6" crypto: dependency: transitive description: @@ -71,6 +87,14 @@ packages: relative: true source: path version: "0.8.0" + fake_async: + dependency: transitive + description: + name: fake_async + sha256: "511392330127add0b769b75a987850d136345d9227c6b94c96a04cf4a391bf78" + url: "https://pub.dev" + source: hosted + version: "1.3.1" ffi: dependency: transitive description: @@ -127,16 +151,98 @@ packages: url: "https://pub.dev" source: hosted version: "6.1.4" + file_selector: + dependency: transitive + description: + name: file_selector + sha256: "1d2fde93dddf634a9c3c0faa748169d7ac0d83757135555707e52f02c017ad4f" + url: "https://pub.dev" + source: hosted + version: "0.9.5" + file_selector_android: + dependency: transitive + description: + name: file_selector_android + sha256: d41e165d6f798ca941d536e5dc93494d50e78c571c28ad60cfe0b0fefeb9f1e7 + url: "https://pub.dev" + source: hosted + version: "0.5.0+3" + file_selector_ios: + dependency: transitive + description: + name: file_selector_ios + sha256: b3fbdda64aa2e335df6e111f6b0f1bb968402ed81d2dd1fa4274267999aa32c2 + url: "https://pub.dev" + source: hosted + version: "0.5.1+6" + file_selector_linux: + dependency: transitive + description: + name: file_selector_linux + sha256: "045d372bf19b02aeb69cacf8b4009555fb5f6f0b7ad8016e5f46dd1387ddd492" + url: "https://pub.dev" + source: hosted + version: "0.9.2+1" + file_selector_macos: + dependency: transitive + description: + name: file_selector_macos + sha256: b15c3da8bd4908b9918111fa486903f5808e388b8d1c559949f584725a6594d6 + url: "https://pub.dev" + source: hosted + version: "0.9.3+3" + file_selector_platform_interface: + dependency: transitive + description: + name: file_selector_platform_interface + sha256: "0aa47a725c346825a2bd396343ce63ac00bda6eff2fbc43eabe99737dede8262" + url: "https://pub.dev" + source: hosted + version: "2.6.1" + file_selector_web: + dependency: transitive + description: + name: file_selector_web + sha256: dc6622c4d66cb1bee623ddcc029036603c6cc45c85e4a775bb06008d61c809c1 + url: "https://pub.dev" + source: hosted + version: "0.9.2+1" + file_selector_windows: + dependency: transitive + description: + name: file_selector_windows + sha256: d3547240c20cabf205c7c7f01a50ecdbc413755814d6677f3cb366f04abcead0 + url: "https://pub.dev" + source: hosted + version: "0.9.3+1" + filesize: + dependency: transitive + description: + name: filesize + sha256: f53df1f27ff60e466eefcd9df239e02d4722d5e2debee92a87dfd99ac66de2af + url: "https://pub.dev" + source: hosted + version: "2.0.1" flutter: dependency: "direct main" description: flutter source: sdk version: "0.0.0" + flutter_driver: + dependency: transitive + description: flutter + source: sdk + version: "0.0.0" flutter_localizations: dependency: "direct main" description: flutter source: sdk version: "0.0.0" + flutter_test: + dependency: "direct dev" + description: flutter + source: sdk + version: "0.0.0" flutter_web_auth: dependency: transitive description: @@ -158,6 +264,11 @@ packages: url: "https://pub.dev" source: hosted version: "2.0.3" + fuchsia_remote_debug_protocol: + dependency: transitive + description: flutter + source: sdk + version: "0.0.0" google_fonts: dependency: "direct main" description: @@ -230,6 +341,11 @@ packages: url: "https://pub.dev" source: hosted version: "4.0.1" + integration_test: + dependency: "direct dev" + description: flutter + source: sdk + version: "0.0.0" intl: dependency: "direct main" description: @@ -282,10 +398,10 @@ packages: dependency: transitive description: name: matcher - sha256: "2e2c34e631f93410daa3ee3410250eadc77ac6befc02a040eda8a123f34e6f5a" + sha256: "6501fbd55da300384b768785b83e5ce66991266cec21af89ab9ae7f5ce1c4cbb" url: "https://pub.dev" source: hosted - version: "0.12.11" + version: "0.12.15" material_color_utilities: dependency: transitive description: @@ -302,6 +418,14 @@ packages: url: "https://pub.dev" source: hosted version: "1.9.1" + mime: + dependency: transitive + description: + name: mime + sha256: e4ff8e8564c03f255408decd16e7899da1733852a9110a58fe6d1b817684a63e + url: "https://pub.dev" + source: hosted + version: "1.0.4" oauth2: dependency: transitive description: @@ -439,34 +563,58 @@ packages: dependency: transitive description: name: source_span - sha256: e3320978e3715725e62f04358fd249c1efe5999297b2c6acd626a817593281b0 + sha256: dd904f795d4b4f3b870833847c461801f6750a9fa8e61ea5ac53f9422b31f250 url: "https://pub.dev" source: hosted - version: "1.9.0" + version: "1.9.1" stack_trace: dependency: transitive description: name: stack_trace - sha256: f8d9f247e2f9f90e32d1495ff32dac7e4ae34ffa7194c5ff8fcc0fd0e52df774 + sha256: c3c7d8edb15bee7f0f74debd4b9c5f3c2ea86766fe4178eb2a18eb30a0bdaed5 url: "https://pub.dev" source: hosted - version: "1.10.0" + version: "1.11.0" + stream_channel: + dependency: transitive + description: + name: stream_channel + sha256: "83615bee9045c1d322bbbd1ba209b7a749c2cbcdcb3fdd1df8eb488b3279c1c8" + url: "https://pub.dev" + source: hosted + version: "2.1.1" string_scanner: dependency: transitive description: name: string_scanner - sha256: "862015c5db1f3f3c4ea3b94dc2490363a84262994b88902315ed74be1155612f" + sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde" url: "https://pub.dev" source: hosted - version: "1.1.1" + version: "1.2.0" + sync_http: + dependency: transitive + description: + name: sync_http + sha256: "7f0cd72eca000d2e026bcd6f990b81d0ca06022ef4e32fb257b30d3d1014a961" + url: "https://pub.dev" + source: hosted + version: "0.3.1" term_glyph: dependency: transitive description: name: term_glyph - sha256: a88162591b02c1f3a3db3af8ce1ea2b374bd75a7bb8d5e353bcfbdc79d719830 + sha256: a29248a84fbb7c79282b40b8c72a1209db169a2e0542bce341da992fe1bc7e84 url: "https://pub.dev" source: hosted - version: "1.2.0" + version: "1.2.1" + test_api: + dependency: transitive + description: + name: test_api + sha256: eb6ac1540b26de412b3403a163d919ba86f6a973fe6cc50ae3541b80092fdcfb + url: "https://pub.dev" + source: hosted + version: "0.5.1" typed_data: dependency: transitive description: @@ -555,6 +703,22 @@ packages: url: "https://pub.dev" source: hosted version: "2.1.4" + vm_service: + dependency: transitive + description: + name: vm_service + sha256: f6deed8ed625c52864792459709183da231ebf66ff0cf09e69b573227c377efe + url: "https://pub.dev" + source: hosted + version: "11.3.0" + webdriver: + dependency: transitive + description: + name: webdriver + sha256: "3c923e918918feeb90c4c9fdf1fe39220fa4c0e8e2c0fffaded174498ef86c49" + url: "https://pub.dev" + source: hosted + version: "3.0.2" webview_flutter: dependency: transitive description: @@ -629,4 +793,4 @@ packages: version: "3.1.1" sdks: dart: ">=3.0.0-0 <4.0.0" - flutter: ">=3.0.0" + flutter: ">=3.7.0" diff --git a/example/pubspec.yaml b/example/pubspec.yaml index b83d9299..3bbcc323 100644 --- a/example/pubspec.yaml +++ b/example/pubspec.yaml @@ -38,6 +38,10 @@ dependencies: simple_html_css: ^3.0.1+1 dev_dependencies: + flutter_test: + sdk: flutter + integration_test: + sdk: flutter lint: ^1.8.2