Skip to content

Commit e985068

Browse files
Add component test of augmentation parameters and add minor fixes (#1353)
Co-authored-by: Mark Redeman <[email protected]>
1 parent cbc7e00 commit e985068

File tree

10 files changed

+434
-82
lines changed

10 files changed

+434
-82
lines changed

web_ui/src/core/configurable-parameters/dtos/configuration.interface.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ interface ParameterBaseDTO {
1010
interface NumberParameterDTO extends ParameterBaseDTO {
1111
type: 'int' | 'float';
1212
value: number;
13-
min_value: number;
13+
min_value: number | null;
1414
max_value: number | null;
1515
default_value: number;
1616
}

web_ui/src/core/configurable-parameters/services/configuration.interface.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ interface ParameterBase {
1010
export interface NumberParameter extends ParameterBase {
1111
type: 'int' | 'float';
1212
value: number;
13-
minValue: number;
13+
minValue: number | null;
1414
maxValue: number | null;
1515
defaultValue: number;
1616
}

web_ui/src/pages/project-details/components/project-models/train-model-dialog/advanced-settings/data-management/filters/filters-options.component.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ const FilterOption: FC<FilterOptionProps> = ({ option, onOptionChange }) => {
5757
<Flex gap={'size-200'} gridColumn={'2/3'}>
5858
<NumberField
5959
aria-label={`Change ${name}`}
60-
minValue={minValue}
60+
minValue={minValue ?? undefined}
6161
maxValue={maxValue ?? undefined}
6262
step={1}
6363
value={value}

web_ui/src/pages/project-details/components/project-models/train-model-dialog/advanced-settings/ui/number-parameter-field.component.tsx

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,15 +24,15 @@ const getStep = ({
2424
type,
2525
}: {
2626
step?: number;
27-
minValue: number;
27+
minValue: number | null;
2828
maxValue: number | null;
2929
type: NumberParameter['type'];
3030
}): number => {
3131
if (step !== undefined) {
3232
return step;
3333
}
3434

35-
if (maxValue === null) {
35+
if (maxValue === null || minValue === null) {
3636
return type === 'int' ? DEFAULT_INT_STEP : DEFAULT_FLOAT_STEP;
3737
}
3838

@@ -63,13 +63,14 @@ export const NumberParameterField: FC<NumberGroupParamsProps> = ({
6363
setParameterValue(value);
6464
}, [value]);
6565

66-
if (maxValue === null) {
66+
if (maxValue === null || minValue === null) {
6767
return (
6868
<NumberField
6969
aria-label={`Change ${name}`}
7070
step={fieldStep}
7171
value={parameterValue}
72-
minValue={minValue}
72+
minValue={minValue === null ? undefined : minValue}
73+
maxValue={maxValue === null ? undefined : maxValue}
7374
onChange={handleValueChange}
7475
isDisabled={isDisabled}
7576
/>

web_ui/src/pages/project-details/components/project-models/train-model-dialog/advanced-settings/ui/range-parameter-field.component.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -54,14 +54,14 @@ export const RangeParameterField: FC<RangeParameterFieldProps> = ({
5454
const handleRangeChange = (inputValue: RangeValue<number>): void => {
5555
const { start, end } = inputValue;
5656
// Prevent start and end from being equal
57-
if (end - start > fieldStep) {
57+
if (end - start >= fieldStep) {
5858
setParameterValue({ start, end });
5959
}
6060
};
6161

6262
const handleNumberChange = (start: number, end: number): void => {
6363
// Prevent start and end from being equal
64-
if (end - start > fieldStep) {
64+
if (end - start >= fieldStep) {
6565
setParameterValue({ start, end });
6666
onChange([start, end]);
6767
}
@@ -90,7 +90,7 @@ export const RangeParameterField: FC<RangeParameterFieldProps> = ({
9090
step={fieldStep}
9191
flex={1}
9292
isDisabled={isDisabled}
93-
aria-label={`Change ${name} range value`}
93+
aria-label={`Change ${name} value`}
9494
UNSAFE_className={isDisabled ? '' : classes.rangeSlider}
9595
/>
9696
<NumberField

web_ui/src/pages/project-details/components/project-models/train-model-dialog/advanced-settings/ui/range-parameter-field.test.tsx

Lines changed: 13 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
// Copyright (C) 2022-2025 Intel Corporation
22
// LIMITED EDGE SOFTWARE DISTRIBUTION LICENSE
33

4-
import { fireEvent, render, screen } from '@testing-library/react';
4+
import { fireEvent, screen } from '@testing-library/react';
55
import userEvent from '@testing-library/user-event';
66

7-
import { RequiredProviders } from '../../../../../../../test-utils/required-providers-render';
7+
import { providersRender as render } from '../../../../../../../test-utils/required-providers-render';
88
import { RangeParameterField } from './range-parameter-field.component';
99

1010
describe('RangeParameterField', () => {
@@ -18,17 +18,15 @@ describe('RangeParameterField', () => {
1818

1919
const renderApp = ({ value = defaultValue, isDisabled = false }: { value?: number[]; isDisabled?: boolean }) => {
2020
return render(
21-
<RequiredProviders>
22-
<RangeParameterField
23-
defaultValue={defaultValue}
24-
value={value}
25-
onChange={onChange}
26-
name={name}
27-
type={'array'}
28-
isDisabled={isDisabled}
29-
step={0.001}
30-
/>
31-
</RequiredProviders>
21+
<RangeParameterField
22+
defaultValue={defaultValue}
23+
value={value}
24+
onChange={onChange}
25+
name={name}
26+
type={'array'}
27+
isDisabled={isDisabled}
28+
step={0.001}
29+
/>
3230
);
3331
};
3432

@@ -37,7 +35,7 @@ describe('RangeParameterField', () => {
3735

3836
expect(screen.getByLabelText(`Change ${name} start range value`)).toBeInTheDocument();
3937
expect(screen.getByLabelText(`Change ${name} end range value`)).toBeInTheDocument();
40-
expect(screen.getByLabelText(`Change ${name} range value`)).toBeInTheDocument();
38+
expect(screen.getByLabelText(`Change ${name} value`)).toBeInTheDocument();
4139
});
4240

4341
it('calls onChange when start value changes', async () => {
@@ -85,7 +83,7 @@ describe('RangeParameterField', () => {
8583
expect(screen.getByLabelText(`Change ${name} start range value`)).toBeDisabled();
8684
expect(screen.getByLabelText(`Change ${name} end range value`)).toBeDisabled();
8785

88-
const slider = screen.getByLabelText(`Change ${name} range value`);
86+
const slider = screen.getByLabelText(`Change ${name} value`);
8987

9088
expect(slider).toHaveClass('A-RCEa_is-disabled');
9189
});

web_ui/src/shared/components/header/active-learning-configuration/training-settings/required-annotations.component.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ export const RequiredAnnotations: FC<RequiredAnnotationsProps> = ({
3333
<NumberField
3434
step={1}
3535
value={numberOfRequiredAnnotations}
36-
minValue={requiredImagesAutoTrainingConfig.minValue}
36+
minValue={requiredImagesAutoTrainingConfig.minValue ?? undefined}
3737
maxValue={requiredImagesAutoTrainingConfig.maxValue ?? undefined}
3838
onChange={handleRequiredAnnotationsChange}
3939
label={'Number of required annotations'}

0 commit comments

Comments
 (0)