/** @jsx jsx */
import { jsx } from "@emotion/react";
import { renderWithProviders } from "../utils";
import AuthorizationSplash from "../../components/AuthorizationSplash";
import { finishAuthorizing } from "../../slices/authorization";
import { act } from "@testing-library/react";
test("authorization splash is hidden when not authorizing", () => {
const { container } = renderWithProviders();
const splash = container.firstElementChild;
expect(splash).not.toBe(null);
if (splash) {
const style = window.getComputedStyle(splash);
expect(style.opacity).toBe("0");
}
});
test("authorization splash is visible when authorizing state is set", () => {
const { container } = renderWithProviders(, {
preloadedState: {
authorization: {
authorizing: true
}
}
});
const splash = container.firstElementChild;
expect(splash).not.toBe(null);
if (splash) {
const style = window.getComputedStyle(splash);
expect(style.opacity).toBe("1");
}
});
test("test state transitions when authorization completes", () => {
const { store, container } = renderWithProviders(, {
preloadedState: {
authorization: {
authorizing: true
}
}
});
const splash = container.firstElementChild;
expect(splash).not.toBe(null);
if (splash) {
let style = window.getComputedStyle(splash);
expect(style.opacity).toBe("1");
act(() => {
store.dispatch(finishAuthorizing());
});
style = window.getComputedStyle(splash);
expect(style.opacity).toBe("0");
}
});