diff --git a/redisinsight/api/src/__mocks__/rdi.ts b/redisinsight/api/src/__mocks__/rdi.ts index 6f47a64613..826f90e972 100644 --- a/redisinsight/api/src/__mocks__/rdi.ts +++ b/redisinsight/api/src/__mocks__/rdi.ts @@ -311,13 +311,13 @@ export const mockRdiConfigSchema = { default: 1000, }, target_data_type: { - title: 'Target data type: hash/json - RedisJSON module must be in use in the target DB', + title: 'Target data type: hash/json - JSON module must be in use in the target DB', type: 'string', pattern: '^\\${.*}$|hash|json', default: 'hash', }, json_update_strategy: { - title: 'Target update strategy: replace/merge - RedisJSON module must be in use in the target DB', + title: 'Target update strategy: replace/merge - JSON module must be in use in the target DB', type: 'string', pattern: '^\\${.*}$|replace|merge', default: 'replace', diff --git a/redisinsight/api/src/modules/browser/rejson-rl/rejson-rl.service.spec.ts b/redisinsight/api/src/modules/browser/rejson-rl/rejson-rl.service.spec.ts index 5c09c32042..faec509131 100644 --- a/redisinsight/api/src/modules/browser/rejson-rl/rejson-rl.service.spec.ts +++ b/redisinsight/api/src/modules/browser/rejson-rl/rejson-rl.service.spec.ts @@ -181,7 +181,7 @@ describe('JsonService', () => { } catch (err) { expect(err).toBeInstanceOf(BadRequestException); expect(err.message).toEqual( - ERROR_MESSAGES.REDIS_MODULE_IS_REQUIRED('RedisJSON'), + ERROR_MESSAGES.REDIS_MODULE_IS_REQUIRED('JSON'), ); } }); @@ -923,7 +923,7 @@ describe('JsonService', () => { } catch (err) { expect(err).toBeInstanceOf(BadRequestException); expect(err.message).toEqual( - ERROR_MESSAGES.REDIS_MODULE_IS_REQUIRED('RedisJSON'), + ERROR_MESSAGES.REDIS_MODULE_IS_REQUIRED('JSON'), ); } }); @@ -1004,7 +1004,7 @@ describe('JsonService', () => { } catch (err) { expect(err).toBeInstanceOf(BadRequestException); expect(err.message).toEqual( - ERROR_MESSAGES.REDIS_MODULE_IS_REQUIRED('RedisJSON'), + ERROR_MESSAGES.REDIS_MODULE_IS_REQUIRED('JSON'), ); } }); @@ -1097,7 +1097,7 @@ describe('JsonService', () => { } catch (err) { expect(err).toBeInstanceOf(BadRequestException); expect(err.message).toEqual( - ERROR_MESSAGES.REDIS_MODULE_IS_REQUIRED('RedisJSON'), + ERROR_MESSAGES.REDIS_MODULE_IS_REQUIRED('JSON'), ); } }); @@ -1170,7 +1170,7 @@ describe('JsonService', () => { } catch (err) { expect(err).toBeInstanceOf(BadRequestException); expect(err.message).toEqual( - ERROR_MESSAGES.REDIS_MODULE_IS_REQUIRED('RedisJSON'), + ERROR_MESSAGES.REDIS_MODULE_IS_REQUIRED('JSON'), ); } }); diff --git a/redisinsight/api/src/modules/browser/rejson-rl/rejson-rl.service.ts b/redisinsight/api/src/modules/browser/rejson-rl/rejson-rl.service.ts index 9fe4060c39..63b387462b 100644 --- a/redisinsight/api/src/modules/browser/rejson-rl/rejson-rl.service.ts +++ b/redisinsight/api/src/modules/browser/rejson-rl/rejson-rl.service.ts @@ -253,9 +253,9 @@ export class RejsonRlService { } if (error.message.includes(RedisErrorCodes.UnknownCommand)) { - throw new BadRequestException( - ERROR_MESSAGES.REDIS_MODULE_IS_REQUIRED('RedisJSON'), - ); + throw new BadRequestException({ + message: ERROR_MESSAGES.REDIS_MODULE_IS_REQUIRED('JSON') + }); } throw catchAclError(error); @@ -307,9 +307,9 @@ export class RejsonRlService { } if (error.message.includes(RedisErrorCodes.UnknownCommand)) { - throw new BadRequestException( - ERROR_MESSAGES.REDIS_MODULE_IS_REQUIRED('RedisJSON'), - ); + throw new BadRequestException({ + message: ERROR_MESSAGES.REDIS_MODULE_IS_REQUIRED('JSON') + }); } // todo: refactor error handling across the project @@ -361,9 +361,9 @@ export class RejsonRlService { } if (error.message.includes(RedisErrorCodes.UnknownCommand)) { - throw new BadRequestException( - ERROR_MESSAGES.REDIS_MODULE_IS_REQUIRED('RedisJSON'), - ); + throw new BadRequestException({ + message: ERROR_MESSAGES.REDIS_MODULE_IS_REQUIRED('JSON') + }); } throw catchAclError(error); @@ -402,9 +402,9 @@ export class RejsonRlService { } if (error.message.includes(RedisErrorCodes.UnknownCommand)) { - throw new BadRequestException( - ERROR_MESSAGES.REDIS_MODULE_IS_REQUIRED('RedisJSON'), - ); + throw new BadRequestException({ + message: ERROR_MESSAGES.REDIS_MODULE_IS_REQUIRED('JSON') + }); } throw catchAclError(error); @@ -443,9 +443,9 @@ export class RejsonRlService { } if (error.message.includes(RedisErrorCodes.UnknownCommand)) { - throw new BadRequestException( - ERROR_MESSAGES.REDIS_MODULE_IS_REQUIRED('RedisJSON'), - ); + throw new BadRequestException({ + message: ERROR_MESSAGES.REDIS_MODULE_IS_REQUIRED('JSON') + }); } throw catchAclError(error); diff --git a/redisinsight/api/src/modules/database/providers/database-overview.provider.ts b/redisinsight/api/src/modules/database/providers/database-overview.provider.ts index c8c4e8268b..8756e3d161 100644 --- a/redisinsight/api/src/modules/database/providers/database-overview.provider.ts +++ b/redisinsight/api/src/modules/database/providers/database-overview.provider.ts @@ -219,7 +219,7 @@ export class DatabaseOverviewProvider { return [undefined, undefined]; } - const totalKeysPerDb = {}; + const totalKeysPerDb: Record = {}; masterNodes.forEach((node) => { map( diff --git a/redisinsight/ui/src/components/messages/module-not-loaded-minimalized/constants.ts b/redisinsight/ui/src/components/messages/module-not-loaded-minimalized/constants.ts index ed333376b5..79cbbd1b74 100644 --- a/redisinsight/ui/src/components/messages/module-not-loaded-minimalized/constants.ts +++ b/redisinsight/ui/src/components/messages/module-not-loaded-minimalized/constants.ts @@ -9,11 +9,11 @@ export const MODULE_CAPABILITY_TEXT_NOT_AVAILABLE: { [key in RedisDefaultModules text: 'Create a free Redis Stack database with probabilistic data structures that extend the core capabilities of your Redis.' }, [RedisDefaultModules.ReJSON]: { - title: 'JSON capability is not available', + title: 'JSON data structure is not available', text: 'Create a free Redis Stack database with JSON capability that extends the core capabilities of your Redis.' }, [RedisDefaultModules.Search]: { - title: 'Search and query capability is not available', + title: 'Redis Query Engine capability is not available', text: 'Create a free Redis Stack database with search and query features that extend the core capabilities of your Redis.' }, [RedisDefaultModules.TimeSeries]: { diff --git a/redisinsight/ui/src/components/messages/module-not-loaded/ModuleNotLoaded.tsx b/redisinsight/ui/src/components/messages/module-not-loaded/ModuleNotLoaded.tsx index 88dae8fd93..6511ec6353 100644 --- a/redisinsight/ui/src/components/messages/module-not-loaded/ModuleNotLoaded.tsx +++ b/redisinsight/ui/src/components/messages/module-not-loaded/ModuleNotLoaded.tsx @@ -18,6 +18,13 @@ import { getDbWithModuleLoaded } from 'uiSrc/utils' import { useCapability } from 'uiSrc/services' import styles from './styles.module.scss' +export const MODULE_OAUTH_SOURCE_MAP: { [key in RedisDefaultModules]?: String } = { + [RedisDefaultModules.Bloom]: 'RedisBloom', + [RedisDefaultModules.ReJSON]: 'RedisJSON', + [RedisDefaultModules.Search]: 'RediSearch', + [RedisDefaultModules.TimeSeries]: 'RedisTimeSeries', +} + export interface IProps { moduleName: RedisDefaultModules id: string @@ -31,7 +38,7 @@ const MAX_ELEMENT_WIDTH = 1440 const renderTitle = (width: number, moduleName?: string) => (

- {`${moduleName} ${moduleName === MODULE_TEXT_VIEW.redisgears ? 'are' : 'is'} not available `} + {`${moduleName} ${[MODULE_TEXT_VIEW.redisgears, MODULE_TEXT_VIEW.bf].includes(moduleName) ? 'are' : 'is'} not available `} {width > MAX_ELEMENT_WIDTH &&
} for this database

@@ -51,7 +58,8 @@ const ModuleNotLoaded = ({ moduleName, id, type = 'workbench', onClose }: IProps const [width, setWidth] = useState(0) const freeInstances = useSelector(freeInstancesSelector) || [] - const module = MODULE_TEXT_VIEW[moduleName] + const module = MODULE_OAUTH_SOURCE_MAP[moduleName] + const freeDbWithModule = getDbWithModuleLoaded(freeInstances, moduleName) const source = type === 'browser' ? OAuthSocialSource.BrowserSearch : OAuthSocialSource[module] @@ -104,7 +112,7 @@ const ModuleNotLoaded = ({ moduleName, id, type = 'workbench', onClose }: IProps )}
- {renderTitle(width, module)} + {renderTitle(width, MODULE_TEXT_VIEW[moduleName])} {CONTENT[moduleName]?.text.map((item: string) => ( width > MIN_ELEMENT_WIDTH ? <>{item}
: item @@ -122,7 +130,7 @@ const ModuleNotLoaded = ({ moduleName, id, type = 'workbench', onClose }: IProps ))}
)} - {renderText(module)} + {renderText(MODULE_TEXT_VIEW[moduleName])}
diff --git a/redisinsight/ui/src/components/side-panels/panels/ai-assistant/components/expert-chat/ExpertChat.tsx b/redisinsight/ui/src/components/side-panels/panels/ai-assistant/components/expert-chat/ExpertChat.tsx index 0dd2cf4048..27f7509cfe 100644 --- a/redisinsight/ui/src/components/side-panels/panels/ai-assistant/components/expert-chat/ExpertChat.tsx +++ b/redisinsight/ui/src/components/side-panels/panels/ai-assistant/components/expert-chat/ExpertChat.tsx @@ -173,16 +173,16 @@ const ExpertChat = () => { if (!instanceId) { return { title: 'Open a database', - content: 'Open your Redis database with search & query, or create a new database to get started.' + content: 'Open your Redis database with Redis Query Engine, or create a new database to get started.' } } if (!isRedisearchAvailable(modules)) { return { - title: 'Search & query capability is not available', + title: 'Redis Query Engine capability is not available', content: freeInstances?.length ? 'Use your free all-in-one Redis Cloud database to start exploring these capabilities.' - : 'Create a free Redis Stack database with search & query capability that extends the core capabilities of open-source Redis.', + : 'Create a free Redis Stack database with Redis Query Engine capability that extends the core capabilities of open-source Redis.', icon: ( - RedisJSON module should be loaded to add this key. Find  - - more information - -   - about RedisJSON or create your  - - free Redis database - -   - with RedisJSON on Redis Cloud. + This database does not support the JSON data structure. Learn more about JSON support + {' '} + here. + {' '} + You can also create a + {' '} + free Redis Cloud database + {' '} + with built-in JSON support. ), REMOVE_LAST_ELEMENT: (fieldType: string) => ( diff --git a/redisinsight/ui/src/constants/mocks/mock-recommendations.ts b/redisinsight/ui/src/constants/mocks/mock-recommendations.ts index 8dfd17b7e4..f5979368b5 100644 --- a/redisinsight/ui/src/constants/mocks/mock-recommendations.ts +++ b/redisinsight/ui/src/constants/mocks/mock-recommendations.ts @@ -875,7 +875,7 @@ export const MOCK_RECOMMENDATIONS: IRecommendationsStatic = { type: 'link', value: { href: 'https://redis.io/docs/interact/search-and-query/', - name: 'RediSearch' + name: 'Redis Query Engine' } }, { diff --git a/redisinsight/ui/src/constants/workbenchResults.ts b/redisinsight/ui/src/constants/workbenchResults.ts index fcba84cd7b..db67184ab2 100644 --- a/redisinsight/ui/src/constants/workbenchResults.ts +++ b/redisinsight/ui/src/constants/workbenchResults.ts @@ -6,7 +6,7 @@ export const EMPTY_COMMAND = 'Encrypted data' export const MODULE_NOT_LOADED_CONTENT: { [key in RedisDefaultModules]?: any } = { [RedisDefaultModules.TimeSeries]: { - text: ['RedisTimeSeries adds a Time Series data structure to Redis. ', 'With this capability you can:'], + text: ['Time series data structure adds the capability to:'], improvements: [ 'Add sample data', 'Perform cross-time-series range and aggregation queries', @@ -15,7 +15,7 @@ export const MODULE_NOT_LOADED_CONTENT: { [key in RedisDefaultModules]?: any } = link: 'https://redis.io/docs/latest/develop/data-types/timeseries/' }, [RedisDefaultModules.Search]: { - text: ['RediSearch adds the capability to:'], + text: ['Redis Query Engine allows to:'], improvements: [ 'Query', 'Secondary index', @@ -25,17 +25,17 @@ export const MODULE_NOT_LOADED_CONTENT: { [key in RedisDefaultModules]?: any } = link: 'https://redis.io/docs/interact/search-and-query/' }, [RedisDefaultModules.ReJSON]: { - text: ['RedisJSON adds the capability to:'], + text: ['JSON adds the capability to:'], improvements: [ 'Store JSON documents', 'Update JSON documents', 'Retrieve JSON documents' ], - additionalText: ['RedisJSON also works seamlessly with RediSearch to let you index and query JSON documents.'], + additionalText: ['JSON data structure also works seamlessly with Redis Query Engine to let you index and query JSON documents.'], link: 'https://redis.io/docs/latest/develop/data-types/json/' }, [RedisDefaultModules.Bloom]: { - text: ['RedisBloom adds a set of probabilistic data structures to Redis, including:'], + text: ['Probabilistic data structures include:'], improvements: [ 'Bloom filter', 'Cuckoo filter', @@ -43,14 +43,14 @@ export const MODULE_NOT_LOADED_CONTENT: { [key in RedisDefaultModules]?: any } = 'Top-K', 'T-digest' ], - additionalText: ['With this capability you can query streaming data without needing to store all the elements of the stream.'], + additionalText: ['With these data structures, you can query streaming data without needing to store all the elements of the stream.'], link: 'https://redis.io/docs/latest/develop/data-types/probabilistic/bloom-filter/' }, } export const MODULE_TEXT_VIEW: { [key in RedisDefaultModules]?: string } = { - [RedisDefaultModules.Bloom]: 'RedisBloom', - [RedisDefaultModules.ReJSON]: 'RedisJSON', - [RedisDefaultModules.Search]: 'RediSearch', - [RedisDefaultModules.TimeSeries]: 'RedisTimeSeries', + [RedisDefaultModules.Bloom]: 'Probabilistic data structures', + [RedisDefaultModules.ReJSON]: 'JSON data structure', + [RedisDefaultModules.Search]: 'Redis Query Engine', + [RedisDefaultModules.TimeSeries]: 'Time series data structure', } diff --git a/redisinsight/ui/src/packages/redisearch/src/index.html b/redisinsight/ui/src/packages/redisearch/src/index.html index beaf8a57ef..344485e21a 100644 --- a/redisinsight/ui/src/packages/redisearch/src/index.html +++ b/redisinsight/ui/src/packages/redisearch/src/index.html @@ -4,7 +4,7 @@ - RediSearch plugin + Redis Query Engine plugin diff --git a/redisinsight/ui/src/pages/autodiscover-cloud/redis-cloud-databases-result/RedisCloudDatabasesResultPage.tsx b/redisinsight/ui/src/pages/autodiscover-cloud/redis-cloud-databases-result/RedisCloudDatabasesResultPage.tsx index 723a4981b4..eafba8d925 100644 --- a/redisinsight/ui/src/pages/autodiscover-cloud/redis-cloud-databases-result/RedisCloudDatabasesResultPage.tsx +++ b/redisinsight/ui/src/pages/autodiscover-cloud/redis-cloud-databases-result/RedisCloudDatabasesResultPage.tsx @@ -173,7 +173,7 @@ const RedisCloudDatabasesResultPage = () => { { field: 'modules', className: 'column_modules', - name: 'Modules', + name: 'Capabilities', dataType: 'auto', align: 'left', width: '200px', diff --git a/redisinsight/ui/src/pages/autodiscover-cloud/redis-cloud-databases/RedisCloudDatabasesPage.tsx b/redisinsight/ui/src/pages/autodiscover-cloud/redis-cloud-databases/RedisCloudDatabasesPage.tsx index 3414b6a2d7..0d066f1598 100644 --- a/redisinsight/ui/src/pages/autodiscover-cloud/redis-cloud-databases/RedisCloudDatabasesPage.tsx +++ b/redisinsight/ui/src/pages/autodiscover-cloud/redis-cloud-databases/RedisCloudDatabasesPage.tsx @@ -221,7 +221,7 @@ const RedisCloudDatabasesPage = () => { { field: 'modules', className: 'column_modules', - name: 'Modules', + name: 'Capabilities', dataType: 'auto', align: 'left', width: '200px', diff --git a/redisinsight/ui/src/pages/home/components/database-list-component/DatabasesListWrapper.tsx b/redisinsight/ui/src/pages/home/components/database-list-component/DatabasesListWrapper.tsx index 9de868da7a..efda01bd42 100644 --- a/redisinsight/ui/src/pages/home/components/database-list-component/DatabasesListWrapper.tsx +++ b/redisinsight/ui/src/pages/home/components/database-list-component/DatabasesListWrapper.tsx @@ -293,7 +293,7 @@ const DatabasesListWrapper = ({ width, onEditInstance, editedInstance, onDeleteI { field: 'modules', className: styles.columnModules, - name: 'Modules', + name: 'Capabilities', width: '30%', dataType: 'string', render: (_cellData, { modules = [], isRediStack }: Instance) => ( diff --git a/redisinsight/ui/src/pages/home/components/form/DbInfo.tsx b/redisinsight/ui/src/pages/home/components/form/DbInfo.tsx index cd21a23b42..e618c65eab 100644 --- a/redisinsight/ui/src/pages/home/components/form/DbInfo.tsx +++ b/redisinsight/ui/src/pages/home/components/form/DbInfo.tsx @@ -130,7 +130,7 @@ const DbInfo = (props: Props) => { className={styles.dbInfoModulesLabel} label={( - Modules: + Capabilities: )} /> diff --git a/redisinsight/ui/src/pages/redis-cluster/RedisClusterDatabasesPage.tsx b/redisinsight/ui/src/pages/redis-cluster/RedisClusterDatabasesPage.tsx index eec84eef2c..9261e51213 100644 --- a/redisinsight/ui/src/pages/redis-cluster/RedisClusterDatabasesPage.tsx +++ b/redisinsight/ui/src/pages/redis-cluster/RedisClusterDatabasesPage.tsx @@ -126,7 +126,7 @@ const RedisClusterDatabasesPage = () => { { field: 'modules', className: 'column_modules', - name: 'Modules', + name: 'Capabilities', dataType: 'auto', align: 'left', width: '190px', diff --git a/redisinsight/ui/src/slices/interfaces/instances.ts b/redisinsight/ui/src/slices/interfaces/instances.ts index 2eb1f64ab4..c8ccc4cda4 100644 --- a/redisinsight/ui/src/slices/interfaces/instances.ts +++ b/redisinsight/ui/src/slices/interfaces/instances.ts @@ -189,16 +189,18 @@ export const COMMAND_MODULES = { [RedisDefaultModules.Bloom]: [RedisDefaultModules.Bloom], } -const RediSearchModulesText = [...REDISEARCH_MODULES].reduce((prev, next) => ({ ...prev, [next]: 'RediSearch' }), {}) +const RediSearchModulesText = [...REDISEARCH_MODULES].reduce((prev, next) => ({ ...prev, [next]: 'Redis Query Engine' }), {}) // Enums don't allow to use dynamic key export const DATABASE_LIST_MODULES_TEXT = Object.freeze({ - [RedisDefaultModules.AI]: 'RedisAI', - [RedisDefaultModules.Graph]: 'RedisGraph', - [RedisDefaultModules.Gears]: 'RedisGears', - [RedisDefaultModules.Bloom]: 'RedisBloom', - [RedisDefaultModules.ReJSON]: 'RedisJSON', - [RedisDefaultModules.TimeSeries]: 'RedisTimeSeries', + [RedisDefaultModules.AI]: 'AI', + [RedisDefaultModules.Graph]: 'Graph', + [RedisDefaultModules.Gears]: 'Gears', + [RedisDefaultModules.RedisGears]: 'Gears', + [RedisDefaultModules.RedisGears2]: 'Gears', + [RedisDefaultModules.Bloom]: 'Probabilistic', + [RedisDefaultModules.ReJSON]: 'JSON', + [RedisDefaultModules.TimeSeries]: 'Time Series', [RedisCustomModulesName.Proto]: 'redis-protobuf', [RedisCustomModulesName.IpTables]: 'RedisPushIpTables', ...RediSearchModulesText, diff --git a/redisinsight/ui/src/utils/capability.ts b/redisinsight/ui/src/utils/capability.ts index 38c162962f..19371f3244 100644 --- a/redisinsight/ui/src/utils/capability.ts +++ b/redisinsight/ui/src/utils/capability.ts @@ -24,7 +24,7 @@ export const getTutorialCapability = (source: any = '') => { case getSourceTutorialByCapability(RedisDefaultModules.FTL): return getCapability( 'searchAndQuery', - 'Search and query capability', + 'Redis Query Engine capability', findMarkdownPath(store.getState()?.workbench?.tutorials?.items, { id: 'sq-intro' }) ) diff --git a/redisinsight/ui/src/utils/tests/capability.spec.ts b/redisinsight/ui/src/utils/tests/capability.spec.ts index fe93038982..962182a5ee 100644 --- a/redisinsight/ui/src/utils/tests/capability.spec.ts +++ b/redisinsight/ui/src/utils/tests/capability.spec.ts @@ -16,7 +16,7 @@ describe('getSourceTutorialByCapability', () => { }) const emptyCapability = { name: '', telemetryName: '', path: null, } -const searchCapability = { name: 'Search and query capability', telemetryName: 'searchAndQuery', path: null, } +const searchCapability = { name: 'Redis Query Engine capability', telemetryName: 'searchAndQuery', path: null, } const jsonCapability = { name: 'JSON capability', telemetryName: 'JSON', path: null, } const tsCapability = { name: 'Time series data structure', telemetryName: 'timeSeries', path: null, } const bloomCapability = { name: 'Probabilistic data structures', telemetryName: 'probabilistic', path: null, } diff --git a/redisinsight/ui/src/utils/tests/modules.spec.ts b/redisinsight/ui/src/utils/tests/modules.spec.ts index 107faaa1c1..90147a9506 100644 --- a/redisinsight/ui/src/utils/tests/modules.spec.ts +++ b/redisinsight/ui/src/utils/tests/modules.spec.ts @@ -8,33 +8,33 @@ import { } from 'uiSrc/utils/modules' const modules1: IDatabaseModule[] = [ - { moduleName: 'RedisJSON', abbreviation: 'RS' }, + { moduleName: 'JSON', abbreviation: 'RS' }, { moduleName: 'My1Module', abbreviation: 'MD' }, - { moduleName: 'RediSearch', abbreviation: 'RS' }, + { moduleName: 'Redis Query Engine', abbreviation: 'RS' }, ] const modules2: IDatabaseModule[] = [ { moduleName: '', abbreviation: '' }, { moduleName: '', abbreviation: '' }, - { moduleName: 'RedisBloom', abbreviation: 'RS' }, + { moduleName: 'Probabilistic', abbreviation: 'RS' }, { moduleName: '', abbreviation: '' }, { moduleName: '', abbreviation: '' }, { moduleName: 'MycvModule', abbreviation: 'MC' }, { moduleName: 'My1Module', abbreviation: 'MD' }, - { moduleName: 'RedisJSON', abbreviation: 'RS' }, + { moduleName: 'JSON', abbreviation: 'RS' }, { moduleName: 'My2Modul2e', abbreviation: 'MX' }, - { moduleName: 'RediSearch', abbreviation: 'RS' }, + { moduleName: 'Redis Query Engine', abbreviation: 'RS' }, ] const result1: IDatabaseModule[] = [ - { moduleName: 'RediSearch', abbreviation: 'RS' }, - { moduleName: 'RedisJSON', abbreviation: 'RS' }, + { moduleName: 'Redis Query Engine', abbreviation: 'RS' }, + { moduleName: 'JSON', abbreviation: 'RS' }, { moduleName: 'My1Module', abbreviation: 'MD' } ] const result2: IDatabaseModule[] = [ - { moduleName: 'RediSearch', abbreviation: 'RS' }, - { moduleName: 'RedisJSON', abbreviation: 'RS' }, - { moduleName: 'RedisBloom', abbreviation: 'RS' }, + { moduleName: 'Redis Query Engine', abbreviation: 'RS' }, + { moduleName: 'JSON', abbreviation: 'RS' }, + { moduleName: 'Probabilistic', abbreviation: 'RS' }, { moduleName: 'MycvModule', abbreviation: 'MC' }, { moduleName: 'My1Module', abbreviation: 'MD' }, { moduleName: 'My2Modul2e', abbreviation: 'MX' }, diff --git a/tests/e2e/pageObjects/my-redis-databases-page.ts b/tests/e2e/pageObjects/my-redis-databases-page.ts index 3144620cd6..641df04d90 100644 --- a/tests/e2e/pageObjects/my-redis-databases-page.ts +++ b/tests/e2e/pageObjects/my-redis-databases-page.ts @@ -56,13 +56,13 @@ export class MyRedisDatabasePage extends BaseOverviewPage { exportPasswordsCheckbox = Selector('[data-testid=export-passwords]~div', { timeout: 500 }); //ICONS moduleColumn = Selector('[data-test-subj=tableHeaderCell_modules_3]'); - moduleSearchIcon = Selector('[data-testid^=RediSearch]'); - moduleGraphIcon = Selector('[data-testid^=RedisGraph]'); - moduleJSONIcon = Selector('[data-testid^=RedisJSON]'); - moduleTimeseriesIcon = Selector('[data-testid^=RedisTimeSeries]'); - moduleBloomIcon = Selector('[data-testid^=RedisBloom]'); - moduleAIIcon = Selector('[data-testid^=RedisAI]'); - moduleGearsIcon = Selector('[data-testid^=RedisGears]'); + moduleSearchIcon = Selector("[data-testid^='Redis Query Engine']"); + moduleGraphIcon = Selector('[data-testid^=Graph]'); + moduleJSONIcon = Selector('[data-testid^=JSON]'); + moduleTimeseriesIcon = Selector("[data-testid^='Time Series']"); + moduleBloomIcon = Selector('[data-testid^=Probabilistic]'); + moduleAIIcon = Selector('[data-testid^=AI]'); + moduleGearsIcon = Selector('[data-testid^=Gears]'); redisStackIcon = Selector('[data-testid=redis-stack-icon]'); tooltipRedisStackLogo = Selector('[data-testid=tooltip-redis-stack-icon]'); //TEXT INPUTS (also referred to as 'Text fields') diff --git a/tests/e2e/tests/web/critical-path/browser/search-capabilities.e2e.ts b/tests/e2e/tests/web/critical-path/browser/search-capabilities.e2e.ts index 27db258c3e..0c6dcde6d0 100644 --- a/tests/e2e/tests/web/critical-path/browser/search-capabilities.e2e.ts +++ b/tests/e2e/tests/web/critical-path/browser/search-capabilities.e2e.ts @@ -180,14 +180,14 @@ test }) .after(async() => { await databaseAPIRequests.deleteStandaloneDatabaseApi(ossStandaloneV5Config); - })('No RediSearch module message', async t => { - const noRedisearchMessage = 'RediSearch is not available for this database'; + })('No Redis Query Engine module message', async t => { + const noRedisearchMessage = 'Redis Query Engine is not available for this database'; const externalPageLinkFirst = 'https://redis.io/try-free'; const externalPageLinkSecond = '?utm_source=redisinsight&utm_medium=app&utm_campaign=redisinsight_browser_search' await t.click(browserPage.redisearchModeBtn); - // Verify that user can see message in the dialog when he doesn't have RediSearch module - await t.expect(browserPage.noReadySearchDialogTitle.textContent).contains(noRedisearchMessage, 'Invalid text in no redisearch popover'); + // Verify that user can see message in the dialog when he doesn't have Redis Query Engine module + await t.expect(browserPage.noReadySearchDialogTitle.textContent).contains(noRedisearchMessage, 'Invalid text in no Redis Query Engine popover'); // Verify that user can navigate by link to create a Redis db await t.click(browserPage.redisearchFreeLink); diff --git a/tests/e2e/tests/web/critical-path/database/modules.e2e.ts b/tests/e2e/tests/web/critical-path/database/modules.e2e.ts index c7855dfeb9..33040e685a 100644 --- a/tests/e2e/tests/web/critical-path/database/modules.e2e.ts +++ b/tests/e2e/tests/web/critical-path/database/modules.e2e.ts @@ -11,7 +11,7 @@ const databaseHelper = new DatabaseHelper(); const databaseAPIRequests = new DatabaseAPIRequests(); const chance = new Chance(); -const moduleNameList = ['RediSearch', 'RedisJSON', 'RedisGraph', 'RedisTimeSeries', 'RedisBloom', 'RedisGears', 'RedisAI']; +const moduleNameList = ['Redis Query Engine', 'JSON', 'Graph', 'Time Series', 'Probabilistic', 'Gears', 'AI']; const moduleList = [myRedisDatabasePage.moduleSearchIcon, myRedisDatabasePage.moduleJSONIcon, myRedisDatabasePage.moduleGraphIcon, myRedisDatabasePage.moduleTimeseriesIcon, myRedisDatabasePage.moduleBloomIcon, myRedisDatabasePage.moduleGearsIcon, myRedisDatabasePage.moduleAIIcon]; const uniqueId = chance.string({ length: 10 }); let database = { @@ -42,7 +42,7 @@ test('Verify that user can see DB modules on DB list page for Standalone DB', as // Verify that user can see the following sorting order: Search, JSON, Graph, TimeSeries, Bloom, Gears, AI for modules const databaseLine = myRedisDatabasePage.dbNameList.withExactText(database.databaseName).parent('tr'); await t.expect(databaseLine.visible).ok('Database not found in db list'); - const moduleIcons = databaseLine.find('[data-testid^=Redi]'); + const moduleIcons = databaseLine.find('[data-testid*=_module]'); const numberOfIcons = await moduleIcons.count; for (let i = 0; i < numberOfIcons; i++) { const moduleName = await moduleIcons.nth(i).getAttribute('data-testid'); diff --git a/tests/e2e/tests/web/regression/database/redisstack.e2e.ts b/tests/e2e/tests/web/regression/database/redisstack.e2e.ts index 9aa87cccdd..046b3f3e3d 100644 --- a/tests/e2e/tests/web/regression/database/redisstack.e2e.ts +++ b/tests/e2e/tests/web/regression/database/redisstack.e2e.ts @@ -13,7 +13,7 @@ const browserPage = new BrowserPage(); const databaseHelper = new DatabaseHelper(); const databaseAPIRequests = new DatabaseAPIRequests(); -const moduleNameList = ['RediSearch', 'RedisGraph', 'RedisBloom', 'RedisJSON', 'RedisTimeSeries']; +const moduleNameList = ['Redis Query Engine', 'Graph', 'Probabilistic', 'JSON', 'Time Series']; fixture `Redis Stack` .meta({ type: 'regression', rte: rte.standalone }) diff --git a/tests/e2e/tests/web/regression/insights/open-insights-panel.e2e.ts b/tests/e2e/tests/web/regression/insights/open-insights-panel.e2e.ts index d1346c1f85..f8376575a7 100644 --- a/tests/e2e/tests/web/regression/insights/open-insights-panel.e2e.ts +++ b/tests/e2e/tests/web/regression/insights/open-insights-panel.e2e.ts @@ -41,7 +41,7 @@ test await t.click(browserPage.NavigationPanel.myRedisDBButton); await myRedisDatabasePage.clickOnDBByName(ossStandaloneConfig.databaseName); await t.expect(browserPage.InsightsPanel.sidePanel.exists).ok('Insights panel is not opened'); - await t.expect(await browserPage.InsightsPanel.existsCompatibilityPopover.textContent).contains('Search and query capability', 'popover is not displayed'); + await t.expect(await browserPage.InsightsPanel.existsCompatibilityPopover.textContent).contains('Redis Query Engine', 'popover is not displayed'); const tab = await browserPage.InsightsPanel.setActiveTab(ExploreTabs.Tutorials); await t.expect(tab.preselectArea.textContent).contains('How To Query Your Data', 'the tutorial is incorrect'); @@ -53,7 +53,7 @@ test await t.click(browserPage.NavigationPanel.myRedisDBButton); await myRedisDatabasePage.clickOnDBByName(ossStandaloneConfig.databaseName); await t.expect(browserPage.InsightsPanel.sidePanel.exists).ok('Insights panel is not opened'); - await t.expect(await browserPage.InsightsPanel.existsCompatibilityPopover.textContent).contains('Time series data', 'popover is not displayed'); + await t.expect(await browserPage.InsightsPanel.existsCompatibilityPopover.textContent).contains('Time series data structure', 'popover is not displayed'); await t.expect(tab.preselectArea.textContent).contains('Time Series', 'the tutorial is incorrect'); }); diff --git a/tests/e2e/tests/web/regression/workbench/redisearch-module-not-available.e2e.ts b/tests/e2e/tests/web/regression/workbench/redisearch-module-not-available.e2e.ts index 6aff416aa2..30bdeb3cc7 100644 --- a/tests/e2e/tests/web/regression/workbench/redisearch-module-not-available.e2e.ts +++ b/tests/e2e/tests/web/regression/workbench/redisearch-module-not-available.e2e.ts @@ -45,10 +45,10 @@ test('Verify that user can see options on what can be done to work with capabili await workbenchPage.NavigationHeader.togglePanel(true); await workbenchPage.sendCommandInWorkbench(commandJSON); // Verify change screens when capability not available - 'JSON' - await t.expect(await workbenchPage.commandExecutionResult.withText('RedisJSON is not available').visible) - .ok('Missing RedisJSON title is not visible'); + await t.expect(await workbenchPage.commandExecutionResult.withText('JSON data structure is not available').visible) + .ok('Missing JSON title is not visible'); await workbenchPage.sendCommandInWorkbench(commandFT); // Verify change screens when capability not available - 'Search' - await t.expect(await workbenchPage.commandExecutionResult.withText('RediSearch is not available').visible) - .ok('Missing RedisSearch title is not visible'); + await t.expect(await workbenchPage.commandExecutionResult.withText('Redis Query Engine is not available').visible) + .ok('Missing Search title is not visible'); });