Skip to content

Commit cba188b

Browse files
committed
Use named arguments for mock function
We'd like to be able to add tests for when the result count exists and when it's missing. Let's change the createMockRemoteQueryInfo method so that we can pass in parameters by name, e.g. ``` createMockRemoteQueryInfo(undefined, 2) ``` becomes ``` createMockRemoteQueryInfo({ repositoryCount: 2 } ```
1 parent 123b1fc commit cba188b

File tree

1 file changed

+15
-7
lines changed

1 file changed

+15
-7
lines changed

extensions/ql-vscode/src/vscode-tests/no-workspace/history-item-label-provider.test.ts

Lines changed: 15 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { env } from 'vscode';
22
import { expect } from 'chai';
33
import { QueryHistoryConfig } from '../../config';
44
import { HistoryItemLabelProvider } from '../../history-item-label-provider';
5-
import { CompletedLocalQueryInfo, CompletedQueryInfo, InitialQueryInfo } from '../../query-results';
5+
import { CompletedLocalQueryInfo, CompletedQueryInfo, InitialQueryInfo, QueryHistoryInfo } from '../../query-results';
66
import { RemoteQueryHistoryItem } from '../../remote-queries/remote-query-history-item';
77

88

@@ -84,7 +84,7 @@ describe('HistoryItemLabelProvider', () => {
8484

8585
describe('remote queries', () => {
8686
it('should interpolate query when user specified', () => {
87-
const fqi = createMockRemoteQueryInfo('xxx');
87+
const fqi = createMockRemoteQueryInfo({ userSpecifiedLabel: 'xxx' });
8888

8989
expect(labelProvider.getLabel(fqi)).to.eq('xxx');
9090

@@ -96,7 +96,7 @@ describe('HistoryItemLabelProvider', () => {
9696
});
9797

9898
it('should interpolate query when not user-specified', () => {
99-
const fqi = createMockRemoteQueryInfo();
99+
const fqi = createMockRemoteQueryInfo({});
100100

101101
expect(labelProvider.getLabel(fqi)).to.eq('xxx query-name (javascript) xxx');
102102

@@ -109,14 +109,14 @@ describe('HistoryItemLabelProvider', () => {
109109
});
110110

111111
it('should use number of repositories instead of controller repo if available', () => {
112-
const fqi = createMockRemoteQueryInfo(undefined, 2);
112+
const fqi = createMockRemoteQueryInfo({ repositoryCount: 2 });
113113

114114
config.format = '%t %q %d %s %f %r %%';
115115
expect(labelProvider.getLabel(fqi)).to.eq(`${dateStr} query-name (javascript) 2 repositories in progress query-file.ql (16 results) %`);
116116
});
117117

118118
it('should get query short label', () => {
119-
const fqi = createMockRemoteQueryInfo('xxx');
119+
const fqi = createMockRemoteQueryInfo({ userSpecifiedLabel: 'xxx' });
120120

121121
// fall back on user specified if one exists.
122122
expect(labelProvider.getShortLabel(fqi)).to.eq('xxx');
@@ -126,7 +126,15 @@ describe('HistoryItemLabelProvider', () => {
126126
expect(labelProvider.getShortLabel(fqi)).to.eq('query-name');
127127
});
128128

129-
function createMockRemoteQueryInfo(userSpecifiedLabel?: string, repositoryCount?: number) {
129+
function createMockRemoteQueryInfo({
130+
resultCount = 16,
131+
userSpecifiedLabel = undefined,
132+
repositoryCount = 0
133+
}: {
134+
resultCount?: number;
135+
userSpecifiedLabel?: string;
136+
repositoryCount?: number;
137+
}): QueryHistoryInfo {
130138
return {
131139
t: 'remote',
132140
userSpecifiedLabel,
@@ -142,7 +150,7 @@ describe('HistoryItemLabelProvider', () => {
142150
repositoryCount,
143151
},
144152
status: 'in progress',
145-
resultCount: 16,
153+
resultCount,
146154
} as unknown as RemoteQueryHistoryItem;
147155
}
148156
});

0 commit comments

Comments
 (0)