Files
iNaturalistReactNative/tests/unit/components/SharedComponents/Buttons/Button.dark.test.js
Johannes Klein b4516b7b25 Update react native to v0.78.x (#3043)
* Update package.json

* Update package.json

* Updates for native files with upgrade-helpers

* Update .flowconfig

* Update package-lock.json

* Update Podfile.lock

* Add react-dom types

* Update package-lock.json

* Wrong install

* Use types-react-codemod

* Update TaxonSearch.tsx

* Remove react-native-accessibility-engine dependency

This is currently not maintained and not compatible with RN 0.78

* Comment out accessibility tests

* Disable broken snapshot test

* Move broken test

* Move broken test

* Move broken test

* Remove duplicate file

* Move broken tests

* Move broken tests

* Move broken tests

* Move broken tests

* Move broken tests

* Move broken test

* Remove duplicate file

* Move broken tests
2025-08-09 13:47:46 +02:00

59 lines
1.7 KiB
JavaScript

import { render, screen } from "@testing-library/react-native";
import { Button } from "components/SharedComponents";
import React from "react";
// Mock Appearance.getColorScheme()
jest.mock( "react-native/Libraries/Utilities/Appearance", () => {
const actualAppearance = jest.requireActual( "react-native/Libraries/Utilities/Appearance" );
return {
...actualAppearance,
getColorScheme: jest.fn( () => "dark" )
};
} );
// Mock nativewind useColorScheme()
jest.mock( "nativewind", () => {
const actualNativewind = jest.requireActual( "nativewind" );
return {
...actualNativewind,
useColorScheme: jest.fn( () => ( { colorScheme: "dark" } ) )
};
} );
describe.each( [["primary"], ["warning"], ["focus"], ["neutral"]] )(
"Button %s in dark mode",
level => {
it( "should render correctly", () => {
render( <Button level={level} text={`${level.toUpperCase()} BUTTON`} /> );
// Snapshot test
expect( screen ).toMatchSnapshot();
} );
it( "has no accessibility errors", () => {
// const button = <Button level={level} text={`${level.toUpperCase()} BUTTON`} />;
// Disabled during the update to RN 0.78
// expect( button ).toBeAccessible();
} );
describe( "when disabled", () => {
it( "should render correctly", () => {
render( <Button level={level} text={`${level.toUpperCase()} DISABLED`} disabled /> );
// Snapshot test
expect( screen ).toMatchSnapshot();
} );
it( "has no accessibility errors", () => {
// const button = (
// <Button level={level} text={`${level.toUpperCase()} DISABLED`} disabled />
// );
// Disabled during the update to RN 0.78
// expect( button ).toBeAccessible();
} );
} );
}
);