mirror of
https://github.com/Azure/cosmos-explorer.git
synced 2026-04-19 04:48:59 +01:00
56 lines
1.9 KiB
TypeScript
56 lines
1.9 KiB
TypeScript
import { Stack } from "@fluentui/react";
|
|
import Explorer from "Explorer/Explorer";
|
|
import { SampleBubble } from "Explorer/QueryCopilot/V2/Bubbles/Sample/SampleBubble";
|
|
import { shallow } from "enzyme";
|
|
import { useQueryCopilot } from "hooks/useQueryCopilot";
|
|
import { withHooks } from "jest-react-hooks-shallow";
|
|
import React from "react";
|
|
import { QueryCopilotSidebar } from "./QueryCopilotSidebar";
|
|
|
|
describe("Query Copilot Sidebar snapshot test", () => {
|
|
const initialState = useQueryCopilot.getState();
|
|
|
|
beforeEach(() => {
|
|
useQueryCopilot.setState(initialState, true);
|
|
});
|
|
|
|
it("should render and set copilot used flag", () => {
|
|
withHooks(() => {
|
|
useQueryCopilot.getState().setShowCopilotSidebar(true);
|
|
const wrapper = shallow(<QueryCopilotSidebar explorer={new Explorer()} />);
|
|
|
|
expect(useQueryCopilot.getState().wasCopilotUsed).toBeTruthy();
|
|
expect(wrapper).toMatchSnapshot();
|
|
});
|
|
});
|
|
|
|
it("should render and not set copilot used flag", () => {
|
|
withHooks(() => {
|
|
const wrapper = shallow(<QueryCopilotSidebar explorer={new Explorer()} />);
|
|
|
|
expect(useQueryCopilot.getState().wasCopilotUsed).toBeFalsy();
|
|
expect(wrapper).toMatchSnapshot();
|
|
});
|
|
});
|
|
|
|
it("should render with chat messages", () => {
|
|
const message = "some test message";
|
|
useQueryCopilot.getState().setChatMessages([{ source: 0, message: message }]);
|
|
const wrapper = shallow(<QueryCopilotSidebar explorer={new Explorer()} />);
|
|
|
|
const messageContainer = wrapper.find(Stack).findWhere((x) => x.text() === message);
|
|
|
|
expect(messageContainer).toBeDefined();
|
|
expect(wrapper).toMatchSnapshot();
|
|
});
|
|
|
|
it("should render samples without messages", () => {
|
|
const wrapper = shallow(<QueryCopilotSidebar explorer={new Explorer()} />);
|
|
|
|
const sampleBubble = wrapper.find(SampleBubble);
|
|
|
|
expect(sampleBubble).toBeDefined();
|
|
expect(wrapper).toMatchSnapshot();
|
|
});
|
|
});
|