Skip to content

Commit

Permalink
PickerUtils tests (#1858)
Browse files Browse the repository at this point in the history
  • Loading branch information
bmingles committed Mar 22, 2024
1 parent 46f7a5d commit 45509a7
Showing 1 changed file with 49 additions and 0 deletions.
49 changes: 49 additions & 0 deletions packages/jsapi-components/src/spectrum/Picker/PickerUtils.test.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
import { type dh } from '@deephaven/jsapi-types';
import { TestUtils } from '@deephaven/utils';
import { getPickerKeyColumn, getPickerLabelColumn } from './PickerUtils';

const { createMockProxy } = TestUtils;

const keyColumn = createMockProxy<dh.Column>({ name: 'keyColumn' });
const labelColumn = createMockProxy<dh.Column>({ name: 'labelColumn' });
const otherColumn = createMockProxy<dh.Column>({ name: 'otherColumn' });

const columns = [keyColumn, labelColumn, otherColumn];

const table = createMockProxy<dh.Table>({
columns,
findColumn: jest.fn(
columnName => columns.find(column => column.name === columnName)!
),
});

beforeEach(() => {
jest.clearAllMocks();
expect.hasAssertions();
});

describe('getPickerKeyColumn', () => {
it.each([
['keyColumn', keyColumn],
[undefined, columns[0]],
])(
'should return the given key column or fallback to the first column',
(keyColumnName, expectedColumn) => {
const actual = getPickerKeyColumn(table, keyColumnName);
expect(actual).toBe(expectedColumn);
}
);
});

describe('getPickerLabelColumn', () => {
it.each([
['labelColumn', labelColumn],
[undefined, keyColumn],
])(
'should return the given label column or fallback to the key column',
(labelColumnName, expectedColumn) => {
const actual = getPickerLabelColumn(table, keyColumn, labelColumnName);
expect(actual).toBe(expectedColumn);
}
);
});

0 comments on commit 45509a7

Please sign in to comment.