Use OR operator for status filters (#138622)

Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
This commit is contained in:
Kevin Delemme 2022-08-16 10:53:33 -04:00 committed by GitHub
parent 387469be14
commit 08210170bd
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 27 additions and 23 deletions

View file

@ -97,7 +97,7 @@ describe('mapFiltersToKueryNode', () => {
).toEqual(
toElasticsearchQuery(
fromKueryExpression(
`alert.attributes.enabled: true and
`alert.attributes.enabled: true or
(alert.attributes.muteAll: true OR alert.attributes.snoozeSchedule: { duration > 0 })`
)
)
@ -112,7 +112,7 @@ describe('mapFiltersToKueryNode', () => {
).toEqual(
toElasticsearchQuery(
fromKueryExpression(
`alert.attributes.enabled: false and
`alert.attributes.enabled: false or
(alert.attributes.muteAll: true OR alert.attributes.snoozeSchedule: { duration > 0 })`
)
)
@ -127,8 +127,8 @@ describe('mapFiltersToKueryNode', () => {
).toEqual(
toElasticsearchQuery(
fromKueryExpression(
`alert.attributes.enabled: true and
alert.attributes.enabled: false and
`alert.attributes.enabled: true or
alert.attributes.enabled: false or
(alert.attributes.muteAll: true OR alert.attributes.snoozeSchedule: { duration > 0 })`
)
)

View file

@ -72,7 +72,8 @@ export const mapFiltersToKueryNode = ({
if (ruleStatusesFilter.includes('snoozed')) {
ruleStatusesFilterKueryNode.push(snoozedFilter);
}
filterKueryNode.push(nodeBuilder.and(ruleStatusesFilterKueryNode));
filterKueryNode.push(nodeBuilder.or(ruleStatusesFilterKueryNode));
}
if (tagsFilter && tagsFilter.length) {

View file

@ -572,34 +572,33 @@ export default ({ getPageObjects, getService }: FtrProviderContext) => {
supertest,
objectRemover,
});
const disabledAlert = await createAlert({
supertest,
objectRemover,
});
const snoozedAlert = await createAlert({
supertest,
objectRemover,
});
const snoozedAndDisabledAlert = await createAlert({
supertest,
objectRemover,
});
await disableAlert({
supertest,
alertId: disabledAlert.id,
});
const snoozedAlert = await createAlert({
supertest,
objectRemover,
});
await snoozeAlert({
supertest,
alertId: snoozedAlert.id,
});
const snoozedAndDisabledAlert = await createAlert({
supertest,
objectRemover,
});
await snoozeAlert({
supertest,
alertId: snoozedAndDisabledAlert.id,
});
await disableAlert({
supertest,
alertId: snoozedAndDisabledAlert.id,
@ -608,33 +607,37 @@ export default ({ getPageObjects, getService }: FtrProviderContext) => {
await refreshAlertsList();
await assertRulesLength(4);
// Select enabled
// Select only enabled
await testSubjects.click('ruleStatusFilterButton');
await testSubjects.click('ruleStatusFilterOption-enabled');
await find.waitForDeletedByCssSelector('.euiBasicTable-loading');
await assertRulesLength(2);
// Select disabled
await testSubjects.click('ruleStatusFilterOption-enabled');
// Select enabled or disabled (e.g. all)
await testSubjects.click('ruleStatusFilterOption-disabled');
await find.waitForDeletedByCssSelector('.euiBasicTable-loading');
await assertRulesLength(4);
// Select only disabled
await testSubjects.click('ruleStatusFilterOption-enabled');
await find.waitForDeletedByCssSelector('.euiBasicTable-loading');
await assertRulesLength(2);
// Select snoozed
// Select only snoozed
await testSubjects.click('ruleStatusFilterOption-disabled');
await testSubjects.click('ruleStatusFilterOption-snoozed');
await find.waitForDeletedByCssSelector('.euiBasicTable-loading');
await assertRulesLength(2);
// Select disabled and snoozed
// Select disabled or snoozed
await testSubjects.click('ruleStatusFilterOption-disabled');
await find.waitForDeletedByCssSelector('.euiBasicTable-loading');
await assertRulesLength(1);
await assertRulesLength(3);
// Select all 4
// Select enabled or disabled or snoozed
await testSubjects.click('ruleStatusFilterOption-enabled');
await find.waitForDeletedByCssSelector('.euiBasicTable-loading');
await assertRulesLength(0);
await assertRulesLength(4);
});
it('should filter alerts by the tag', async () => {