improves timeline creation cypress test (#88628)

This commit is contained in:
MadameSheema 2021-01-19 10:07:29 +01:00 committed by GitHub
parent f7d9212c34
commit df99216bae
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 22 additions and 14 deletions

View file

@ -32,9 +32,8 @@ import { cleanKibana } from '../tasks/common';
import { loginAndWaitForPage } from '../tasks/login';
import { openTimelineUsingToggle } from '../tasks/security_main';
import {
addDescriptionToTimeline,
addFilter,
addNameToTimeline,
addNameAndDescriptionToTimeline,
addNotesToTimeline,
closeTimeline,
createNewTimeline,
@ -58,21 +57,20 @@ describe('Timelines', () => {
loginAndWaitForPage(OVERVIEW_URL);
openTimelineUsingToggle();
populateTimeline();
addFilter(timeline.filter);
pinFirstEvent();
cy.get(PIN_EVENT)
.should('have.attr', 'aria-label')
.and('match', /Unpin the event in row 2/);
cy.get(LOCKED_ICON).should('be.visible');
addNameToTimeline(timeline.title);
addNameAndDescriptionToTimeline(timeline);
cy.wait('@timeline').then(({ response }) => {
const timelineId = response!.body.data.persistTimeline.timeline.savedObjectId;
addDescriptionToTimeline(timeline.description);
populateTimeline();
addFilter(timeline.filter);
pinFirstEvent();
cy.get(PIN_EVENT)
.should('have.attr', 'aria-label')
.and('match', /Unpin the event in row 2/);
cy.get(LOCKED_ICON).should('be.visible');
addNotesToTimeline(timeline.notes);
markAsFavorite();
waitForTimelineChanges();

View file

@ -4,7 +4,7 @@
* you may not use this file except in compliance with the Elastic License.
*/
import { TimelineFilter } from '../objects/timeline';
import { Timeline, TimelineFilter } from '../objects/timeline';
import { ALL_CASES_CREATE_NEW_CASE_TABLE_BTN } from '../screens/all_cases';
@ -72,6 +72,16 @@ export const addNameToTimeline = (name: string) => {
cy.get(TIMELINE_TITLE_INPUT).should('not.exist');
};
export const addNameAndDescriptionToTimeline = (timeline: Timeline) => {
cy.get(TIMELINE_EDIT_MODAL_OPEN_BUTTON).first().click();
cy.get(TIMELINE_TITLE_INPUT).type(`${timeline.title}{enter}`);
cy.get(TIMELINE_TITLE_INPUT).should('have.attr', 'value', timeline.title);
cy.get(TIMELINE_DESCRIPTION_INPUT).type(timeline.description);
cy.get(TIMELINE_DESCRIPTION_INPUT).invoke('val').should('equal', timeline.description);
cy.get(TIMELINE_EDIT_MODAL_SAVE_BUTTON).click();
cy.get(TIMELINE_TITLE_INPUT).should('not.exist');
};
export const addNotesToTimeline = (notes: string) => {
cy.get(NOTES_TAB_BUTTON).click();
cy.get(NOTES_TEXT_AREA).type(notes);