Skip to content

Commit 907707e

Browse files
committed
address comments
Signed-off-by: Kaituo Li <[email protected]>
1 parent a2c5855 commit 907707e

File tree

49 files changed

+4574
-8023
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

49 files changed

+4574
-8023
lines changed

public/components/RefreshForecastersButton/__tests__/RefreshForecastersButton.test.tsx

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,13 @@ import { render } from '@testing-library/react';
1414
import { Router } from 'react-router-dom';
1515
import { createMemoryHistory } from 'history';
1616
import { RefreshForecastersButton } from '../RefreshForecastersButton';
17+
import { getDataSourceEnabled, } from '../../../services';
18+
19+
// Mock the module
20+
jest.mock('../../../services', () => ({
21+
...jest.requireActual('../../../services'),
22+
getDataSourceEnabled: jest.fn(),
23+
}));
1724

1825
describe('<RefreshForecastersButton /> spec', () => {
1926
beforeAll(() => {
@@ -28,6 +35,13 @@ describe('<RefreshForecastersButton /> spec', () => {
2835
});
2936
});
3037

38+
beforeEach(() => {
39+
// Mock the return value
40+
(getDataSourceEnabled as jest.Mock).mockReturnValue({
41+
enabled: false, // or true, depending on what you want to test
42+
});
43+
});
44+
3145
test('renders component', () => {
3246
const history = createMemoryHistory();
3347
const { container, getByText } = render(
Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
// Jest Snapshot v1, https://goo.gl/fbAQLP
2+
3+
exports[`<RefreshForecastersButton /> spec renders component 1`] = `
4+
<div
5+
class="euiFlexGroup euiFlexGroup--gutterMedium euiFlexGroup--justifyContentCenter euiFlexGroup--directionRow euiFlexGroup--responsive"
6+
>
7+
<div
8+
class="euiFlexItem euiFlexItem--flexGrowZero"
9+
>
10+
<a
11+
class="euiButton euiButton--primary euiButton--small"
12+
data-test-subj="refreshForecastersButton"
13+
href="forecasting#/forecasters?"
14+
rel="noreferrer"
15+
style="width: 200px;"
16+
>
17+
<span
18+
class="euiButtonContent euiButton__content"
19+
>
20+
<svg
21+
aria-hidden="true"
22+
class="euiIcon euiIcon--medium euiIcon--inherit euiIcon-isLoading euiButtonContent__icon"
23+
focusable="false"
24+
height="16"
25+
role="img"
26+
viewBox="0 0 16 16"
27+
width="16"
28+
xmlns="http://www.w3.org/2000/svg"
29+
>
30+
<path
31+
d="M5.277 10.088c.02.014.04.03.057.047.582.55 1.134.812 1.666.812.586 0 1.84-.293 3.713-.88L9 6.212V2H7v4.212l-1.723 3.876Zm-.438.987L3.539 14h8.922l-1.32-2.969C9.096 11.677 7.733 12 7 12c-.74 0-1.463-.315-2.161-.925ZM6 2H5V1h6v1h-1v4l3.375 7.594A1 1 0 0 1 12.461 15H3.54a1 1 0 0 1-.914-1.406L6 6V2Z"
32+
/>
33+
</svg>
34+
<span
35+
class="euiButton__text"
36+
>
37+
Refresh
38+
</span>
39+
</span>
40+
</a>
41+
</div>
42+
</div>
43+
`;

public/pages/ConfigureForecastModel/components/AdvancedSettings/AdvancedSettings.tsx

Lines changed: 17 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,14 @@
1+
/*
2+
* SPDX-License-Identifier: Apache-2.0
3+
*
4+
* The OpenSearch Contributors require contributions made to
5+
* this file be licensed under the Apache-2.0 license or a
6+
* compatible open source license.
7+
*
8+
* Modifications Copyright OpenSearch Contributors. See
9+
* GitHub history for details.
10+
*/
11+
112
import { useEffect, useState } from 'react';
213
import {
314
EuiFlexItem,
@@ -30,7 +41,8 @@ import {
3041
import { FormattedFormRow } from '../../../../components/FormattedFormRow/FormattedFormRow';
3142
import { SparseDataOptionValue } from '../../utils/constants';
3243
import '../../index.scss';
33-
import React from 'react';
44+
import React, { ReactElement } from 'react';
45+
import { toNumberOrEmpty } from '../../utils/helpers';
3446

3547
interface AdvancedSettingsProps {
3648
isEditable?: boolean;
@@ -111,8 +123,7 @@ export function AdvancedSettings({ isEditable = true }: AdvancedSettingsProps) {
111123
value={field.value || ''}
112124
disabled={!isEditable}
113125
onChange={(e) => {
114-
const raw = e.target.value;
115-
form.setFieldValue(field.name, raw === '' ? '' : Number(raw));
126+
form.setFieldValue(field.name, toNumberOrEmpty(e.target.value));
116127
}}
117128
/>
118129
</div>
@@ -158,8 +169,7 @@ export function AdvancedSettings({ isEditable = true }: AdvancedSettingsProps) {
158169
value={field.value || ''}
159170
disabled={!isEditable}
160171
onChange={(e) => {
161-
const raw = e.target.value;
162-
form.setFieldValue(field.name, raw === '' ? '' : Number(raw));
172+
form.setFieldValue(field.name, toNumberOrEmpty(e.target.value));
163173
}}
164174
/>
165175
</div>
@@ -225,8 +235,7 @@ export function AdvancedSettings({ isEditable = true }: AdvancedSettingsProps) {
225235
value={field.value || ''}
226236
disabled={!isEditable}
227237
onChange={(e) => {
228-
const raw = e.target.value;
229-
form.setFieldValue(field.name, raw === '' ? '' : Number(raw));
238+
form.setFieldValue(field.name, toNumberOrEmpty(e.target.value));
230239
}}
231240
/>
232241
</div>
@@ -309,8 +318,7 @@ export function AdvancedSettings({ isEditable = true }: AdvancedSettingsProps) {
309318
name={field.name}
310319
disabled={!isEditable}
311320
onChange={(e) => {
312-
const raw = e.target.value;
313-
form.setFieldValue(field.name, raw === '' ? '' : Number(raw));
321+
form.setFieldValue(field.name, toNumberOrEmpty(e.target.value));
314322
}}
315323
value={field.value || ''}
316324
/>

0 commit comments

Comments
 (0)