From 03843db50e342574e7acd04fbb9045d2fe2370ca Mon Sep 17 00:00:00 2001 From: alessandrogelmi Date: Thu, 10 Oct 2024 10:37:52 +0200 Subject: [PATCH 1/6] fix: tests of PublicKeys --- .../src/__mocks__/ApiKeys.mock.ts | 2 +- .../components/IntegrazioneApi/PublicKeys.tsx | 11 +- .../IntegrazioneApi/PublicKeysTable.tsx | 13 +- .../__test__/ApiKeyModal.test.tsx | 20 ++- .../__test__/ApiKeysDataSwitch.test.tsx | 134 +++++++++++++++++- .../__test__/PublicKeysTable.test.tsx | 111 ++++++++++++++- .../__test__/ApiIntegration.page.test.tsx | 78 ++++++++++ 7 files changed, 342 insertions(+), 27 deletions(-) create mode 100644 packages/pn-personagiuridica-webapp/src/pages/__test__/ApiIntegration.page.test.tsx diff --git a/packages/pn-personagiuridica-webapp/src/__mocks__/ApiKeys.mock.ts b/packages/pn-personagiuridica-webapp/src/__mocks__/ApiKeys.mock.ts index 718dfb67c6..699c274681 100644 --- a/packages/pn-personagiuridica-webapp/src/__mocks__/ApiKeys.mock.ts +++ b/packages/pn-personagiuridica-webapp/src/__mocks__/ApiKeys.mock.ts @@ -23,7 +23,7 @@ export const publicKeys: BffPublicKeysResponse = { ], }, { - kid: '92461124-9cc2-4608-a0d4-63a98b75c8f1', + kid: '92461124-9cc2-4608-a0d4-63a98b75c8g2', issuer: 'PG-d0f52c7d-76d5-4520-8971-edffeb5b46d5', name: 'public-key-2', value: 'string', diff --git a/packages/pn-personagiuridica-webapp/src/components/IntegrazioneApi/PublicKeys.tsx b/packages/pn-personagiuridica-webapp/src/components/IntegrazioneApi/PublicKeys.tsx index d47d0c11dc..a3d6b9986d 100644 --- a/packages/pn-personagiuridica-webapp/src/components/IntegrazioneApi/PublicKeys.tsx +++ b/packages/pn-personagiuridica-webapp/src/components/IntegrazioneApi/PublicKeys.tsx @@ -3,7 +3,7 @@ import { useTranslation } from 'react-i18next'; import { Block, Delete, Sync } from '@mui/icons-material'; import { Button, InputAdornment, Stack, TextField, Typography } from '@mui/material'; -import { ApiErrorWrapper, useHasPermissions } from '@pagopa-pn/pn-commons'; +import { ApiErrorWrapper } from '@pagopa-pn/pn-commons'; import { CopyToClipboardButton } from '@pagopa/mui-italia'; import { @@ -18,7 +18,6 @@ import { deletePublicKey, getPublicKeys, } from '../../redux/apikeys/actions'; -import { PNRole } from '../../redux/auth/types'; import { useAppDispatch, useAppSelector } from '../../redux/hooks'; import { RootState } from '../../redux/store'; import ApiKeyModal from './ApiKeyModal'; @@ -57,15 +56,10 @@ const ShowCodesInput = ({ value, label }: { value: string; label: string }) => { const PublicKeys: React.FC = () => { const { t } = useTranslation(['integrazioneApi', 'common']); const dispatch = useAppDispatch(); - const currentUser = useAppSelector((state: RootState) => state.userState.user); const publicKeys = useAppSelector((state: RootState) => state.apiKeysState.publicKeys); const [modal, setModal] = useState({ view: ModalApiKeyView.NONE }); - const role = currentUser.organization?.roles ? currentUser.organization?.roles[0] : null; - const userHasAdminPermissions = useHasPermissions(role ? [role.role] : [], [PNRole.ADMIN]); - - const isAdminWithoutGroups = userHasAdminPermissions && !currentUser.hasGroup; const hasOneActiveKey = publicKeys.items.some((key) => key.status === PublicKeyStatus.Active); const handleModalClick = (view: ModalApiKeyView, publicKeyId: string) => { @@ -112,11 +106,12 @@ const PublicKeys: React.FC = () => { mb: 3, mt: 5, }} + data-testid="publicKeys" > {t('publicKeys.title')} - {isAdminWithoutGroups && !hasOneActiveKey && ( + {!hasOneActiveKey && (