diff --git a/tests/helpers/addObsBottomSheet.js b/tests/helpers/addObsBottomSheet.js index 880f0fa74..4f2bde292 100644 --- a/tests/helpers/addObsBottomSheet.js +++ b/tests/helpers/addObsBottomSheet.js @@ -141,10 +141,26 @@ export async function navigateToSuggestionsViaAICameraFromMyObs() { await navigateToAICameraFromMyObs( ); await takeAICameraPhotoAndOpenSuggestions( ); } + async function pressObsEditSaveButton() { await actor.press( await screen.findByTestId( "ObsEdit.saveButton" ) ); } + +/** Dismisses TextSheet confirmations (missing evidence, imprecise location). */ +async function confirmObsEditWarningSheets() { + for ( let attempt = 0; attempt < 2; attempt += 1 ) { + try { + const okButton = await screen.findByText( "OK", {}, { timeout: 2_000 } ); + await actor.press( okButton ); + await pressObsEditSaveButton(); + } catch { + break; + } + } +} + /** Saves on ObsEdit, confirming warning sheets when they appear, then waits for My Obs. */ export async function saveObsEditObservation( options = {} ) { await pressObsEditSaveButton(); + await confirmObsEditWarningSheets(); } diff --git a/tests/integration/navigation/MyObservations.test.js b/tests/integration/navigation/MyObservations.test.js index 9fd32e473..887990047 100644 --- a/tests/integration/navigation/MyObservations.test.js +++ b/tests/integration/navigation/MyObservations.test.js @@ -176,9 +176,6 @@ describe( "MyObservations -> ObsEdit no evidence -> MyObservations", ( ) => { await waitForDisplayedText( /1 observation uploaded/ ); await pressButtonByLabel( /Add observations/ ); await pressButtonByLabel( /Observation with no evidence/ ); - // missing evidence sheet pops up here, so need to press SAVE twice - await pressButtonByText( "OK" ); - await pressButtonByText( /SAVE/ ); // await navigateToPhotoImporterFromMyObs(); await saveObsEditObservation(); await waitForDisplayedText( /Upload 3 observations/, 5000 );