diff --git a/ui/components/app/confirm-page-container/confirm-page-container-content/confirm-page-container-content.component.test.js b/ui/components/app/confirm-page-container/confirm-page-container-content/confirm-page-container-content.component.test.js index ed13a3987295..b8d55a8ebabc 100644 --- a/ui/components/app/confirm-page-container/confirm-page-container-content/confirm-page-container-content.component.test.js +++ b/ui/components/app/confirm-page-container/confirm-page-container-content/confirm-page-container-content.component.test.js @@ -47,6 +47,13 @@ describe('Confirm Page Container Content', () => { disabled: true, origin: 'http://localhost:4200', hideTitle: false, + txData: { + securityProviderResponse: { + flagAsDangerous: undefined, + reason: 'Some reason...', + reason_header: 'Some reason header...', + }, + }, }; }); @@ -126,4 +133,40 @@ describe('Confirm Page Container Content', () => { expect(queryByText('Address Book Account 1')).not.toBeInTheDocument(); }); + + it('should render SecurityProviderBannerMessage component properly', () => { + const { queryByText } = renderWithProvider( + , + store, + ); + + expect(queryByText('Request not verified')).toBeInTheDocument(); + expect( + queryByText( + 'Because of an error, this request was not verified by the security provider. Proceed with caution.', + ), + ).toBeInTheDocument(); + expect( + queryByText('This is based on information from'), + ).toBeInTheDocument(); + }); + + it('should not render SecurityProviderBannerMessage component when flagAsDangerous is 0', () => { + props.txData.securityProviderResponse = { + flagAsDangerous: 0, + }; + + const { queryByText } = renderWithProvider( + , + store, + ); + + expect(queryByText('Request not verified')).toBeNull(); + expect( + queryByText( + 'Because of an error, this request was not verified by the security provider. Proceed with caution.', + ), + ).toBeNull(); + expect(queryByText('This is based on information from')).toBeNull(); + }); }); diff --git a/ui/components/app/signature-request-original/signature-request-original.test.js b/ui/components/app/signature-request-original/signature-request-original.test.js index 5f7e04c93fac..071878a3222d 100644 --- a/ui/components/app/signature-request-original/signature-request-original.test.js +++ b/ui/components/app/signature-request-original/signature-request-original.test.js @@ -49,6 +49,11 @@ const props = { origin: 'https://happydapp.website/governance?futarchy=true', }, type: MESSAGE_TYPE.ETH_SIGN, + securityProviderResponse: { + flagAsDangerous: undefined, + reason: 'Some reason...', + reason_header: 'Some reason header...', + }, }, }; @@ -115,4 +120,32 @@ describe('SignatureRequestOriginal', () => { expect(getByText('Message \\u202E test:')).toBeInTheDocument(); expect(getByText('Hi, \\u202E Alice!')).toBeInTheDocument(); }); + + it('should render SecurityProviderBannerMessage component properly', () => { + render(); + expect(screen.getByText('Request not verified')).toBeInTheDocument(); + expect( + screen.getByText( + 'Because of an error, this request was not verified by the security provider. Proceed with caution.', + ), + ).toBeInTheDocument(); + expect( + screen.getByText('This is based on information from'), + ).toBeInTheDocument(); + }); + + it('should not render SecurityProviderBannerMessage component when flagAsDangerous is 0', () => { + props.txData.securityProviderResponse = { + flagAsDangerous: 0, + }; + + render(); + expect(screen.queryByText('Request not verified')).toBeNull(); + expect( + screen.queryByText( + 'Because of an error, this request was not verified by the security provider. Proceed with caution.', + ), + ).toBeNull(); + expect(screen.queryByText('This is based on information from')).toBeNull(); + }); }); diff --git a/ui/components/app/signature-request/signature-request.component.test.js b/ui/components/app/signature-request/signature-request.component.test.js index 5a26ba073942..f479a6456359 100644 --- a/ui/components/app/signature-request/signature-request.component.test.js +++ b/ui/components/app/signature-request/signature-request.component.test.js @@ -275,5 +275,87 @@ describe('Signature Request Component', () => { expect(getByText('Reject 2 requests')).toBeInTheDocument(); }); + + it('should render SecurityProviderBannerMessage component properly', () => { + const msgParams = { + data: JSON.stringify(messageData), + version: 'V4', + origin: 'test', + }; + + const { queryByText } = renderWithProvider( + undefined} + cancel={() => undefined} + cancelAll={() => undefined} + mostRecentOverviewPage="/" + showRejectTransactionsConfirmationModal={() => undefined} + history={{ push: '/' }} + sign={() => undefined} + txData={{ + msgParams, + securityProviderResponse: { + flagAsDangerous: undefined, + reason: 'Some reason...', + reason_header: 'Some reason header...', + }, + }} + fromAccount={{ address: fromAddress }} + provider={{ type: 'rpc' }} + unapprovedMessagesCount={2} + />, + store, + ); + + expect(queryByText('Request not verified')).toBeInTheDocument(); + expect( + queryByText( + 'Because of an error, this request was not verified by the security provider. Proceed with caution.', + ), + ).toBeInTheDocument(); + expect( + queryByText('This is based on information from'), + ).toBeInTheDocument(); + }); + + it('should not render SecurityProviderBannerMessage component when flagAsDangerous is 0', () => { + const msgParams = { + data: JSON.stringify(messageData), + version: 'V4', + origin: 'test', + }; + + const { queryByText } = renderWithProvider( + undefined} + cancel={() => undefined} + cancelAll={() => undefined} + mostRecentOverviewPage="/" + showRejectTransactionsConfirmationModal={() => undefined} + history={{ push: '/' }} + sign={() => undefined} + txData={{ + msgParams, + securityProviderResponse: { + flagAsDangerous: 0, + }, + }} + fromAccount={{ address: fromAddress }} + provider={{ type: 'rpc' }} + unapprovedMessagesCount={2} + />, + store, + ); + + expect(queryByText('Request not verified')).toBeNull(); + expect( + queryByText( + 'Because of an error, this request was not verified by the security provider. Proceed with caution.', + ), + ).toBeNull(); + expect(queryByText('This is based on information from')).toBeNull(); + }); }); });