Skip to content

Commit 0fb15b6

Browse files
author
Artyom Podymov
committed
#RI-2124 - rely on the loading flag instead of command execution response
1 parent cadd93d commit 0fb15b6

File tree

5 files changed

+25
-13
lines changed

5 files changed

+25
-13
lines changed

redisinsight/ui/src/components/query-card/QueryCard.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -170,7 +170,7 @@ const QueryCard = (props: Props) => {
170170
{isOpen && (
171171
<>
172172
{React.isValidElement(result)
173-
? <QueryCardCommonResult result={result} />
173+
? <QueryCardCommonResult loading={loading} result={result} />
174174
: (
175175
<>
176176
{viewTypeSelected === WBQueryType.Plugin && (
@@ -191,7 +191,7 @@ const QueryCard = (props: Props) => {
191191
</>
192192
)}
193193
{viewTypeSelected === WBQueryType.Text && (
194-
<QueryCardCliResult status={status} result={result} />
194+
<QueryCardCliResult loading={loading} status={status} result={result} />
195195
)}
196196
</>
197197
)}

redisinsight/ui/src/components/query-card/QueryCardCliResult/QueryCardCliResult.spec.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ describe('QueryCardCliResult', () => {
5050
expect(resultEl).toHaveTextContent(result)
5151
})
5252

53-
it('Result element should not render without result prop', () => {
53+
it('Result element should render (nil) result', () => {
5454
const result = ''
5555

5656
const { queryByTestId } = render(
@@ -59,6 +59,6 @@ describe('QueryCardCliResult', () => {
5959

6060
const resultEl = queryByTestId(resultTestId)
6161

62-
expect(resultEl).not.toBeInTheDocument()
62+
expect(resultEl).toHaveTextContent('(nil)')
6363
})
6464
})

redisinsight/ui/src/components/query-card/QueryCardCliResult/QueryCardCliResult.tsx

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -9,19 +9,20 @@ import styles from './styles.module.scss'
99
export interface Props {
1010
status: Maybe<CommandExecutionStatus>;
1111
result: any;
12+
loading?: boolean;
1213
}
1314

1415
const QueryCardCliResult = (props: Props) => {
15-
const { result, status } = props
16+
const { result, status, loading } = props
1617

1718
return (
1819
<div className={cx('queryResultsContainer', styles.container)}>
19-
{!!result && (
20+
{!loading && (
2021
<div data-testid="query-cli-result">
21-
{cliParseTextResponse(result, status, CliPrefix.QueryCard)}
22+
{cliParseTextResponse(result || '(nil)', status, CliPrefix.QueryCard)}
2223
</div>
2324
)}
24-
{!result && (
25+
{loading && (
2526
<div className={styles.loading}>
2627
<EuiLoadingContent lines={1} />
2728
</div>

redisinsight/ui/src/components/query-card/QueryCardCommonResult/QueryCardCommonResult.spec.tsx

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,4 +17,14 @@ describe('QueryCardCliResult', () => {
1717
it('should render', () => {
1818
expect(render(<QueryCardCommonResult {...instance(mockedProps)} />)).toBeTruthy()
1919
})
20+
it('should render (nil) result', () => {
21+
const result = ''
22+
const { queryByTestId } = render(
23+
<QueryCardCommonResult {...instance(mockedProps)} result={result} />
24+
)
25+
26+
const resultEl = queryByTestId('query-common-result')
27+
28+
expect(resultEl).toHaveTextContent('(nil)')
29+
})
2030
})

redisinsight/ui/src/components/query-card/QueryCardCommonResult/QueryCardCommonResult.tsx

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,20 +5,21 @@ import { EuiLoadingContent } from '@elastic/eui'
55
import styles from './styles.module.scss'
66

77
export interface Props {
8-
result: React.ReactElement;
8+
result: React.ReactElement | string;
9+
loading?: boolean;
910
}
1011

1112
const QueryCardCommonResult = (props: Props) => {
12-
const { result } = props
13+
const { result, loading } = props
1314

1415
return (
1516
<div className={cx('queryResultsContainer', styles.container)}>
16-
{!!result && (
17+
{!loading && (
1718
<div data-testid="query-common-result">
18-
{ result }
19+
{ result || '(nil)' }
1920
</div>
2021
)}
21-
{!result && (
22+
{loading && (
2223
<div className={styles.loading}>
2324
<EuiLoadingContent lines={1} />
2425
</div>

0 commit comments

Comments
 (0)