|
| 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