mirror of
https://github.com/grafana/grafana.git
synced 2026-09-05 04:40:13 -05:00
Navigation: share logic between buildBreadcrumbs and usePageTitle (#58819)
* simplify usePageTitle logic a bit * use buildBreadcrumbs logic in usePageTitle * always add home item to navTree, fix some tests * fix remaining unit tests
This commit is contained in:
@@ -1,10 +1,12 @@
|
||||
import { fireEvent, render, screen, waitFor } from '@testing-library/react';
|
||||
import userEvent from '@testing-library/user-event';
|
||||
import React from 'react';
|
||||
import { Provider } from 'react-redux';
|
||||
|
||||
import config from 'app/core/config';
|
||||
|
||||
import { backendSrv } from '../../core/services/backend_srv';
|
||||
import { configureStore } from '../../store/configureStore';
|
||||
|
||||
import { Props, ChangePasswordPage } from './ChangePasswordPage';
|
||||
import { initialUserState } from './state/reducers';
|
||||
@@ -26,6 +28,7 @@ const defaultProps: Props = {
|
||||
};
|
||||
|
||||
async function getTestContext(overrides: Partial<Props> = {}) {
|
||||
const store = configureStore();
|
||||
jest.clearAllMocks();
|
||||
jest.spyOn(backendSrv, 'get').mockResolvedValue({
|
||||
id: 1,
|
||||
@@ -38,7 +41,11 @@ async function getTestContext(overrides: Partial<Props> = {}) {
|
||||
});
|
||||
|
||||
const props = { ...defaultProps, ...overrides };
|
||||
const { rerender } = render(<ChangePasswordPage {...props} />);
|
||||
const { rerender } = render(
|
||||
<Provider store={store}>
|
||||
<ChangePasswordPage {...props} />
|
||||
</Provider>
|
||||
);
|
||||
|
||||
await waitFor(() => expect(props.loadUser).toHaveBeenCalledTimes(1));
|
||||
|
||||
|
||||
@@ -2,12 +2,14 @@ import { within } from '@testing-library/dom';
|
||||
import { render, screen, waitFor } from '@testing-library/react';
|
||||
import userEvent, { PointerEventsCheckLevel } from '@testing-library/user-event';
|
||||
import React from 'react';
|
||||
import { Provider } from 'react-redux';
|
||||
|
||||
import { OrgRole } from '@grafana/data';
|
||||
import { selectors } from '@grafana/e2e-selectors';
|
||||
|
||||
import TestProvider from '../../../test/helpers/TestProvider';
|
||||
import { backendSrv } from '../../core/services/backend_srv';
|
||||
import { configureStore } from '../../store/configureStore';
|
||||
import { TeamPermissionLevel } from '../../types';
|
||||
|
||||
import { Props, UserProfileEditPage } from './UserProfileEditPage';
|
||||
@@ -96,6 +98,7 @@ function getSelectors() {
|
||||
}
|
||||
|
||||
async function getTestContext(overrides: Partial<Props> = {}) {
|
||||
const store = configureStore();
|
||||
jest.clearAllMocks();
|
||||
const putSpy = jest.spyOn(backendSrv, 'put');
|
||||
const getSpy = jest
|
||||
@@ -105,9 +108,11 @@ async function getTestContext(overrides: Partial<Props> = {}) {
|
||||
|
||||
const props = { ...defaultProps, ...overrides };
|
||||
const { rerender } = render(
|
||||
<TestProvider>
|
||||
<UserProfileEditPage {...props} />
|
||||
</TestProvider>
|
||||
<Provider store={store}>
|
||||
<TestProvider>
|
||||
<UserProfileEditPage {...props} />
|
||||
</TestProvider>
|
||||
</Provider>
|
||||
);
|
||||
|
||||
await waitFor(() => expect(props.initUserProfilePage).toHaveBeenCalledTimes(1));
|
||||
|
||||
Reference in New Issue
Block a user