Skip to content

Commit 4e5688c

Browse files
authored
ref(settings): Remove usage of deprecatedRouteProps from ApiApplications settings view (#101029)
Migrates usage of `deprecatedRouteProps` for `ApiApplications` - `sentry/views/settings/account/apiApplications`. https://www.notion.so/sentry/Frontend-TSC-Project-Remove-all-uses-of-deprecatedRouteProps-true-26a8b10e4b5d8015a6a2dd14f9d41dd7
1 parent 9babdbd commit 4e5688c

File tree

3 files changed

+14
-18
lines changed

3 files changed

+14
-18
lines changed

static/app/routes.tsx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -487,7 +487,6 @@ function buildRoutes(): RouteObject[] {
487487
component: make(
488488
() => import('sentry/views/settings/account/apiApplications')
489489
),
490-
deprecatedRouteProps: true,
491490
},
492491
{
493492
path: ':appId/',

static/app/views/settings/account/apiApplications/index.spec.tsx

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import {ApiApplicationFixture} from 'sentry-fixture/apiApplication';
22

3-
import {initializeOrg} from 'sentry-test/initializeOrg';
43
import {
54
render,
65
renderGlobalModal,
@@ -16,8 +15,6 @@ import ApiApplications from 'sentry/views/settings/account/apiApplications';
1615
jest.mock('sentry/utils/demoMode');
1716

1817
describe('ApiApplications', () => {
19-
const {routerProps, router} = initializeOrg({router: {params: {}}});
20-
2118
beforeEach(() => {
2219
MockApiClient.clearMockResponses();
2320
});
@@ -28,7 +25,7 @@ describe('ApiApplications', () => {
2825
body: [],
2926
});
3027

31-
render(<ApiApplications {...routerProps} />);
28+
render(<ApiApplications />);
3229
await waitForElementToBeRemoved(() => screen.queryByTestId('loading-indicator'));
3330

3431
expect(
@@ -42,7 +39,7 @@ describe('ApiApplications', () => {
4239
body: [ApiApplicationFixture()],
4340
});
4441

45-
render(<ApiApplications {...routerProps} />);
42+
render(<ApiApplications />);
4643
await waitForElementToBeRemoved(() => screen.queryByTestId('loading-indicator'));
4744

4845
expect(requestMock).toHaveBeenCalled();
@@ -58,7 +55,7 @@ describe('ApiApplications', () => {
5855
body: [ApiApplicationFixture()],
5956
});
6057

61-
render(<ApiApplications {...routerProps} />);
58+
render(<ApiApplications />);
6259

6360
expect(
6461
await screen.findByText("You haven't created any applications yet.")
@@ -80,7 +77,7 @@ describe('ApiApplications', () => {
8077
method: 'POST',
8178
});
8279

83-
render(<ApiApplications {...routerProps} />);
80+
const {router} = render(<ApiApplications />);
8481
await waitForElementToBeRemoved(() => screen.queryByTestId('loading-indicator'));
8582

8683
await userEvent.click(screen.getByLabelText('Create New Application'));
@@ -91,8 +88,11 @@ describe('ApiApplications', () => {
9188
);
9289

9390
await waitFor(() => {
94-
expect(router.push).toHaveBeenLastCalledWith(
95-
'/settings/account/api/applications/234/'
91+
expect(router.location).toEqual(
92+
expect.objectContaining({
93+
pathname: '/settings/account/api/applications/234/',
94+
query: {},
95+
})
9696
);
9797
});
9898
});
@@ -108,7 +108,7 @@ describe('ApiApplications', () => {
108108
method: 'DELETE',
109109
});
110110

111-
render(<ApiApplications {...routerProps} />);
111+
render(<ApiApplications />);
112112
renderGlobalModal();
113113
await waitForElementToBeRemoved(() => screen.queryByTestId('loading-indicator'));
114114

static/app/views/settings/account/apiApplications/index.tsx

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,21 +13,20 @@ import PanelHeader from 'sentry/components/panels/panelHeader';
1313
import SentryDocumentTitle from 'sentry/components/sentryDocumentTitle';
1414
import {IconAdd} from 'sentry/icons';
1515
import {t} from 'sentry/locale';
16-
import type {RouteComponentProps} from 'sentry/types/legacyReactRouter';
1716
import type {ApiApplication} from 'sentry/types/user';
1817
import {isDemoModeActive} from 'sentry/utils/demoMode';
1918
import {setApiQueryData, useApiQuery, useQueryClient} from 'sentry/utils/queryClient';
2019
import useApi from 'sentry/utils/useApi';
20+
import {useNavigate} from 'sentry/utils/useNavigate';
2121
import Row from 'sentry/views/settings/account/apiApplications/row';
2222
import SettingsPageHeader from 'sentry/views/settings/components/settingsPageHeader';
2323

2424
const ROUTE_PREFIX = '/settings/account/api/';
2525

26-
type Props = RouteComponentProps;
27-
28-
function ApiApplications({router}: Props) {
26+
export default function ApiApplications() {
2927
const api = useApi();
3028
const queryClient = useQueryClient();
29+
const navigate = useNavigate();
3130

3231
const ENDPOINT = '/api-applications/';
3332

@@ -58,7 +57,7 @@ function ApiApplications({router}: Props) {
5857
});
5958

6059
addSuccessMessage(t('Created a new API Application'));
61-
router.push(`${ROUTE_PREFIX}applications/${app.id}/`);
60+
navigate(`${ROUTE_PREFIX}applications/${app.id}/`);
6261
} catch {
6362
addErrorMessage(t('Unable to remove application. Please try again.'));
6463
}
@@ -104,5 +103,3 @@ function ApiApplications({router}: Props) {
104103
</SentryDocumentTitle>
105104
);
106105
}
107-
108-
export default ApiApplications;

0 commit comments

Comments
 (0)