import React from "react"; import { render } from "@testing-library/react-native"; import { InternalButtonLoading, darkPattern, lightPattern, } from "./InternalButtonLoading"; import type { ButtonType, ButtonVariation } from "../../types"; describe("Loading pattern", () => { it.each<[string, ButtonType, ButtonVariation]>([ [lightPattern, "primary", "work"], [lightPattern, "primary", "destructive"], [lightPattern, "primary", "learning"], [darkPattern, "primary", "cancel"], [darkPattern, "secondary", "cancel"], [darkPattern, "secondary", "work"], [darkPattern, "secondary", "destructive"], [darkPattern, "secondary", "learning"], [darkPattern, "tertiary", "cancel"], [darkPattern, "tertiary", "work"], [darkPattern, "tertiary", "destructive"], [darkPattern, "tertiary", "learning"], ])( "should render a %s pattern on %s %s combination", (pattern, type, variation) => { const { getByTestId } = render( , ); const component = getByTestId("loadingImage"); expect(component.props.source).toMatchObject({ uri: expect.stringContaining(pattern), }); }, ); });