[8.8] [Enterprise Search][Search Application] Remove application name validation from Create Search App Flyout (#158120) (#158332)

# Backport

This will backport the following commits from `main` to `8.8`:
- [[Enterprise Search][Search Application] Remove application name
validation from Create Search App Flyout
(#158120)](https://github.com/elastic/kibana/pull/158120)

<!--- Backport version: 8.9.7 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sqren/backport)

<!--BACKPORT [{"author":{"name":"Saarika
Bhasi","email":"55930906+saarikabhasi@users.noreply.github.com"},"sourceCommit":{"committedDate":"2023-05-23T21:48:14Z","message":"[Enterprise
Search][Search Application] Remove application name validation from
Create Search App Flyout (#158120)\n\n## Summary\r\n\r\n* Remove search
application name validation from UI side in Create search application
Flyout, Instead verify error from
logs.\r\n\r\n\r\n\r\n\r\n\r\n2a945d8d-45ae-41ce-a143-a126b993132d","sha":"2a97425f5804379474faf5b3630de53401c3280f","branchLabelMapping":{"^v8.9.0$":"main","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","Team:EnterpriseSearch","v8.9.0","v8.8.1"],"number":158120,"url":"https://github.com/elastic/kibana/pull/158120","mergeCommit":{"message":"[Enterprise
Search][Search Application] Remove application name validation from
Create Search App Flyout (#158120)\n\n## Summary\r\n\r\n* Remove search
application name validation from UI side in Create search application
Flyout, Instead verify error from
logs.\r\n\r\n\r\n\r\n\r\n\r\n2a945d8d-45ae-41ce-a143-a126b993132d","sha":"2a97425f5804379474faf5b3630de53401c3280f"}},"sourceBranch":"main","suggestedTargetBranches":["8.8"],"targetPullRequestStates":[{"branch":"main","label":"v8.9.0","labelRegex":"^v8.9.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/158120","number":158120,"mergeCommit":{"message":"[Enterprise
Search][Search Application] Remove application name validation from
Create Search App Flyout (#158120)\n\n## Summary\r\n\r\n* Remove search
application name validation from UI side in Create search application
Flyout, Instead verify error from
logs.\r\n\r\n\r\n\r\n\r\n\r\n2a945d8d-45ae-41ce-a143-a126b993132d","sha":"2a97425f5804379474faf5b3630de53401c3280f"}},{"branch":"8.8","label":"v8.8.1","labelRegex":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"}]}]
BACKPORT-->

Co-authored-by: Saarika Bhasi <55930906+saarikabhasi@users.noreply.github.com>
This commit is contained in:
Kibana Machine 2023-05-23 18:59:50 -04:00 committed by GitHub
parent 79f2cc6467
commit 303c8f2e8f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 23 additions and 11 deletions

View file

@ -47,7 +47,7 @@ describe('CreateEngineLogic', () => {
});
describe('listeners', () => {
it('createEngine makes expected request action', () => {
it('createEngine makes expected request action with VALID_ENGINE_NAME', () => {
jest.spyOn(CreateEngineLogic.actions, 'createEngineRequest');
CreateEngineLogic.actions.setEngineName(VALID_ENGINE_NAME);
@ -61,6 +61,22 @@ describe('CreateEngineLogic', () => {
indices: ['search-index-01'],
});
});
it('createEngine makes expected request action with INVALID_ENGINE_NAME', () => {
jest.spyOn(CreateEngineLogic.actions, 'createEngineRequest');
CreateEngineLogic.actions.setEngineName(INVALID_ENGINE_NAME);
CreateEngineLogic.actions.setSelectedIndices(VALID_INDICES_DATA);
CreateEngineLogic.actions.createEngine();
expect(CreateEngineLogic.actions.createEngineRequest).toHaveBeenCalledTimes(1);
expect(CreateEngineLogic.actions.createEngineRequest).toHaveBeenCalledWith({
engineName: INVALID_ENGINE_NAME,
indices: ['search-index-01'],
});
});
it('engineCreated is handled and is navigated to Search application list page', () => {
jest.spyOn(CreateEngineLogic.actions, 'fetchEngines');
jest
@ -84,10 +100,9 @@ describe('CreateEngineLogic', () => {
expect(CreateEngineLogic.values.engineNameStatus).toEqual('complete');
});
it('returns warning for invalid engine name', () => {
it('returns complete with invalid engine name', () => {
CreateEngineLogic.actions.setEngineName(INVALID_ENGINE_NAME);
expect(CreateEngineLogic.values.engineNameStatus).toEqual('warning');
expect(CreateEngineLogic.values.engineNameStatus).toEqual('complete');
});
});
describe('indicesStatus', () => {
@ -106,11 +121,11 @@ describe('CreateEngineLogic', () => {
expect(CreateEngineLogic.values.createDisabled).toEqual(false);
});
it('true with invalid data', () => {
it('false with invalid data', () => {
CreateEngineLogic.actions.setSelectedIndices(VALID_INDICES_DATA);
CreateEngineLogic.actions.setEngineName(INVALID_ENGINE_NAME);
expect(CreateEngineLogic.values.createDisabled).toEqual(true);
expect(CreateEngineLogic.values.createDisabled).toEqual(false);
});
});
describe('formDisabled', () => {

View file

@ -18,8 +18,6 @@ import { ENGINES_PATH } from '../../routes';
import { EnginesListLogic } from './engines_list_logic';
const NAME_VALIDATION = new RegExp(/^[a-z0-9\-]+$/);
export interface CreateEngineLogicActions {
createEngine: () => void;
createEngineRequest: CreateEngineApiLogicActions['makeRequest'];
@ -37,7 +35,7 @@ export interface CreateEngineLogicValues {
createEngineError?: typeof CreateEngineApiLogic.values.error;
createEngineStatus: typeof CreateEngineApiLogic.values.status;
engineName: string;
engineNameStatus: 'complete' | 'incomplete' | 'warning';
engineNameStatus: 'complete' | 'incomplete';
formDisabled: boolean;
indicesStatus: 'complete' | 'incomplete';
selectedIndices: string[];
@ -103,8 +101,7 @@ export const CreateEngineLogic = kea<
() => [selectors.engineName],
(engineName: string) => {
if (engineName.length === 0) return 'incomplete';
if (NAME_VALIDATION.test(engineName)) return 'complete';
return 'warning';
return 'complete';
},
],
formDisabled: [