Skip to content

Commit 1866dd6

Browse files
RI-7508: get db version from another selector since it might be not always returned
1 parent cbcce53 commit 1866dd6

File tree

2 files changed

+30
-8
lines changed

2 files changed

+30
-8
lines changed

redisinsight/ui/src/pages/vector-search/create-index/hooks/useRedisInstanceCompatibility.spec.ts

Lines changed: 25 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,16 @@
11
import { renderHook } from 'uiSrc/utils/test-utils'
2-
import { connectedInstanceSelector } from 'uiSrc/slices/instances/instances'
2+
import {
3+
connectedInstanceInfoSelector,
4+
connectedInstanceSelector,
5+
} from 'uiSrc/slices/instances/instances'
36
import useRedisInstanceCompatibility, {
47
UseRedisInstanceCompatibilityReturn,
58
} from './useRedisInstanceCompatibility'
69

710
jest.mock('uiSrc/slices/instances/instances', () => ({
811
...jest.requireActual('uiSrc/slices/instances/instances'),
912
connectedInstanceSelector: jest.fn(),
13+
connectedInstanceInfoSelector: jest.fn(),
1014
}))
1115

1216
jest.mock('uiSrc/slices/interfaces', () => ({
@@ -20,6 +24,15 @@ const renderUseRedisInstanceCompatibility = () => {
2024

2125
describe('useRedisInstanceCompatibility', () => {
2226
const mockConnectedInstanceSelector = connectedInstanceSelector as jest.Mock
27+
const mockConnectedInstanceInfoSelector =
28+
connectedInstanceInfoSelector as jest.Mock
29+
30+
beforeEach(() => {
31+
jest.clearAllMocks()
32+
mockConnectedInstanceInfoSelector.mockReturnValue({
33+
version: '7.2.0',
34+
})
35+
})
2336

2437
afterEach(() => {
2538
jest.clearAllMocks()
@@ -29,7 +42,6 @@ describe('useRedisInstanceCompatibility', () => {
2942
mockConnectedInstanceSelector.mockReturnValue({
3043
loading: undefined,
3144
modules: [{ name: 'search' }],
32-
version: '7.2.0',
3345
})
3446

3547
const hookResult = renderUseRedisInstanceCompatibility()
@@ -42,7 +54,6 @@ describe('useRedisInstanceCompatibility', () => {
4254
mockConnectedInstanceSelector.mockReturnValue({
4355
loading: false,
4456
modules: null,
45-
version: '7.2.0',
4657
})
4758

4859
const hookResult = renderUseRedisInstanceCompatibility()
@@ -58,6 +69,8 @@ describe('useRedisInstanceCompatibility', () => {
5869
modules: null,
5970
})
6071

72+
mockConnectedInstanceInfoSelector.mockReturnValue({})
73+
6174
const hookResult = renderUseRedisInstanceCompatibility()
6275

6376
expect(hookResult.loading).toBe(true)
@@ -69,7 +82,6 @@ describe('useRedisInstanceCompatibility', () => {
6982
mockConnectedInstanceSelector.mockReturnValue({
7083
loading: false,
7184
modules: [{ name: 'search' }, { name: 'other' }],
72-
version: '7.2.0',
7385
})
7486

7587
const hookResult = renderUseRedisInstanceCompatibility()
@@ -82,7 +94,6 @@ describe('useRedisInstanceCompatibility', () => {
8294
it('returns hasRedisearch=false when modules is an empty array (defaulted)', () => {
8395
mockConnectedInstanceSelector.mockReturnValue({
8496
loading: false,
85-
version: '7.2.0',
8697
// omit `modules` to hit the default `modules = []`
8798
})
8899

@@ -96,7 +107,6 @@ describe('useRedisInstanceCompatibility', () => {
96107
mockConnectedInstanceSelector.mockReturnValue({
97108
loading: false,
98109
modules: null, // explicit null
99-
version: '7.2.0',
100110
})
101111

102112
const hookResult = renderUseRedisInstanceCompatibility()
@@ -108,6 +118,9 @@ describe('useRedisInstanceCompatibility', () => {
108118
mockConnectedInstanceSelector.mockReturnValue({
109119
loading: false,
110120
modules: [{ name: 'RediSearch' }],
121+
})
122+
123+
mockConnectedInstanceInfoSelector.mockReturnValue({
111124
version: '7.1.9',
112125
})
113126

@@ -120,6 +133,9 @@ describe('useRedisInstanceCompatibility', () => {
120133
mockConnectedInstanceSelector.mockReturnValue({
121134
loading: false,
122135
modules: [{ name: 'something else' }],
136+
})
137+
138+
mockConnectedInstanceInfoSelector.mockReturnValue({
123139
version: 'not a version',
124140
})
125141

@@ -131,6 +147,9 @@ describe('useRedisInstanceCompatibility', () => {
131147
mockConnectedInstanceSelector.mockReturnValue({
132148
loading: false,
133149
modules: [{ name: 'search' }],
150+
})
151+
152+
mockConnectedInstanceInfoSelector.mockReturnValue({
134153
version: undefined,
135154
})
136155

redisinsight/ui/src/pages/vector-search/create-index/hooks/useRedisInstanceCompatibility.ts

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import { useMemo } from 'react'
22
import { useSelector } from 'react-redux'
3-
import { connectedInstanceSelector } from 'uiSrc/slices/instances/instances'
3+
import { connectedInstanceInfoSelector, connectedInstanceSelector } from 'uiSrc/slices/instances/instances'
44
import { REDISEARCH_MODULES } from 'uiSrc/slices/interfaces'
55
import { isRedisVersionSupported } from 'uiSrc/utils/comparisons/compareVersions'
66

@@ -15,10 +15,13 @@ const REDISEARCH_MODULE_SET = new Set(REDISEARCH_MODULES)
1515

1616
const useRedisInstanceCompatibility =
1717
(): UseRedisInstanceCompatibilityReturn => {
18+
const {
19+
version,
20+
} = useSelector(connectedInstanceInfoSelector)
21+
1822
const {
1923
loading,
2024
modules = [],
21-
version,
2225
} = useSelector(connectedInstanceSelector)
2326

2427
const isInitialized = loading !== undefined

0 commit comments

Comments
 (0)