import { screen } from "@testing-library/react-native"; import MatchHeader from "components/Match/MatchHeader"; import React from "react"; import factory from "tests/factory"; import { renderComponent } from "tests/helpers/render"; describe( "MatchHeader", () => { it( "does not render content when topSuggestion is not provided", () => { renderComponent( ); expect( screen.queryByText( /observed/i ) ).toBeFalsy(); expect( screen.queryByText( /Confidence/i ) ).toBeFalsy(); } ); it( "displays high confidence message for species", () => { const topSuggestion = { combined_score: 95, taxon: factory( "LocalTaxon", { rank_level: 10 } ), }; renderComponent( ); expect( screen.getByText( "You observed this species" ) ).toBeVisible(); } ); it( "displays high confidence message for taxa above species", () => { const topSuggestion = { combined_score: 95, taxon: factory( "LocalTaxon", { rank_level: 20 } ), }; renderComponent( ); expect( screen.getByText( "You observed a species in this group" ) ).toBeVisible(); expect( screen.getByText( "95%" ) ).toBeVisible(); expect( screen.getByText( "Confidence" ) ).toBeVisible(); } ); it( "displays likely confidence message for species", () => { const topSuggestion = { combined_score: 75, taxon: factory( "LocalTaxon", { rank_level: 10 } ), }; renderComponent( ); expect( screen.getByText( "You likely observed this species" ) ).toBeVisible(); } ); it( "displays may have observed message", () => { const topSuggestion = { combined_score: 30, taxon: factory( "LocalTaxon", { rank_level: 10 } ), }; renderComponent( ); expect( screen.getByText( "You may have observed this species" ) ).toBeVisible(); } ); it( "hides observation status when hideObservationStatus is true", () => { const topSuggestion = { combined_score: 87.5, taxon: factory( "LocalTaxon", { rank_level: 10 } ), }; renderComponent( ); expect( screen.queryByText( "You observed this species" ) ).toBeFalsy(); expect( screen.queryByText( "87.5%" ) ).toBeFalsy(); expect( screen.queryByText( "Confidence" ) ).toBeFalsy(); } ); } );