Move filter and sort functions to pure

These functions can be re-used by the sorting and filtering code for
exporting results and copying repository lists, so these should not be
in the view directory.

The tests have been kept in the same place for now, but they should be
moved to the pure tests directory once those have been switched to Jest.
I figured it wasn't worth it to convert these to Mocha, and convert them
back to Jest in a week.
This commit is contained in:
Koen Vlaswinkel
2022-11-14 14:10:40 +01:00
parent 3fd9fd449c
commit 82a7fc5070
11 changed files with 13 additions and 12 deletions

View File

@@ -1,5 +1,5 @@
import { Repository, RepositoryWithMetadata } from '../../remote-queries/shared/repository';
import { parseDate } from '../../pure/date';
import { Repository, RepositoryWithMetadata } from '../remote-queries/shared/repository';
import { parseDate } from './date';
export enum SortKey {
Name = 'name',

View File

@@ -3,7 +3,7 @@ import React, { useState } from 'react';
import { ComponentMeta } from '@storybook/react';
import { RepositoriesSearchSortRow as RepositoriesSearchSortRowComponent } from '../../view/variant-analysis/RepositoriesSearchSortRow';
import { defaultFilterSortState } from '../../view/variant-analysis/filterSort';
import { defaultFilterSortState } from '../../pure/variant-analysis-filter-sort';
export default {
title: 'Variant Analysis/Repositories Search and Sort Row',

View File

@@ -3,7 +3,7 @@ import React, { useState } from 'react';
import { ComponentMeta } from '@storybook/react';
import { RepositoriesSort as RepositoriesSortComponent } from '../../view/variant-analysis/RepositoriesSort';
import { SortKey } from '../../view/variant-analysis/filterSort';
import { SortKey } from '../../pure/variant-analysis-filter-sort';
export default {
title: 'Variant Analysis/Repositories Sort',

View File

@@ -1,7 +1,7 @@
import * as React from 'react';
import { Dispatch, SetStateAction, useCallback } from 'react';
import styled from 'styled-components';
import { RepositoriesFilterSortState, SortKey } from './filterSort';
import { RepositoriesFilterSortState, SortKey } from '../../pure/variant-analysis-filter-sort';
import { RepositoriesSearch } from './RepositoriesSearch';
import { RepositoriesSort } from './RepositoriesSort';

View File

@@ -2,7 +2,7 @@ import * as React from 'react';
import { useCallback } from 'react';
import styled from 'styled-components';
import { VSCodeDropdown, VSCodeOption } from '@vscode/webview-ui-toolkit/react';
import { SortKey } from './filterSort';
import { SortKey } from '../../pure/variant-analysis-filter-sort';
import { Codicon } from '../common';
const Dropdown = styled(VSCodeDropdown)`

View File

@@ -7,7 +7,7 @@ import {
VariantAnalysisScannedRepositoryResult,
VariantAnalysisScannedRepositoryState
} from '../../remote-queries/shared/variant-analysis';
import { compareWithResults, matchesFilter, RepositoriesFilterSortState } from './filterSort';
import { compareWithResults, matchesFilter, RepositoriesFilterSortState } from '../../pure/variant-analysis-filter-sort';
const Container = styled.div`
display: flex;

View File

@@ -12,7 +12,7 @@ import {
import { VariantAnalysisAnalyzedRepos } from './VariantAnalysisAnalyzedRepos';
import { Alert } from '../common';
import { VariantAnalysisSkippedRepositoriesTab } from './VariantAnalysisSkippedRepositoriesTab';
import { defaultFilterSortState, RepositoriesFilterSortState } from './filterSort';
import { defaultFilterSortState, RepositoriesFilterSortState } from '../../pure/variant-analysis-filter-sort';
import { RepositoriesSearchSortRow } from './RepositoriesSearchSortRow';
import { FailureReasonAlert } from './FailureReasonAlert';

View File

@@ -4,7 +4,7 @@ import styled from 'styled-components';
import { VariantAnalysisSkippedRepositoryGroup } from '../../remote-queries/shared/variant-analysis';
import { Alert } from '../common';
import { RepoRow } from './RepoRow';
import { compareRepository, matchesFilter, RepositoriesFilterSortState } from './filterSort';
import { compareRepository, matchesFilter, RepositoriesFilterSortState } from '../../pure/variant-analysis-filter-sort';
export type VariantAnalysisSkippedRepositoriesTabProps = {
alertTitle: string,

View File

@@ -10,7 +10,7 @@ import { VariantAnalysisAnalyzedRepos, VariantAnalysisAnalyzedReposProps } from
import { createMockVariantAnalysis } from '../../../vscode-tests/factories/remote-queries/shared/variant-analysis';
import { createMockRepositoryWithMetadata } from '../../../vscode-tests/factories/remote-queries/shared/repository';
import { createMockScannedRepo } from '../../../vscode-tests/factories/remote-queries/shared/scanned-repositories';
import { defaultFilterSortState, SortKey } from '../filterSort';
import { defaultFilterSortState, SortKey } from '../../../pure/variant-analysis-filter-sort';
describe(VariantAnalysisAnalyzedRepos.name, () => {
const defaultVariantAnalysis = createMockVariantAnalysis({

View File

@@ -1,7 +1,7 @@
import * as React from 'react';
import { render as reactRender, screen } from '@testing-library/react';
import { VariantAnalysisSkippedRepositoriesTab, VariantAnalysisSkippedRepositoriesTabProps } from '../VariantAnalysisSkippedRepositoriesTab';
import { defaultFilterSortState, SortKey } from '../filterSort';
import { defaultFilterSortState, SortKey } from '../../../pure/variant-analysis-filter-sort';
describe(VariantAnalysisSkippedRepositoriesTab.name, () => {
const render = (props: VariantAnalysisSkippedRepositoriesTabProps) =>

View File

@@ -1,5 +1,6 @@
import { compareRepository, compareWithResults, defaultFilterSortState, matchesFilter, SortKey } from '../filterSort';
import { compareRepository, compareWithResults, defaultFilterSortState, matchesFilter, SortKey } from '../../../pure/variant-analysis-filter-sort';
// TODO: Move this file to the "pure" tests once it has been switched to Jest
describe(matchesFilter.name, () => {
const repository = {
fullName: 'github/codeql'