kibana/x-pack/test_serverless/functional/services/ml/security_navigation.ts
Tim Sullivan ee74bb4e65
Reorganize footer items for Solutions (#218050)
## Summary

Epic: https://github.com/elastic/kibana-team/issues/1439
~Depends on https://github.com/elastic/kibana/pull/218156~

Addresses footer issues and a few content issues


https://github.com/user-attachments/assets/07063aa7-8a49-4cb5-9fd2-a6e1cbd674b7


1. Footer item texts should not be bold
2. We should have the spacing of regular nav sub-items in the footer

Other fixes:
1. Fix text casing in "Machine Learning" (Note: [other casing issues
exist](https://github.com/elastic/kibana/issues/217352))
2. Remove `recentlyAccessed` sections

### Checklist

Check the PR satisfies following conditions. 

Reviewers should verify this PR satisfies this list as well.

- [x] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/src/platform/packages/shared/kbn-i18n/README.md)
- [x] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
2025-05-02 07:51:10 -07:00

51 lines
2 KiB
TypeScript

/*
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
* or more contributor license agreements. Licensed under the Elastic License
* 2.0; you may not use this file except in compliance with the Elastic License
* 2.0.
*/
import { FtrProviderContext } from '../../ftr_provider_context';
export function MachineLearningNavigationProviderSecurity({
getService,
getPageObject,
}: FtrProviderContext) {
const testSubjects = getService('testSubjects');
const svlCommonNavigation = getPageObject('svlCommonNavigation');
const retry = getService('retry');
async function navigateToArea(id: string, expectedTestSubject: string) {
await svlCommonNavigation.sidenav.openSection(
'security_solution_nav_footer.category-management'
);
await retry.tryForTime(5 * 1000, async () => {
await svlCommonNavigation.sidenav.clickLink({ navId: 'stack_management' });
await svlCommonNavigation.sidenav.clickPanelLink(id);
await testSubjects.existOrFail(expectedTestSubject, { timeout: 2500 });
});
}
return {
async navigateToAnomalyDetection() {
await navigateToArea('management:anomaly_detection', 'ml-jobs-list');
},
async navigateToDataFrameAnalytics() {
await navigateToArea('management:analytics', 'mlAnalyticsJobList');
},
async navigateToTrainedModels() {
await navigateToArea('management:trained_models', 'mlTrainedModelsList');
},
async navigateToMemoryUsage() {
await navigateToArea('management:overview', 'mlStackManagementOverviewPage');
await testSubjects.existOrFail('mlMemoryUsagePanel', { timeout: 2500 });
},
async navigateToNotifications() {
await navigateToArea('management:overview', 'mlStackManagementOverviewPage');
await retry.tryForTime(5 * 1000, async () => {
await testSubjects.click('mlManagementOverviewPageTabs notifications');
await testSubjects.existOrFail('mlNotificationsTable loaded');
});
},
};
}