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();
});
});