Move createMockRemoteQueryHistoryItem into shared location

This commit is contained in:
shati-patel
2022-10-14 12:56:59 +01:00
committed by Shati Patel
parent b2f4fecfb4
commit e41dba7627
2 changed files with 41 additions and 39 deletions

View File

@@ -0,0 +1,31 @@
import { RemoteQueryHistoryItem } from '../../../remote-queries/remote-query-history-item';
export function createMockRemoteQueryHistoryItem({
date = new Date('2022-01-01T00:00:00.000Z'),
resultCount = 16,
userSpecifiedLabel = undefined,
repositoryCount = 0,
}: {
date?: Date;
resultCount?: number;
userSpecifiedLabel?: string;
repositoryCount?: number;
}): RemoteQueryHistoryItem {
return ({
t: 'remote',
userSpecifiedLabel,
remoteQuery: {
executionStartTime: date.getTime(),
queryName: 'query-name',
queryFilePath: 'query-file.ql',
controllerRepository: {
owner: 'github',
name: 'vscode-codeql-integration-tests',
},
language: 'javascript',
repositoryCount,
},
status: 'in progress',
resultCount,
} as unknown) as RemoteQueryHistoryItem;
}

View File

@@ -2,9 +2,8 @@ import { env } from 'vscode';
import { expect } from 'chai';
import { QueryHistoryConfig } from '../../config';
import { HistoryItemLabelProvider } from '../../history-item-label-provider';
import { QueryHistoryInfo } from '../../query-history-info';
import { RemoteQueryHistoryItem } from '../../remote-queries/remote-query-history-item';
import { createMockLocalQueryInfo } from '../factories/local-queries/local-query-history-item';
import { createMockRemoteQueryHistoryItem } from '../factories/remote-queries/remote-query-history-item';
describe('HistoryItemLabelProvider', () => {
@@ -61,7 +60,7 @@ describe('HistoryItemLabelProvider', () => {
describe('remote queries', () => {
it('should interpolate query when user specified', () => {
const fqi = createMockRemoteQueryInfo({ userSpecifiedLabel: 'xxx' });
const fqi = createMockRemoteQueryHistoryItem({ userSpecifiedLabel: 'xxx' });
expect(labelProvider.getLabel(fqi)).to.eq('xxx');
@@ -73,7 +72,7 @@ describe('HistoryItemLabelProvider', () => {
});
it('should interpolate query when not user-specified', () => {
const fqi = createMockRemoteQueryInfo({});
const fqi = createMockRemoteQueryHistoryItem({});
expect(labelProvider.getLabel(fqi)).to.eq('xxx query-name (javascript) xxx');
@@ -86,14 +85,14 @@ describe('HistoryItemLabelProvider', () => {
});
it('should use number of repositories instead of controller repo if available', () => {
const fqi = createMockRemoteQueryInfo({ repositoryCount: 2 });
const fqi = createMockRemoteQueryHistoryItem({ repositoryCount: 2 });
config.format = '%t %q %d %s %f %r %%';
expect(labelProvider.getLabel(fqi)).to.eq(`${dateStr} query-name (javascript) 2 repositories in progress query-file.ql (16 results) %`);
});
it('should get query short label', () => {
const fqi = createMockRemoteQueryInfo({ userSpecifiedLabel: 'xxx' });
const fqi = createMockRemoteQueryHistoryItem({ userSpecifiedLabel: 'xxx' });
// fall back on user specified if one exists.
expect(labelProvider.getShortLabel(fqi)).to.eq('xxx');
@@ -105,7 +104,7 @@ describe('HistoryItemLabelProvider', () => {
describe('when results are present', () => {
it('should display results if there are any', () => {
const fqi = createMockRemoteQueryInfo({ resultCount: 16, repositoryCount: 2 });
const fqi = createMockRemoteQueryHistoryItem({ resultCount: 16, repositoryCount: 2 });
config.format = '%t %q %d %s %f %r %%';
expect(labelProvider.getLabel(fqi)).to.eq(`${dateStr} query-name (javascript) 2 repositories in progress query-file.ql (16 results) %`);
});
@@ -113,7 +112,7 @@ describe('HistoryItemLabelProvider', () => {
describe('when results are not present', () => {
it('should skip displaying them', () => {
const fqi = createMockRemoteQueryInfo({ resultCount: 0, repositoryCount: 2 });
const fqi = createMockRemoteQueryHistoryItem({ resultCount: 0, repositoryCount: 2 });
config.format = '%t %q %d %s %f %r %%';
expect(labelProvider.getLabel(fqi)).to.eq(`${dateStr} query-name (javascript) 2 repositories in progress query-file.ql %`);
});
@@ -121,7 +120,7 @@ describe('HistoryItemLabelProvider', () => {
describe('when extra whitespace is present in the middle of the label', () => {
it('should squash it down to a single whitespace', () => {
const fqi = createMockRemoteQueryInfo({ resultCount: 0, repositoryCount: 2 });
const fqi = createMockRemoteQueryHistoryItem({ resultCount: 0, repositoryCount: 2 });
config.format = '%t %q %d %s %f %r %%';
expect(labelProvider.getLabel(fqi)).to.eq(`${dateStr} query-name (javascript) 2 repositories in progress query-file.ql %`);
});
@@ -129,7 +128,7 @@ describe('HistoryItemLabelProvider', () => {
describe('when extra whitespace is present at the start of the label', () => {
it('should squash it down to a single whitespace', () => {
const fqi = createMockRemoteQueryInfo({ resultCount: 0, repositoryCount: 2 });
const fqi = createMockRemoteQueryHistoryItem({ resultCount: 0, repositoryCount: 2 });
config.format = ' %t %q %d %s %f %r %%';
expect(labelProvider.getLabel(fqi)).to.eq(` ${dateStr} query-name (javascript) 2 repositories in progress query-file.ql %`);
});
@@ -137,38 +136,10 @@ describe('HistoryItemLabelProvider', () => {
describe('when extra whitespace is present at the end of the label', () => {
it('should squash it down to a single whitespace', () => {
const fqi = createMockRemoteQueryInfo({ resultCount: 0, repositoryCount: 2 });
const fqi = createMockRemoteQueryHistoryItem({ resultCount: 0, repositoryCount: 2 });
config.format = '%t %q %d %s %f %r %% ';
expect(labelProvider.getLabel(fqi)).to.eq(`${dateStr} query-name (javascript) 2 repositories in progress query-file.ql % `);
});
});
function createMockRemoteQueryInfo({
resultCount = 16,
userSpecifiedLabel = undefined,
repositoryCount = 0
}: {
resultCount?: number;
userSpecifiedLabel?: string;
repositoryCount?: number;
}): QueryHistoryInfo {
return {
t: 'remote',
userSpecifiedLabel,
remoteQuery: {
executionStartTime: date.getTime(),
queryName: 'query-name',
queryFilePath: 'query-file.ql',
controllerRepository: {
owner: 'github',
name: 'vscode-codeql-integration-tests'
},
language: 'javascript',
repositoryCount,
},
status: 'in progress',
resultCount,
} as unknown as RemoteQueryHistoryItem;
}
});
});