import { render } from "@testing-library/react-native"; import React from "react"; import renderer from "react-test-renderer"; import { ThemeProvider } from "../../../theme/src/theme-context"; import Box from "../box/box"; import Stack from "../stack/stack"; import Spinner from "./spinner"; import Indicator from "./indicators/indicator"; jest.useFakeTimers(); describe("Atoms/Spinner", () => { it("passes the snapshot test for different sizes", () => { const tree = render( ).toJSON(); expect(tree).toMatchSnapshot(); }); it("passes the snapshot test for different variants", () => { const tree = render( ).toJSON(); expect(tree).toMatchSnapshot(); }); it("passes the snapshot test for different color schemes", () => { const tree = render( ).toJSON(); expect(tree).toMatchSnapshot(); }); it("passes the snapshot test if the spinner is expanded or not", () => { const tree = render( ).toJSON(); expect(tree).toMatchSnapshot(); }); it("doesn't render when not loading", () => { const tree = renderer .create( ) .toJSON(); expect((tree as any).children).toBe(null); }); it("renders when loading", () => { let comp; renderer.act(() => { comp = renderer.create( ); }); const tree = (comp as any).toJSON(); expect(tree.children.length).toBe(1); }); }); describe("Atoms/Indicator", () => { it("passes the snapshot test for different animation durations", () => { const tree = render( ).toJSON(); expect(tree).toMatchSnapshot(); }); it("passes the snapshot test for different counts", () => { const tree = render( ).toJSON(); expect(tree).toMatchSnapshot(); }); });