Files
iNaturalistReactNative/tests/unit/components/SharedComponents/Buttons/Button.test.js
Johannes Klein 621c39dfda 415 snapshot testing for UI buttons (#458)
* Add font weight to Typography elements

* Add Heading5

* Typography snapshot tests

* Add letterSpacing to Heading 4 and 5

* Update Button padding

* Update Button styling

* Add rounded-lg

* Code style and comments

* Add button tests

* Added loading state color to buttons

* Add default color to text

* Use text class name instead

* Change text

* Add non default color text

* Snapshot for icon

* Default text color into button snap

* Update INatIcon.js

* Add Divider component

* Updates to Tabs UI

* Update color

* Add Divider test

* Show underline only when active

* Tabs snapshot

* Update Button UI

* Revert "Update Button UI"

This reverts commit 5361f57dac.

* Update ActivityCount.js

* Get color from theme in buttons

* Use translated string for hints in Tabs snapshots

* Refactor fct args

* Update Tabs

* Remove async

* Use .each in Button test

* Remove comment

* Structuring

* Remove duplicate application of style defaults

* Remove async from Typography
2023-02-15 11:31:16 +01:00

39 lines
1.1 KiB
JavaScript

import { render, screen } from "@testing-library/react-native";
import { Button } from "components/SharedComponents";
import React from "react";
describe.each( [["primary"], ["warning"], ["focus"], ["neutral"]] )(
"Button %s",
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`} />;
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 />
);
expect( button ).toBeAccessible();
} );
} );
}
);