Unified · Split
| @@ -1,65 +0,0 @@ | |||
| 1 | import type { ReactNode } from "react"; | ||
| 2 | import { renderToStaticMarkup } from "react-dom/server"; | ||
| 3 | import { beforeEach, describe, expect, it, vi } from "vite-plus/test"; | ||
| 4 | |||
| 5 | const testState = vi.hoisted(() => ({ | ||
| 6 | codeViewOptions: null as Record<string, unknown> | null, | ||
| 7 | })); | ||
| 8 | |||
| 9 | vi.mock("@pierre/diffs/react", () => ({ | ||
| 10 | CodeView: (props: { options: Record<string, unknown> }) => { | ||
| 11 | testState.codeViewOptions = props.options; | ||
| 12 | return null; | ||
| 13 | }, | ||
| 14 | })); | ||
| 15 | |||
| 16 | vi.mock("../DiffWorkerPoolProvider", () => ({ | ||
| 17 | DiffWorkerPoolProvider: ({ children }: { children?: ReactNode }) => children, | ||
| 18 | })); | ||
| 19 | |||
| 20 | vi.mock("~/composerDraftStore", () => ({ | ||
| 21 | useComposerDraftStore: (selector: (store: Record<string, unknown>) => unknown) => | ||
| 22 | selector({ | ||
| 23 | addReviewComment: vi.fn(), | ||
| 24 | removeReviewComment: vi.fn(), | ||
| 25 | getComposerDraft: () => undefined, | ||
| 26 | }), | ||
| 27 | })); | ||
| 28 | |||
| 29 | vi.mock("./DiffCommentAnnotation", () => ({ | ||
| 30 | DiffCommentAnnotation: () => null, | ||
| 31 | })); | ||
| 32 | |||
| 33 | vi.mock("../files/fileCommentAnnotations", () => ({ | ||
| 34 | nextFileCommentId: () => "comment-test", | ||
| 35 | })); | ||
| 36 | |||
| 37 | import { AnnotatableCodeView } from "./AnnotatableCodeView"; | ||
| 38 | |||
| 39 | describe("AnnotatableCodeView", () => { | ||
| 40 | beforeEach(() => { | ||
| 41 | testState.codeViewOptions = null; | ||
| 42 | }); | ||
| 43 | |||
| 44 | it("opens comments from Pierre's gutter action without ending line selection", () => { | ||
| 45 | renderToStaticMarkup( | ||
| 46 | <AnnotatableCodeView | ||
| 47 | codeViewKey="test-view" | ||
| 48 | files={[]} | ||
| 49 | sectionId="working-tree" | ||
| 50 | sectionTitle="Working tree" | ||
| 51 | composerDraftTarget={"draft-test" as never} | ||
| 52 | options={{}} | ||
| 53 | renderHeaderPrefix={() => null} | ||
| 54 | renderHeaderFilenameSuffix={() => null} | ||
| 55 | />, | ||
| 56 | ); | ||
| 57 | |||
| 58 | expect(testState.codeViewOptions).toMatchObject({ | ||
| 59 | enableGutterUtility: true, | ||
| 60 | enableLineSelection: true, | ||
| 61 | onGutterUtilityClick: expect.any(Function), | ||
| 62 | }); | ||
| 63 | expect(testState.codeViewOptions).not.toHaveProperty("onLineSelectionEnd"); | ||
| 64 | }); | ||
| 65 | }); | ||