Skip to content

Commit

Permalink
Begin fixing discover tests
Browse files Browse the repository at this point in the history
  • Loading branch information
Zacqary committed Jan 16, 2025
1 parent 164afe8 commit 42e702a
Show file tree
Hide file tree
Showing 7 changed files with 62 additions and 41 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -153,12 +153,14 @@ const useCommonRuleFormSteps = ({
: RULE_FORM_PAGE_RULE_DEFINITION_TITLE,
status: ruleDefinitionStatus,
children: <RuleDefinition />,
'data-test-subj': 'ruleFormStep-definition',
},
[RuleFormStepId.ACTIONS]: canReadConnectors
? {
title: RULE_FORM_PAGE_RULE_ACTIONS_TITLE,
status: actionsStatus,
children: <RuleActions />,
'data-test-subj': 'ruleFormStep-actions',
}
: null,
[RuleFormStepId.DETAILS]: {
Expand All @@ -167,6 +169,7 @@ const useCommonRuleFormSteps = ({
: RULE_FORM_PAGE_RULE_DETAILS_TITLE,
status: ruleDetailsStatus,
children: <RuleDetails />,
'data-test-subj': 'ruleFormStep-details',
},
}),
[ruleDefinitionStatus, canReadConnectors, actionsStatus, ruleDetailsStatus, shortTitles]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ export const RuleFlyoutEditFooter = ({
<EuiFlyoutFooter>
<EuiFlexGroup justifyContent="spaceBetween">
<EuiFlexItem grow={false}>
<EuiButtonEmpty data-test-subj="cancelSaveRuleButton" onClick={onCancel}>
<EuiButtonEmpty data-test-subj="ruleFlyoutFooterCancelButton" onClick={onCancel}>
{RULE_FLYOUT_FOOTER_CANCEL_TEXT}
</EuiButtonEmpty>
</EuiFlexItem>
Expand All @@ -60,7 +60,7 @@ export const RuleFlyoutEditFooter = ({
<EuiFlexItem grow={false}>
<EuiButton
fill
data-test-subj="saveRuleButton"
data-test-subj="ruleFlyoutFooterSaveButton"
type="submit"
isDisabled={isSaving || hasErrors}
isLoading={isSaving}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ journey(`DefaultStatusAlert`, async ({ page, params }) => {
await page.waitForSelector('text=Monitor status rule');
await page.getByTestId('intervalInputUnit').selectOption('second');
await page.getByTestId('intervalInput').fill('20');
await page.click(byTestId('saveEditedRuleButton'));
await page.click(byTestId('ruleFlyoutFooterCancelButton'));
await page.waitForSelector("text=Updated 'Synthetics status internal rule'");
});

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -163,17 +163,13 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
supertest.delete(`/api/actions/connector/${id}`).set('kbn-xsrf', 'foo').expect(204, '');

const defineSearchSourceAlert = async (alertName: string) => {
await retry.waitFor('rule name value is correct', async () => {
await testSubjects.setValue('ruleNameInput', alertName);
const ruleName = await testSubjects.getAttribute('ruleNameInput', 'value');
return ruleName === alertName;
});
await testSubjects.click('thresholdPopover');
await testSubjects.setValue('alertThresholdInput0', '1');

await testSubjects.click('forLastExpression');
await testSubjects.setValue('timeWindowSizeNumber', '30');

await testSubjects.click('ruleFormStep-actions');
await retry.waitFor('actions accordion to exist', async () => {
await testSubjects.click('.index-alerting-ActionTypeSelectOption');
return await testSubjects.exists('alertActionAccordion-0');
Expand All @@ -186,6 +182,14 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
"alert_id": "{{alert.id}}",
"context_link": "{{context.link}}"
}`);

await retry.waitFor('rule name value is correct', async () => {
await testSubjects.click('ruleFormStep-details');

await testSubjects.setValue('ruleDetailsNameInput', alertName);
const ruleName = await testSubjects.getAttribute('ruleDetailsNameInput', 'value');
return ruleName === alertName;
});
};

const openDiscoverAlertFlyout = async () => {
Expand Down Expand Up @@ -420,7 +424,8 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
return (await dataViewSelector.getVisibleText()) === 'DATA VIEW\nsearch-source-alert-o*';
});

await testSubjects.click('saveRuleButton');
await testSubjects.click('ruleFormStep-details');
await testSubjects.click('ruleFlyoutFooterSaveButton');

const errorElem = await testSubjects.find('esQueryAlertExpressionError');
const errorText = await errorElem.getVisibleText();
Expand All @@ -446,9 +451,10 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
return (await dataViewSelector.getVisibleText()) === `DATA VIEW\n${SOURCE_DATA_VIEW}`;
});

await testSubjects.click('saveRuleButton');
await testSubjects.click('ruleFormStep-details');
await testSubjects.click('ruleFlyoutFooterSaveButton');
await retry.try(async () => {
await testSubjects.missingOrFail('saveRuleButton');
await testSubjects.missingOrFail('ruleFlyoutFooterSaveButton');
});

await PageObjects.header.waitUntilLoadingHasFinished();
Expand Down Expand Up @@ -550,9 +556,10 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
// create an alert
await openDiscoverAlertFlyout();
await defineSearchSourceAlert('test-adhoc-alert');
await testSubjects.click('saveRuleButton');
await testSubjects.click('ruleFormStep-details');
await testSubjects.click('ruleFlyoutFooterSaveButton');
await retry.try(async () => {
await testSubjects.missingOrFail('saveRuleButton');
await testSubjects.missingOrFail('ruleFlyoutFooterSaveButton');
});
await PageObjects.header.waitUntilLoadingHasFinished();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
await pageObjects.header.waitUntilLoadingHasFinished();
await commonScreenshots.takeScreenshot('cases-action', screenshotDirectories, 1400, 1024);

const cancelEditButton = await testSubjects.find('cancelSaveEditedRuleButton');
const cancelEditButton = await testSubjects.find('ruleFlyoutFooterCancelButton');
await cancelEditButton.click();
const confirmCancelButton = await testSubjects.find('confirmModalConfirmButton');
await confirmCancelButton.click();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -195,17 +195,13 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
.expect(204, '');

const defineSearchSourceAlert = async (alertName: string) => {
await retry.waitFor('rule name value is correct', async () => {
await testSubjects.setValue('ruleNameInput', alertName);
const ruleName = await testSubjects.getAttribute('ruleNameInput', 'value');
return ruleName === alertName;
});
await testSubjects.click('thresholdPopover');
await testSubjects.setValue('alertThresholdInput0', '1');

await testSubjects.click('forLastExpression');
await testSubjects.setValue('timeWindowSizeNumber', '30');

await testSubjects.click('ruleFormStep-actions');
await retry.waitFor('actions accordion to exist', async () => {
await testSubjects.click('.index-alerting-ActionTypeSelectOption');
return await testSubjects.exists('alertActionAccordion-0');
Expand All @@ -218,6 +214,13 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
"alert_id": "{{alert.id}}",
"context_link": "{{context.link}}"
}`);

await testSubjects.click('ruleFormStep-details');
await retry.waitFor('rule name value is correct', async () => {
await testSubjects.setValue('ruleDetailsNameInput', alertName);
const ruleName = await testSubjects.getAttribute('ruleDetailsNameInput', 'value');
return ruleName === alertName;
});
};

const openDiscoverAlertFlyout = async () => {
Expand Down Expand Up @@ -458,7 +461,8 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
return (await dataViewSelector.getVisibleText()) === 'DATA VIEW\nsearch-source-alert-o*';
});

await testSubjects.click('saveRuleButton');
await testSubjects.click('ruleFormStep-details');
await testSubjects.click('ruleFlyoutFooterSaveButton');

const errorElem = await testSubjects.find('esQueryAlertExpressionError');
const errorText = await errorElem.getVisibleText();
Expand All @@ -484,9 +488,10 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
return (await dataViewSelector.getVisibleText()) === `DATA VIEW\n${SOURCE_DATA_VIEW}`;
});

await testSubjects.click('saveRuleButton');
await testSubjects.click('ruleFormStep-details');
await testSubjects.click('ruleFlyoutFooterSaveButton');
await retry.try(async () => {
await testSubjects.missingOrFail('saveRuleButton');
await testSubjects.missingOrFail('ruleFlyoutFooterSaveButton');
});

await PageObjects.header.waitUntilLoadingHasFinished();
Expand Down Expand Up @@ -594,6 +599,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
// create an alert
await openDiscoverAlertFlyout();
await defineSearchSourceAlert('test-adhoc-alert');
await testSubjects.click('ruleFormStep-details');
await testSubjects.click('saveRuleButton');
await retry.try(async () => {
await testSubjects.missingOrFail('saveRuleButton');
Expand Down Expand Up @@ -670,15 +676,11 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
await PageObjects.header.waitUntilLoadingHasFinished();

await retry.waitFor('rule name value is correct', async () => {
let ruleName;
// Rule name input is different in serverless
if (await testSubjects.exists('ruleNameInput')) {
await testSubjects.setValue('ruleNameInput', newAlert);
ruleName = await testSubjects.getAttribute('ruleNameInput', 'value');
} else {
await testSubjects.setValue('ruleDetailsNameInput', newAlert);
ruleName = await testSubjects.getAttribute('ruleDetailsNameInput', 'value');
}
await testSubjects.click('ruleFormStep-details');

await testSubjects.setValue('ruleDetailsNameInput', newAlert);
const ruleName = await testSubjects.getAttribute('ruleDetailsNameInput', 'value');

return ruleName === newAlert;
});

Expand All @@ -702,9 +704,10 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
await comboBox.set('ruleFormConsumerSelect', 'Stack Rules');
}

await testSubjects.click('ruleFormStep-details');
// Save rule button is different in serverless
if (await testSubjects.exists('saveRuleButton')) {
await testSubjects.click('saveRuleButton');
if (await testSubjects.exists('ruleFlyoutFooterSaveButton')) {
await testSubjects.click('ruleFlyoutFooterSaveButton');
} else {
await testSubjects.click('rulePageFooterSaveButton');
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -292,11 +292,14 @@ export default ({ getPageObject, getService }: FtrProviderContext) => {
await editButton.click();
expect(await testSubjects.exists('hasActionsDisabled')).toBe(false);

await testSubjects.setValue('ruleNameInput', updatedRuleName, {
await testSubjects.click('ruleFormStep-details');
await testSubjects.setValue('ruleDetailsNameInput', updatedRuleName, {
clearWithKeyboard: true,
});

await find.clickByCssSelector('[data-test-subj="saveEditedRuleButton"]:not(disabled)');
await find.clickByCssSelector(
'[data-test-subj="ruleFlyoutFooterSaveButton"]:not(disabled)'
);

await retry.try(async () => {
const resultToast = await toasts.getElementByIndex(1);
Expand All @@ -314,18 +317,20 @@ export default ({ getPageObject, getService }: FtrProviderContext) => {
const editButton = await testSubjects.find('openEditRuleFlyoutButton');
await editButton.click();

await testSubjects.setValue('ruleNameInput', uuidv4(), {
await testSubjects.click('ruleFormStep-details');
await testSubjects.setValue('ruleDetailsNameInput', uuidv4(), {
clearWithKeyboard: true,
});

await testSubjects.click('cancelSaveEditedRuleButton');
await testSubjects.click('ruleFlyoutFooterCancelButton');
await testSubjects.existOrFail('confirmRuleCloseModal');
await testSubjects.click('confirmRuleCloseModal > confirmModalConfirmButton');
await find.waitForDeletedByCssSelector('[data-test-subj="cancelSaveEditedRuleButton"]');
await find.waitForDeletedByCssSelector('[data-test-subj="ruleFlyoutFooterCancelButton"]');

await editButton.click();

const nameInputAfterCancel = await testSubjects.find('ruleNameInput');
await testSubjects.click('ruleFormStep-details');
const nameInputAfterCancel = await testSubjects.find('ruleDetailsNameInput');
const textAfterCancel = await nameInputAfterCancel.getAttribute('value');
expect(textAfterCancel).toEqual(updatedRuleName);
});
Expand Down Expand Up @@ -612,11 +617,14 @@ export default ({ getPageObject, getService }: FtrProviderContext) => {
const throttleUnitInput = await testSubjects.find('throttleUnitInput');
expect(await throttleInput.getAttribute('value')).toEqual('2');
expect(await throttleUnitInput.getAttribute('value')).toEqual('d');
await testSubjects.setValue('ruleNameInput', updatedRuleName, {
await testSubjects.click('ruleFormStep-details');
await testSubjects.setValue('ruleDetailsNameInput', updatedRuleName, {
clearWithKeyboard: true,
});

await find.clickByCssSelector('[data-test-subj="saveEditedRuleButton"]:not(disabled)');
await find.clickByCssSelector(
'[data-test-subj="ruleFlyoutFooterSaveButton"]:not(disabled)'
);

await retry.try(async () => {
const resultToast = await toasts.getElementByIndex(1);
Expand Down

0 comments on commit 42e702a

Please sign in to comment.