diff --git a/extensions/ql-vscode/src/stories/model-alerts/ModelAlerts.stories.tsx b/extensions/ql-vscode/src/stories/model-alerts/ModelAlerts.stories.tsx index 6bdee3e1ba3..a732e65a464 100644 --- a/extensions/ql-vscode/src/stories/model-alerts/ModelAlerts.stories.tsx +++ b/extensions/ql-vscode/src/stories/model-alerts/ModelAlerts.stories.tsx @@ -1,6 +1,7 @@ import type { Meta, StoryFn } from "@storybook/react"; import { ModelAlerts as ModelAlertsComponent } from "../../view/model-alerts/ModelAlerts"; +import { createMockVariantAnalysis } from "../../../test/factories/variant-analysis/shared/variant-analysis"; export default { title: "Model Alerts/Model Alerts", @@ -14,4 +15,16 @@ const Template: StoryFn = (args) => ( export const ModelAlerts = Template.bind({}); ModelAlerts.args = { initialViewState: { title: "codeql/sql2o-models" }, + variantAnalysis: createMockVariantAnalysis({ + modelPacks: [ + { + name: "Model pack 1", + path: "/path/to/model-pack-1", + }, + { + name: "Model pack 2", + path: "/path/to/model-pack-2", + }, + ], + }), }; diff --git a/extensions/ql-vscode/src/view/model-alerts/ModelAlerts.tsx b/extensions/ql-vscode/src/view/model-alerts/ModelAlerts.tsx index 5d833387811..c7ee32c82f4 100644 --- a/extensions/ql-vscode/src/view/model-alerts/ModelAlerts.tsx +++ b/extensions/ql-vscode/src/view/model-alerts/ModelAlerts.tsx @@ -11,9 +11,17 @@ import { vscode } from "../vscode-api"; type Props = { initialViewState?: ModelAlertsViewState; + variantAnalysis?: VariantAnalysis; + repoStates?: VariantAnalysisScannedRepositoryState[]; + repoResults?: VariantAnalysisScannedRepositoryResult[]; }; -export function ModelAlerts({ initialViewState }: Props): React.JSX.Element { +export function ModelAlerts({ + initialViewState, + variantAnalysis: initialVariantAnalysis, + repoStates: initialRepoStates = [], + repoResults: initialRepoResults = [], +}: Props): React.JSX.Element { const onOpenModelPackClick = useCallback((path: string) => { vscode.postMessage({ t: "openModelPack", @@ -33,13 +41,11 @@ export function ModelAlerts({ initialViewState }: Props): React.JSX.Element { const [variantAnalysis, setVariantAnalysis] = useState< VariantAnalysis | undefined - >(undefined); - const [repoStates, setRepoStates] = useState< - VariantAnalysisScannedRepositoryState[] - >([]); - const [repoResults, setRepoResults] = useState< - VariantAnalysisScannedRepositoryResult[] - >([]); + >(initialVariantAnalysis); + const [repoStates, setRepoStates] = + useState(initialRepoStates); + const [repoResults, setRepoResults] = + useState(initialRepoResults); useEffect(() => { const listener = (evt: MessageEvent) => {