diff --git a/public/app/features/admin/ServerStats.test.tsx b/public/app/features/admin/ServerStats.test.tsx index 7ddcde97f99..cfe42db210e 100644 --- a/public/app/features/admin/ServerStats.test.tsx +++ b/public/app/features/admin/ServerStats.test.tsx @@ -1,6 +1,6 @@ import React from 'react'; import { render, screen } from '@testing-library/react'; -import { ServerStats, Props } from './ServerStats'; +import { ServerStats } from './ServerStats'; import { ServerStat } from './state/apis'; const stats: ServerStat = { @@ -23,21 +23,13 @@ const stats: ServerStat = { viewers: 2, }; -const getServerStats = () => { - return Promise.resolve(stats); -}; +jest.mock('./state/apis', () => ({ + getServerStats: async () => stats, +})); -const setup = (propOverrides?: Partial) => { - const props: Props = { - getServerStats, - }; - Object.assign(props, propOverrides); - - render(); -}; describe('ServerStats', () => { it('Should render page with stats', async () => { - setup(); + render(); expect(await screen.findByRole('heading', { name: /instance statistics/i })).toBeInTheDocument(); expect(screen.getByText('Dashboards (starred)')).toBeInTheDocument(); expect(screen.getByText('Tags')).toBeInTheDocument(); diff --git a/public/app/features/admin/ServerStats.tsx b/public/app/features/admin/ServerStats.tsx index 81204802a2c..5f4529ec912 100644 --- a/public/app/features/admin/ServerStats.tsx +++ b/public/app/features/admin/ServerStats.tsx @@ -1,20 +1,13 @@ import React, { useEffect, useState } from 'react'; -import { hot } from 'react-hot-loader'; -import { connect } from 'react-redux'; import { css } from '@emotion/css'; import { CardContainer, LinkButton, useStyles2 } from '@grafana/ui'; import { GrafanaTheme2 } from '@grafana/data'; -import { AccessControlAction, StoreState } from 'app/types'; -import { getNavModel } from 'app/core/selectors/navModel'; +import { AccessControlAction } from 'app/types'; import { getServerStats, ServerStat } from './state/apis'; import { contextSrv } from '../../core/services/context_srv'; import { Loader } from '../plugins/admin/components/Loader'; -export interface Props { - getServerStats: () => Promise; -} - -export const ServerStats = ({ getServerStats }: Props) => { +export const ServerStats = () => { const [stats, setStats] = useState(null); const [isLoading, setIsLoading] = useState(true); const styles = useStyles2(getStyles); @@ -24,7 +17,7 @@ export const ServerStats = ({ getServerStats }: Props) => { setStats(stats); setIsLoading(false); }); - }, [getServerStats]); + }, []); if (!contextSrv.hasPermission(AccessControlAction.ActionServerStatsRead)) { return null; @@ -131,11 +124,6 @@ const getStyles = (theme: GrafanaTheme2) => { }; }; -const mapStateToProps = (state: StoreState) => ({ - navModel: getNavModel(state.navIndex, 'server-stats'), - getServerStats, -}); - type StatCardProps = { content: Array>; footer?: JSX.Element; @@ -184,4 +172,3 @@ const getCardStyles = (theme: GrafanaTheme2) => { `, }; }; -export default hot(module)(connect(mapStateToProps)(ServerStats)); diff --git a/public/app/features/admin/UpgradePage.tsx b/public/app/features/admin/UpgradePage.tsx index b963cb0664e..c50ae813dfd 100644 --- a/public/app/features/admin/UpgradePage.tsx +++ b/public/app/features/admin/UpgradePage.tsx @@ -8,7 +8,7 @@ import Page from '../../core/components/Page/Page'; import { getNavModel } from '../../core/selectors/navModel'; import { LicenseChrome } from './LicenseChrome'; import { StoreState } from '../../types'; -import ServerStats from './ServerStats'; +import { ServerStats } from './ServerStats'; interface Props { navModel: NavModel;