Skip to content

Commit 2211e23

Browse files
committed
Add mock VSCode API in Storybook
This allows us to add a story for the "main" remote queries view.
1 parent 6018eba commit 2211e23

File tree

6 files changed

+15722
-2
lines changed

6 files changed

+15722
-2
lines changed

.gitattributes

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,4 +18,8 @@ yarn.lock merge=binary
1818
# https://mirrors.edge.kernel.org/pub/software/scm/git/docs/gitattributes.html
1919
# suggests that this might interleave lines arbitrarily, but empirically
2020
# it keeps added chunks contiguous
21-
CHANGELOG.md merge=union
21+
CHANGELOG.md merge=union
22+
23+
# Mark some JSON files containing test data as generated so they are not included
24+
# as part of diffs or language statistics.
25+
extensions/ql-vscode/src/stories/remote-queries/data/*.json linguist-generated

extensions/ql-vscode/.storybook/preview.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import { themes } from '@storybook/theming';
2+
import { action } from '@storybook/addon-actions';
23

34
// Allow all stories/components to use Codicons
45
import '@vscode/codicons/dist/codicon.css';
@@ -31,3 +32,7 @@ export const parameters = {
3132
},
3233
},
3334
};
35+
36+
window.acquireVsCodeApi = () => ({
37+
postMessage: action('post-vscode-message')
38+
});
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
import React, { useEffect } from 'react';
2+
3+
import { ComponentStory, ComponentMeta } from '@storybook/react';
4+
5+
import { RemoteQueries } from '../../view/remote-queries/RemoteQueries';
6+
7+
import remoteQueryResult from './data/remoteQueryResultMessage.json';
8+
import analysesResults from './data/analysesResultsMessage.json';
9+
10+
export default {
11+
title: 'MRVA/Remote Queries',
12+
component: RemoteQueries
13+
} as ComponentMeta<typeof RemoteQueries>;
14+
15+
const Template: ComponentStory<typeof RemoteQueries> = () => {
16+
useEffect(() => {
17+
window.postMessage(remoteQueryResult);
18+
window.postMessage(analysesResults);
19+
});
20+
21+
return <RemoteQueries />;
22+
};
23+
24+
export const Top10JavaScript = Template.bind({});

0 commit comments

Comments
 (0)