Commit Graph

85 Commits

Author SHA1 Message Date
Johannes Klein
157aaa0758 Replace deprecated assumption syntax (#3519) 2026-04-11 10:07:41 +02:00
sepeterson
8245f6963f MOB-1009 adb helpers 2026-04-01 14:37:46 -05:00
Ryan Stelly
b78be9243d lint rule & autofix for "trailing comma" (#3299)
* (lint) MOB-1063 enforce trailing commas

* autofix trailing commas

* manually fix newly introduced maxlen violations

* add trailing comma convention to i18n build
2025-12-22 20:17:13 -06:00
Abbey Campbell
2c6eb6622a Merge pull request #3271 from inaturalist/mob-963-change-slideover-menu-to-be-a-static-page
Mob 963 change slideover menu to be a static page
2025-12-12 10:27:37 -08:00
Abbey Campbell
0c07017ac6 update testID 2025-12-11 14:17:39 -08:00
Abbey Campbell
9c42d64676 add missing testID to MenuItem, remove drawer layer in signIn test 2025-12-10 12:56:52 -08:00
Ryan Stelly
8f97ae197f MOB-936 introduce new Android CI and Maestro smoke test (#3217)
* MOB-936 introduce new Android CI and Maestro smoke test

* Potential fix for code scanning alert no. 30: Workflow does not contain permissions

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>

* remove branch exception to cache write rule

* delete unused new share flow

* add run to reintroduce workflow

* switch to -m runner for build

* redisable run on push

* add comments and update readme for changes

---------

Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
2025-12-10 12:45:59 -06:00
Abbey Campbell
f05d79be24 remove isTest flag, override bottom-tabs animation in jest setup, add comments to detox fix 2025-12-09 18:48:17 -08:00
Abbey Campbell
1d2d992cbb test disable sync 2025-12-09 18:48:17 -08:00
Abbey Campbell
caca94fb48 update more tests and snapshots 2025-12-09 18:46:40 -08:00
Abbey Campbell
b8375e0254 update tests and snapshots 2025-12-09 18:46:40 -08:00
Ryan Stelly
ac3102027f MOB-987 make resetUser graceful when dismissing announcements and inline delete steps for detox (#3260) 2025-12-02 09:16:30 -06:00
Yaron Budowski
e570e43d97 MOB-925 - e2e test fix 2025-11-14 14:19:05 -08:00
Ryan Stelly
b90ac77a6e make obs deletion in reset script fault tolerant 2025-11-03 11:43:03 -06:00
Ryan Stelly
9919a6c946 remove user deletion from ai camera e2e test 2025-11-03 11:33:58 -06:00
Ryan Stelly
52fe1534e2 use minimal case for sample observation 2025-10-30 09:24:31 -05:00
Ryan Stelly
4c2bc01d3f switch to existing e2e test observation, add more specific error message, remove installation id 2025-10-29 09:58:35 -05:00
Ryan Stelly
d14b97dc7c fix announcement dismissal and add sample obs 2025-10-22 09:58:30 -05:00
Ryan Stelly
bb8b5d39bd Merge branch 'main' into MOB-948-test-user-reset-e2e 2025-10-21 19:13:04 -05:00
Ryan Stelly
dd532da82e MOB-948 add programmatic test user reset step to e2e 2025-10-21 14:36:57 -05:00
Ryan Stelly
84ea126c03 remove extraneous tap directive 2025-10-15 13:40:34 -05:00
Ryan Stelly
2439ce27bb use quotes on Yes tap 2025-10-15 13:38:09 -05:00
Ryan Stelly
8c3517aa73 save image to files for more deterministic image sharing 2025-10-14 15:42:37 -05:00
Ryan Stelly
259b120ccf update flow for share extension, doesn't work yet 2025-10-13 20:14:54 -05:00
Ryan Stelly
1551740e2a update ios maestro flows for graceful FTUEs and explicit image for exif 2025-10-11 13:53:18 -05:00
Johannes Klein
3c04df39a3 Enable New Architecture (#3111)
* Update gradle.properties

* Update Podfile

* Update react-native-mmkv

* Update Podfile.lock

* Delete useObservationsUpdatesWhenFocused.test.js

* Update closeOnboarding.js

* Fix failing button tap in e2e tests

* Create react-native-sensitive-info+6.0.0-alpha.9.patch

* Update bottom-sheets

* Refactor e2e timeout to file-wide const

* Remove check that fails

* Check for entire list item instead of comments count

* Longer delay to wait for observation deletion to make UI disappear
2025-09-27 08:28:13 -06:00
Amanda Bullington
502393a5d1 Dev experience: linting for TypeScript (#2933)
* Change TS warning about unused variables to error & support _unused in catch blocks

* Use TS recommended object instead of Object

* Set Function issues to warnings in TS files for later fixing
2025-06-02 09:47:29 -07:00
Amanda Bullington
fc69a5a456 Fix: onboarding carousel without screen jumpiness (#2825)
* Don't check for prev crashes or sentinel files on a fresh install

* Make sure we're not accidentally creating a new legacy store on every install

* Revert

* Add splash screen, preload images, show onboarding as react nav modal

* Fix e2e tests
2025-04-08 12:45:45 -07:00
Amanda Bullington
d782538109 Advanced settings UI updates (#2797)
* Open more options on long press

* Add tests for long press

* Rearranging Settings screen with new layout

* Add toggle for advanced settings in layout slice; fix default mode toggle

* Update settings with navigation flows

* Fix tests

* Change power mode switch for e2e test

* Fix settings test for green button toggle

* Fix advanced user toggle in e2e test (which hides pivot cards)

* Changes based on design convo; test fixes

* Fix e2e tests

* Follow user flow chart and update nav accordingly

* Rename function

* Fix test

* Can be null so check for false only

* Little less spacing between radio button rows

* Minor UI updates

* Remove check for previous setting in UI

* This is no longer used anywhere

* Update AICamera.test.js

* Update AICamera.test.js

* Update AICamera.test.js

* Update Suggestions.test.js

* Update Settings.test.js

* Update LanguageSettings.test.js

---------

Co-authored-by: Johannes Klein <johannes.t.klein@gmail.com>
2025-03-27 17:36:36 +01:00
Amanda Bullington
70ffa9112a Make MyObservationsSimple the standard UI across default/advanced mode (#2788)
* Update TypeScript

* Fix some tests with new default MyObservationsSimple

* Show upload toolbar on MyObs advanced

* Update tests for simple mode

* Fix deletions popping back up on MyObs

* Fix e2e test, which also means fixing our deletion process

* Fix useSyncObservations test

* Requested changes to better fit latest designs

* Add tests to check for hidden upload banner
2025-03-20 17:04:31 -07:00
Amanda Bullington
9b1275a6eb Use fixed header in ObsDetails advanced mode (#2741)
* Use fixed header on ObsDetails advanced mode

* Remove test for removed component - using react navigation header instead

* Remove tests related to ObsDetails header icon; using react navigation

* Add testID to react navigation level back button and fix e2e

* Terminate app after every e2e test and maybe help flakiness

* Rework termination of app

---------

Co-authored-by: Johannes Klein <johannes.t.klein@gmail.com>
2025-03-12 10:38:35 +01:00
Amanda Bullington
1347ca3488 Retain user mode (advanced/default) after login (#2742)
* Retain user mode (advanced/default) after login

* Switch to power mode before login & hide announcements e2e

* Remove repetitive signin test from e2e
2025-03-12 10:22:39 +01:00
Johannes Klein
83bb3a88a6 Setting to control if screen after camera/library is suggestions (#2695) 2025-02-26 07:30:50 +01:00
Johannes Klein
8877d5168d In e2e tests change to list view before running the signed in test (#2690)
* Change to list view before signed in test

* Switch needs to be earlier
2025-02-21 23:24:18 +01:00
Johannes Klein
bb03bb695a Change default MyObs layout to grid (#2686)
* Change default MyObs layout to grid

* Rename testID

* Update tests expecting to start with list view

* Reverse order of buttons in layout selector

* Fix layout bug of having empty boxes on explore
2025-02-21 18:50:14 +01:00
Amanda Bullington
400f118ad9 Change terminology from gallery to photo library (#2663)
* Update user-facing terminology from gallery to photo library

* Update terminology for devs to make the user-facing change easier to remember

* Update snapshots
2025-02-13 17:11:28 -08:00
budowski
6cbfcc5be7 Fix #2572 - New design for MyObservations - default mode, logged out,… (#2650)
* Fix #2572 - New design for MyObservations - default mode, logged out, no observations

* Fixed tests

* Update close onboarding part of e2e tests

* Update sign-in for e2e

* Update loadTranslations.js

---------

Co-authored-by: Johannes Klein <johannes.t.klein@gmail.com>
2025-02-07 10:09:54 +01:00
Amanda Bullington
1c59f89a14 Add functionality for advanced iNaturalist mode (#2591)
* Add functionality for advanced iNaturalist mode

* Fix language settings test by toggling advanced mode on

* Fix e2e tests by adding advanced user toggle

* Fix more tests in Settings with advanced toggle
2024-12-26 21:35:27 -08:00
Ken-ichi
2d1f98ef3a New Crowdin Translations (#2395)
* New Crowdin translations by GitHub Action

* Increase timeout

---------

Co-authored-by: Crowdin Bot <support+bot@crowdin.com>
Co-authored-by: Johannes Klein <johannes.t.klein@gmail.com>
2024-11-08 12:59:06 +01:00
Ken-ichi
3def5183aa test: wait for OTHER SUGGESTIONS in aicamera test (#2375)
* test: wait for OTHER SUGGESTIONS in aicamera test in an attempt to deflake
* test: try a longer timeout in aicamera test, try launching app again if it fails
2024-11-06 11:48:56 -08:00
Amanda Bullington
0916da7787 Remove @ symbol from usernames (#2339)
* Remove @ symbol from user handle

* Remove @ symbol from e2e test

---------

Co-authored-by: Ken-ichi Ueda <kenichi.ueda@gmail.com>
2024-11-06 10:03:09 -08:00
budowski
7b8c88c84d feat: add onboarding carousel (#2285)
Note that offsetting the onboarding images ended up being a bit hard. We're
mostly doing so with a cropped version of one of the images.

Closes #1906

Also tried to de-flake some tests:

* Use fake timers when possible
* Ensure time travel helper doesn't un-fake our timers
* Wait for time travel helper to finish so changes don't happen outside of
  act
* Stop mocking useCurrentUser in integration tests; that's app code and should
  not be mocked when integrating all parts of the app; instead use signIn /
  signOut helpers
* Remove unnecessary direct uses of act()
* Mocked some inatjs calls to prevent React Query complaints about undefined
  query return values
* Close onboarding before all e2e tests

---------

Co-authored-by: Ken-ichi Ueda <kenichi.ueda@gmail.com>
2024-11-04 12:03:55 -08:00
Johannes Klein
5c8e3be12c test AI camera in e2e (#2188)
* Add a cameraZoomRange default
* Small detox version bump
* Add a mocked camera with a take photo button
* An e2e mock for the computer vision plugin predicting a frame
* Mock taking a photo by loading the first photo from the CameraRoll

Closes #1981
2024-11-01 10:38:37 -07:00
Ken-ichi
62df19dc8b Bump final e2e test timeout to 20s (#1935) 2024-08-07 15:43:35 -07:00
Amanda Bullington
5dbf5ef9a1 Avoid back button disappearing when offline (#1908)
* Customize back button; move icon assets into our image dir

* Fix ContextHeader with updated back button

* Fix styling around back buttons

* Fix taxon details header

* Test fix

* Fix signed in e2e test
2024-08-02 09:46:54 -07:00
Ken-ichi
1679f2f24a AI Camera gallery button (#1896)
* Add button to import photos from the gallery to the AI Camera
* Move AI Camera buttons to side rails so it's easier to add new buttons
* Got shutter button closer to spec
* Change e2e to test for element absence instead of status text

Closes #1848
2024-07-31 11:14:53 -07:00
Ken-ichi
10bbea44c4 e2e mock for Geolocation.watchPosition to deflake tests (#1842) 2024-07-24 17:15:03 -07:00
Amanda Bullington
fca249c655 Show bottom sheet before confirming suggested ID in ObsDetails -> Suggestions flow (#1728)
* Allow user to open add comment sheet from another modal

* Code cleanup

* Add suggest ID bottom sheet to test

* Change names of test IDs in signed in e2e test for TextInputSheet
2024-07-01 16:05:56 -07:00
Johannes Klein
1859e5bd4b Enable e2e tests (#1392)
* Replace downloader dependency which errored out on CI

* Reenable on push to main and PR

* Tap on bottom sheet header to dismiss keyboard
2024-04-15 14:14:34 +02:00
Johannes Klein
e7304dde00 Switch UI to power user mode during e2e test (#1390) 2024-04-15 11:07:16 +02:00