diff --git a/awx/ui_next/src/screens/User/UserToken/UserToken.jsx b/awx/ui_next/src/screens/User/UserToken/UserToken.jsx
index af6f0f0b16..e42a98b5a4 100644
--- a/awx/ui_next/src/screens/User/UserToken/UserToken.jsx
+++ b/awx/ui_next/src/screens/User/UserToken/UserToken.jsx
@@ -24,20 +24,16 @@ function UserToken({ i18n, setBreadcrumb, user }) {
isLoading,
error,
request: fetchToken,
- result: { token, actions },
+ result: { token },
} = useRequest(
useCallback(async () => {
- const [response, actionsResponse] = await Promise.all([
- TokensAPI.readDetail(tokenId),
- TokensAPI.readOptions(),
- ]);
+ const response = await TokensAPI.readDetail(tokenId);
setBreadcrumb(user, response.data);
return {
token: response.data,
- actions: actionsResponse.data.actions.POST,
};
}, [setBreadcrumb, user, tokenId]),
- { token: null, actions: null }
+ { token: null }
);
useEffect(() => {
fetchToken();
@@ -97,7 +93,7 @@ function UserToken({ i18n, setBreadcrumb, user }) {
/>
{token && (
-
+
)}
diff --git a/awx/ui_next/src/screens/User/UserTokenDetail/UserTokenDetail.jsx b/awx/ui_next/src/screens/User/UserTokenDetail/UserTokenDetail.jsx
index 53e8d1c742..f465ac2a1a 100644
--- a/awx/ui_next/src/screens/User/UserTokenDetail/UserTokenDetail.jsx
+++ b/awx/ui_next/src/screens/User/UserTokenDetail/UserTokenDetail.jsx
@@ -1,8 +1,7 @@
import React, { useCallback } from 'react';
-import { Link, useHistory, useParams } from 'react-router-dom';
+import { useHistory, useParams } from 'react-router-dom';
import { withI18n } from '@lingui/react';
import { t } from '@lingui/macro';
-import { Button } from '@patternfly/react-core';
import AlertModal from '../../../components/AlertModal';
import { CardBody, CardActionsRow } from '../../../components/Card';
@@ -18,7 +17,7 @@ import { formatDateString } from '../../../util/dates';
import useRequest, { useDismissableError } from '../../../util/useRequest';
import { toTitleCase } from '../../../util/strings';
-function UserTokenDetail({ token, canEditOrDelete, i18n }) {
+function UserTokenDetail({ token, i18n }) {
const {
scope,
description,
@@ -60,25 +59,14 @@ function UserTokenDetail({ token, canEditOrDelete, i18n }) {
/>
- {canEditOrDelete && (
- <>
-
-
- {i18n._(t`Delete`)}
-
- >
- )}
+
+ {i18n._(t`Delete`)}
+
{error && (
', () => {
description: 'cdfsg',
scope: 'read',
};
- test('should call api for token details and actions', async () => {
+ test('should render properly', async () => {
await act(async () => {
- wrapper = mountWithContexts(
-
- );
+ wrapper = mountWithContexts();
});
+
expect(wrapper.find('UserTokenDetail').length).toBe(1);
- });
- test('should call api for token details and actions', async () => {
- await act(async () => {
- wrapper = mountWithContexts(
-
- );
- });
expect(wrapper.find('Detail[label="Application"]').prop('value')).toBe(
'hg'
@@ -68,20 +60,9 @@ describe('', () => {
expect(wrapper.find('Button[aria-label="Edit"]').length).toBe(1);
expect(wrapper.find('Button[aria-label="Delete"]').length).toBe(1);
});
- test('should not render edit or delete buttons', async () => {
- await act(async () => {
- wrapper = mountWithContexts(
-
- );
- });
- expect(wrapper.find('Button[aria-label="Edit"]').length).toBe(0);
- expect(wrapper.find('Button[aria-label="Delete"]').length).toBe(0);
- });
test('should delete token properly', async () => {
await act(async () => {
- wrapper = mountWithContexts(
-
- );
+ wrapper = mountWithContexts();
});
await act(async () =>
wrapper.find('Button[aria-label="Delete"]').prop('onClick')()
@@ -90,7 +71,7 @@ describe('', () => {
await act(async () => wrapper.find('DeleteButton').prop('onConfirm')());
expect(TokensAPI.destroy).toBeCalledWith(2);
});
- test('should throw deletion error', async () => {
+ test('should display error on failed deletion', async () => {
TokensAPI.destroy.mockRejectedValue(
new Error({
response: {
@@ -104,9 +85,7 @@ describe('', () => {
})
);
await act(async () => {
- wrapper = mountWithContexts(
-
- );
+ wrapper = mountWithContexts();
});
await act(async () =>
wrapper.find('Button[aria-label="Delete"]').prop('onClick')()