Skip to content

Commit 331150e

Browse files
authored
Merge pull request #137 from RedisInsight/bugfix/RI-2212
#RI-2212 - update regex for getVisualizationsByCommand
2 parents 4adb78d + 3d28abe commit 331150e

File tree

2 files changed

+28
-1
lines changed

2 files changed

+28
-1
lines changed

redisinsight/ui/src/utils/plugins.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import { getBaseApiUrl } from 'uiSrc/utils/common'
44
export const getVisualizationsByCommand = (query: string, visualizations: IPluginVisualization[]) =>
55
visualizations.filter((visualization: IPluginVisualization) =>
66
visualization.matchCommands.some((matchCommand) =>
7-
query.startsWith(matchCommand) || (new RegExp(matchCommand.toLowerCase())).test(query.toLowerCase())))
7+
query.startsWith(matchCommand) || (new RegExp(`^${matchCommand}`, 'i')).test(query)))
88

99
export const urlForAsset = (basePluginUrl: string, path: string) => {
1010
const baseApiUrl = getBaseApiUrl()
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
import { getVisualizationsByCommand } from 'uiSrc/utils'
2+
import { IPluginVisualization } from 'uiSrc/slices/interfaces'
3+
4+
describe('getVisualizationsByCommand', () => {
5+
it('should return proper visualizations by query', () => {
6+
const visualizations = [
7+
{ matchCommands: ['ft.search', 'ft.get'] },
8+
{ matchCommands: ['ft._list'] },
9+
{ matchCommands: ['ft.*'] },
10+
{ matchCommands: ['get'] }
11+
] as IPluginVisualization[]
12+
13+
const query1 = 'ft.search sa'
14+
const query2 = 'ft.get zxc'
15+
const query3 = 'command ft. zxc zxcz ft'
16+
const query4 = 'command ft'
17+
const query5 = 'any command'
18+
const query6 = 'get key'
19+
20+
expect(getVisualizationsByCommand(query1, visualizations)).toHaveLength(2)
21+
expect(getVisualizationsByCommand(query2, visualizations)).toHaveLength(2)
22+
expect(getVisualizationsByCommand(query3, visualizations)).toHaveLength(0)
23+
expect(getVisualizationsByCommand(query4, visualizations)).toHaveLength(0)
24+
expect(getVisualizationsByCommand(query5, visualizations)).toHaveLength(0)
25+
expect(getVisualizationsByCommand(query6, visualizations)).toHaveLength(1)
26+
})
27+
})

0 commit comments

Comments
 (0)