mirror of
https://github.com/fleetdm/fleet
synced 2026-05-06 06:48:54 +00:00
49 lines
1.3 KiB
JavaScript
49 lines
1.3 KiB
JavaScript
import { render, screen } from "@testing-library/react";
|
|
|
|
import helpers from "test/helpers";
|
|
import { userStub } from "test/stubs";
|
|
import CoreLayout from "./CoreLayout";
|
|
|
|
const { connectedComponent, reduxMockStore } = helpers;
|
|
|
|
describe("CoreLayout - layouts", () => {
|
|
const store = {
|
|
app: { config: {} },
|
|
auth: { user: userStub },
|
|
notifications: {},
|
|
persistentFlash: {
|
|
showFlash: false,
|
|
message: "",
|
|
},
|
|
};
|
|
const mockStore = reduxMockStore(store);
|
|
|
|
it("renders the FlashMessage component when notifications are present", () => {
|
|
const storeWithNotifications = {
|
|
app: { config: {} },
|
|
auth: {
|
|
user: userStub,
|
|
},
|
|
notifications: {
|
|
alertType: "success",
|
|
isVisible: true,
|
|
message: "nice jerb!",
|
|
},
|
|
};
|
|
const mockStoreWithNotifications = reduxMockStore(storeWithNotifications);
|
|
const componentWithFlash = connectedComponent(CoreLayout, {
|
|
mockStore: mockStoreWithNotifications,
|
|
});
|
|
const componentWithoutFlash = connectedComponent(CoreLayout, {
|
|
mockStore,
|
|
});
|
|
|
|
const { container, rerender } = render(componentWithFlash);
|
|
|
|
expect(container.querySelector(".flash-message")).toBeInTheDocument();
|
|
|
|
rerender(componentWithoutFlash);
|
|
|
|
expect(container.querySelector(".flash-message")).not.toBeInTheDocument();
|
|
});
|
|
});
|