mirror of
https://github.com/inaturalist/iNaturalistReactNative.git
synced 2026-01-16 17:59:10 -05:00
* Update tooltip trigger logic in AddObsButton for logged in Refines the tooltip display conditions for AddObsButton. Now shows the tooltip for logged-out users after their second observation, and for logged-in users with 50 or fewer observations upon landing on the My Observations screen. Adds comments for future handling of users with more than 50 observations. * Refactor the state justFinishedSignup into the layout store slice * Refactor trigger logic and add conditions for when the tooltip would overlap with pivot cards * Move files * Basic AddObsButton unit test * Add mock for addListener * Basic test for tooltip * Add tests for two conditions that require a card dismissal * Wrap setState in act in helper function
25 lines
875 B
JavaScript
25 lines
875 B
JavaScript
// Separate tests for iOS 9. AddObsModal sets some OS-specific constants at
|
|
// load time that can't be altered at runtime, so we're using a separate test
|
|
// with a separate mock to control those load time values.
|
|
import { render, screen } from "@testing-library/react-native";
|
|
import AddObsModal from "components/AddObsModal/AddObsModal.tsx";
|
|
import i18next from "i18next";
|
|
import React from "react";
|
|
|
|
// Make sure the mock reports OS version 9
|
|
jest.mock( "react-native/Libraries/Utilities/Platform", ( ) => ( {
|
|
OS: "ios",
|
|
select: jest.fn( ),
|
|
Version: 9
|
|
} ) );
|
|
|
|
describe( "AddObsModal in iOS 9", ( ) => {
|
|
it( "hides AI camera button on older devices", async ( ) => {
|
|
render( <AddObsModal closeModal={jest.fn( )} /> );
|
|
const arCameraButton = screen.queryByLabelText(
|
|
i18next.t( "AI-Camera" )
|
|
);
|
|
expect( arCameraButton ).toBeFalsy( );
|
|
} );
|
|
} );
|