import { screen } from "@testing-library/react-native"; import Header from "components/ObsEdit/Header"; import React from "react"; import factory from "tests/factory"; import faker from "tests/helpers/faker"; import { renderComponent } from "tests/helpers/render"; const mockObservations = [ factory( "LocalObservation" ), factory( "LocalObservation" ) ]; describe( "Header", () => { it( "has no accessibility errors", () => { const button = (
); expect( button ).toBeAccessible(); } ); it( "renders a header title with 1 observation", async () => { renderComponent(
); const headerText = await screen.findByText( /New Observation/ ); expect( headerText ).toBeVisible(); } ); it( "renders a header title with multiple observations", async () => { renderComponent(
); const headerText = await screen.findByText( /2 Observations/ ); expect( headerText ).toBeVisible(); } ); it( "renders edit header title when observation is saved locally", async () => { const observation = factory( "LocalObservation", { _created_at: faker.date.past( ) } ); renderComponent(
); const headerText = await screen.findByText( /Edit Observation/ ); expect( headerText ).toBeVisible(); } ); it( "renders a kebab menu", async () => { renderComponent(
); const kebabLabel = await screen.findByLabelText( /Menu/ ); expect( kebabLabel ).toBeVisible(); } ); it( "renders a back button with extra padding for accessibility", () => { renderComponent(
); const backButtonId = screen.getByTestId( "ObsEdit.BackButton" ); expect( backButtonId ).toBeVisible(); expect( backButtonId ).toHaveStyle( { paddingVertical: 18, paddingEnd: 24 } ); } ); } );