Conversation
7b88297 to
4a6f8e5
Compare
0806722 to
d0a34bd
Compare
cc7d97a to
fde3493
Compare
|
There is failing check because parkings are down |
|
But yesterday test was passing |
simon-the-shark
left a comment
There was a problem hiding this comment.
good job, good job. if you don't want to expand tests now, we can add all this as followup tasks on the board
.github/workflows/flutter_ci.yaml
Outdated
|
|
||
| steps: | ||
| - uses: actions/checkout@v6 | ||
| - uses: actions/checkout@v4 |
.github/workflows/flutter_ci.yaml
Outdated
| - name: Pre-build iOS Integration Test App | ||
| run: flutter build ios --debug --no-codesign --simulator | ||
|
|
||
| - name: Boot iOS Simulator | ||
| run: | | ||
| set +e | ||
| DEVICE_UUID=$(xcrun simctl list devices available | grep "iPhone" | head -n 1 | awk -F'[()]' '{print $2}') | ||
| set -e | ||
|
|
||
| if [ -z "$DEVICE_UUID" ]; then | ||
| exit 1 | ||
| fi | ||
|
|
||
| xcrun simctl boot "$DEVICE_UUID" || true | ||
| xcrun simctl bootstatus "$DEVICE_UUID" | ||
| echo "SIMULATOR_ID=$DEVICE_UUID" >> $GITHUB_ENV | ||
|
|
||
| - name: Run Integration Tests on iOS Simulator | ||
| run: flutter test integration_test/smoke_test.dart -d "$SIMULATOR_ID" --timeout=30m | ||
| timeout-minutes: 45 No newline at end of file |
There was a problem hiding this comment.
since it's taking 20+ minutes, let's separate all-checks from integrations-tests maybe so it can run in parallel (can be same file and workflow, just separate jobs)?
There was a problem hiding this comment.
how about AboutUsView, CalendarView, NewsListView, SksMenuScreen, SksFavouriteDishesView, SettingsView :))) ?
There was a problem hiding this comment.
It's good idea for next task
There was a problem hiding this comment.
there's also obv digital guide but no need to do it now, you can add it to backlog as followup task for someone in the future
| testWidgets("DeparmentsView smoke test", (tester) async { | ||
| await app.main(overrides: createPopupProviderOverrides()); | ||
| await tester.pumpAndSettle(); | ||
|
|
||
| await tapNavButton(tester, NavBarEnum.navigation); | ||
| await tester.pump(const Duration(seconds: 3)); // there pumpAndSettle never ends on NavigationView | ||
|
|
||
| final navButton = find.byKey(NavigationTabViewConfig.departments); | ||
| await tester.tap(navButton); | ||
|
|
||
| await tester.pumpAndSettle(); | ||
|
|
||
| final errorFinder = find.byType(MyErrorWidget); | ||
| final scrollableFinder = find.byKey(MyAppConfig.verticalScrollableKey); | ||
| await scrollAndFailIfFound(tester: tester, scrollableFinder: scrollableFinder, targetFinder: errorFinder); | ||
| await tester.pumpAndSettle(); | ||
| await tester.pump(const Duration(seconds: 3)); | ||
| }); |
There was a problem hiding this comment.
for the list views, we could consider also clicking on a random item on the list and seeing if it hadn't crashed as well. wdyt?
There was a problem hiding this comment.
It's good idea for next task
Important
Introduces smoke tests and updates CI workflow for iOS integration testing, with code adjustments for test support.
.github/workflows/flutter_ci.yamlto include iOS integration tests using a simulator.git-cryptand unlock secrets for testing.integration_test/smoke_test.dartwith multiple end-to-end tests for different views like HomeView, BuildingsView, etc.PreferredLanguageRepository,BranchRepository, andLocalChangelogRepository.verticalScrollableKeytoMyAppConfiginui_config.dartfor consistent scrollable widget identification.AwesomeDioInterceptortodio_client.dartfor enhanced logging in debug mode.ref.mountedchecks indepartments_repository.dartandpop_scope_coordinator.dartto prevent errors during unmounted state.This description was created by
for fde3493. You can customize this summary. It will automatically update as commits are pushed.