Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions macos/Flutter/GeneratedPluginRegistrant.swift
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,13 @@ import Foundation
import cloud_firestore
import firebase_auth
import firebase_core
import patrol
import shared_preferences_foundation

func RegisterGeneratedPlugins(registry: FlutterPluginRegistry) {
FLTFirebaseFirestorePlugin.register(with: registry.registrar(forPlugin: "FLTFirebaseFirestorePlugin"))
FLTFirebaseAuthPlugin.register(with: registry.registrar(forPlugin: "FLTFirebaseAuthPlugin"))
FLTFirebaseCorePlugin.register(with: registry.registrar(forPlugin: "FLTFirebaseCorePlugin"))
PatrolPlugin.register(with: registry.registrar(forPlugin: "PatrolPlugin"))
SharedPreferencesPlugin.register(with: registry.registrar(forPlugin: "SharedPreferencesPlugin"))
}
65 changes: 65 additions & 0 deletions patrol_test/web_smoke_test.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
import 'package:boxmatch/main.dart' as app;
import 'package:flutter_test/flutter_test.dart';
import 'package:patrol/patrol.dart';

void main() {
patrolTest('web smoke flow on chrome', ($) async {
app.main();
await $.pumpAndTrySettle(timeout: const Duration(seconds: 10));

final tester = $.tester;
var homeVisible = false;
try {
await $('展場剩食媒合').waitUntilVisible(
timeout: const Duration(seconds: 20),
);
homeVisible = true;
} catch (_) {
try {
await $('Exhibition Surplus Matching').waitUntilVisible(
timeout: const Duration(seconds: 20),
);
homeVisible = true;
} catch (_) {
homeVisible = false;
}
}
expect(homeVisible, isTrue, reason: 'Home page title is not visible after launch');

final launchError = tester.takeException();
expect(launchError, isNull, reason: 'Unexpected exception during app launch');

final mapLabels = <String>['地圖', '場館地圖', 'Map', 'Venue map'];
var mapTapped = false;
for (final label in mapLabels) {
try {
await $(label).tap();
mapTapped = true;
break;
} catch (_) {
// try next label
}
}
expect(mapTapped, isTrue, reason: 'Cannot find map tab label in current locale');
await $.pumpAndTrySettle(timeout: const Duration(seconds: 10));

var mapVisible = false;
for (final label in <String>['場館地圖', 'Venue map']) {
try {
await $(label).waitUntilVisible(timeout: const Duration(seconds: 20));
mapVisible = true;
break;
} catch (_) {
// try next label
}
}
expect(mapVisible, isTrue, reason: 'Map page did not render expected title');

final navigationError = tester.takeException();
expect(
navigationError,
isNull,
reason: 'Unexpected exception after navigating to map page',
);
});
}
32 changes: 32 additions & 0 deletions playwright-report/data/a9507836fa978016534c05fb18798fbaf8b9dade.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# Page snapshot

```yaml
- generic [ref=e4]:
- generic:
- generic:
- generic:
- generic:
- generic:
- generic:
- generic:
- heading "展場剩食媒合" [active] [level=2]
- button "我的預約" [ref=e5]
- button "重新整理" [ref=e6]
- button "Language 繁中" [ref=e7]
- generic:
- generic: 在公開展場快速媒合,減少浪費。
- generic:
- generic: 平台聲明:Boxmatch 僅提供媒合,不保證食品安全。
- checkbox "全部場館" [checked] [ref=e8]
- checkbox "僅收藏場館" [ref=e9]
- checkbox "附近場館" [ref=e10]
- checkbox "可立即取餐" [ref=e11]
- generic:
- generic: "僅收藏場館: 0"
- button "地圖" [ref=e12]
- generic:
- group:
- generic:
- generic: 目前沒有可領取項目。 可切到地圖查看,或由企業先發佈。
- button "去場館地圖看看" [ref=e13]
```
85 changes: 85 additions & 0 deletions playwright-report/index.html

Large diffs are not rendered by default.

56 changes: 56 additions & 0 deletions pubspec.lock
Original file line number Diff line number Diff line change
Expand Up @@ -113,6 +113,22 @@ packages:
url: "https://pub.dev"
source: hosted
version: "2.1.2"
dispose_scope:
dependency: transitive
description:
name: dispose_scope
sha256: "48ec38ca2631c53c4f8fa96b294c801e55c335db5e3fb9f82cede150cfe5a2af"
url: "https://pub.dev"
source: hosted
version: "2.1.0"
equatable:
dependency: transitive
description:
name: equatable
sha256: "3e0141505477fd8ad55d6eb4e7776d3fe8430be8e497ccb1521370c3f21a3e2b"
url: "https://pub.dev"
source: hosted
version: "2.0.8"
fake_async:
dependency: transitive
description:
Expand Down Expand Up @@ -256,6 +272,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "0.20.2"
json_annotation:
dependency: transitive
description:
name: json_annotation
sha256: cb09e7dac6210041fad964ed7fbee004f14258b4eca4040f72d1234062ace4c8
url: "https://pub.dev"
source: hosted
version: "4.11.0"
latlong2:
dependency: "direct main"
description:
Expand Down Expand Up @@ -392,6 +416,30 @@ packages:
url: "https://pub.dev"
source: hosted
version: "2.3.0"
patrol:
dependency: "direct dev"
description:
name: patrol
sha256: "7825a6e96a8f0755f68eec600a91a08b19bd0975488a70885b3696f6b65ffc0f"
url: "https://pub.dev"
source: hosted
version: "4.5.0"
patrol_finders:
dependency: transitive
description:
name: patrol_finders
sha256: "9970eac0669a90b20ec7e1bcaabd0475655655998068ca656f4df9f6ec84f336"
url: "https://pub.dev"
source: hosted
version: "3.2.0"
patrol_log:
dependency: transitive
description:
name: patrol_log
sha256: a2360db165c34692665c0de146e5157887d6b584fdccca8f141f947a5acf1b2e
url: "https://pub.dev"
source: hosted
version: "0.8.0"
platform:
dependency: transitive
description:
Expand Down Expand Up @@ -480,6 +528,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "2.4.1"
shelf:
dependency: transitive
description:
name: shelf
sha256: e7dd780a7ffb623c57850b33f43309312fc863fb6aa3d276a754bb299839ef12
url: "https://pub.dev"
source: hosted
version: "1.4.2"
sky_engine:
dependency: transitive
description: flutter
Expand Down
1 change: 1 addition & 0 deletions pubspec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,7 @@ dev_dependencies:
# package. See that file for information about deactivating specific lint
# rules and activating additional ones.
flutter_lints: ^6.0.0
patrol: ^4.5.0

# For information on the generic Dart part of this file, see the
# following page: https://dart.dev/tools/pub/pubspec
Expand Down
6 changes: 6 additions & 0 deletions test-results/.last-run.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"status": "failed",
"failedTests": [
"e0e5c6321cedaeb39e74-b1370df8a2f4e3bca926"
]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# Page snapshot

```yaml
- generic [ref=e4]:
- generic:
- generic:
- generic:
- generic:
- generic:
- generic:
- generic:
- heading "展場剩食媒合" [active] [level=2]
- button "我的預約" [ref=e5]
- button "重新整理" [ref=e6]
- button "Language 繁中" [ref=e7]
- generic:
- generic: 在公開展場快速媒合,減少浪費。
- generic:
- generic: 平台聲明:Boxmatch 僅提供媒合,不保證食品安全。
- checkbox "全部場館" [checked] [ref=e8]
- checkbox "僅收藏場館" [ref=e9]
- checkbox "附近場館" [ref=e10]
- checkbox "可立即取餐" [ref=e11]
- generic:
- generic: "僅收藏場館: 0"
- button "地圖" [ref=e12]
- generic:
- group:
- generic:
- generic: 目前沒有可領取項目。 可切到地圖查看,或由企業先發佈。
- button "去場館地圖看看" [ref=e13]
```
89 changes: 89 additions & 0 deletions test_bundle.dart

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading