From cbe438e70444d58a8b4772b50015aeb7e7233e16 Mon Sep 17 00:00:00 2001 From: Monte Lai Date: Tue, 25 Apr 2023 21:33:43 +0800 Subject: [PATCH] Update keystone links (#18792) * update keystone links * update tests * fix lint --- app/_locales/en/messages.json | 3 ++ shared/constants/hardware-wallets.ts | 2 +- .../connect-hardware/index.test.tsx | 47 +++++++++++++++---- .../connect-hardware/select-hardware.js | 4 +- 4 files changed, 43 insertions(+), 13 deletions(-) diff --git a/app/_locales/en/messages.json b/app/_locales/en/messages.json index 9330d0a95..1e4675388 100644 --- a/app/_locales/en/messages.json +++ b/app/_locales/en/messages.json @@ -1970,6 +1970,9 @@ "message": "Want to $1 about gas?", "description": "$1 will be replaced by the learnMore translation key" }, + "learnMoreKeystone": { + "message": "Learn More" + }, "learnMoreUpperCase": { "message": "Learn more" }, diff --git a/shared/constants/hardware-wallets.ts b/shared/constants/hardware-wallets.ts index 4f549aa2f..9f5d6ba89 100644 --- a/shared/constants/hardware-wallets.ts +++ b/shared/constants/hardware-wallets.ts @@ -33,7 +33,7 @@ export enum HardwareAffiliateLinks { ledger = 'https://shop.ledger.com/?r=17c4991a03fa', gridplus = 'https://gridplus.io/?afmc=7p', trezor = 'https://shop.trezor.io/product/trezor-one-black?offer_id=35&aff_id=11009', - keystone = 'https://shop.keyst.one/?rfsn=6088257.656b3e9&utm_source=refersion&utm_medium=affiliate&utm_campaign=6088257.656b3e9', + keystone = 'https://keyst.one/metamask?rfsn=6088257.656b3e9&utm_source=refersion&utm_medium=affiliate&utm_campaign=6088257.656b3e9', airgap = 'https://airgap.it/', coolwallet = 'https://www.coolwallet.io/', dcent = 'https://dcentwallet.com/', diff --git a/ui/pages/create-account/connect-hardware/index.test.tsx b/ui/pages/create-account/connect-hardware/index.test.tsx index 770782462..e6f0e6538 100644 --- a/ui/pages/create-account/connect-hardware/index.test.tsx +++ b/ui/pages/create-account/connect-hardware/index.test.tsx @@ -18,25 +18,32 @@ jest.mock('../../../store/actions', () => ({ })); jest.mock('../../../selectors', () => ({ - getCurrentChainId: () => jest.fn().mockResolvedValue('0x1'), - getRpcPrefsForCurrentProvider: () => jest.fn().mockResolvedValue({}), - getMetaMaskAccountsConnected: () => jest.fn().mockResolvedValue([]), - getMetaMaskAccounts: () => jest.fn().mockResolvedValue([]), + getCurrentChainId: () => '0x1', + getRpcPrefsForCurrentProvider: () => { + return {}; + }, + getMetaMaskAccountsConnected: () => [], + getMetaMaskAccounts: () => { + return {}; + }, })); jest.mock('../../../ducks/history/history', () => ({ - getMostRecentOverviewPage: () => jest.fn().mockResolvedValue('/'), + getMostRecentOverviewPage: () => '', })); +const mockTrackEvent = jest.fn(); + const mockProps = { - forgetDevice: jest.fn(), - showAlert: jest.fn(), - hideAlert: jest.fn(), - unlockHardwareWalletAccount: jest.fn(), - setHardwareWalletDefaultHdPath: jest.fn(), + forgetDevice: () => jest.fn(), + showAlert: () => jest.fn(), + hideAlert: () => jest.fn(), + unlockHardwareWalletAccount: () => jest.fn(), + setHardwareWalletDefaultHdPath: () => jest.fn(), history: {}, defaultHdPath: "m/44'/60'/0'/0", mostRecentOverviewPage: '', + trackEvent: () => mockTrackEvent, }; const mockState = { @@ -148,4 +155,24 @@ describe('ConnectHardwareForm', () => { }); }); }); + + describe('QR Hardware Wallet Steps', () => { + it('should render the QR hardware wallet steps', async () => { + const { getByText, getByLabelText } = renderWithProvider( + , + mockStore, + ); + + const qrButton = getByLabelText('QRCode'); + + fireEvent.click(qrButton); + + await waitFor(() => { + expect(getByText('Keystone')).toBeInTheDocument(); + expect(getByText('AirGap Vault')).toBeInTheDocument(); + expect(getByText('CoolWallet')).toBeInTheDocument(); + expect(getByText("D'Cent")).toBeInTheDocument(); + }); + }); + }); }); diff --git a/ui/pages/create-account/connect-hardware/select-hardware.js b/ui/pages/create-account/connect-hardware/select-hardware.js index 9cb027eb9..0ef02d051 100644 --- a/ui/pages/create-account/connect-hardware/select-hardware.js +++ b/ui/pages/create-account/connect-hardware/select-hardware.js @@ -431,12 +431,12 @@ export default class SelectHardware extends Component { onClick={() => { this.context.trackEvent({ category: MetaMetricsEventCategory.Navigation, - event: 'Clicked Keystone Buy Now', + event: 'Clicked Keystone Learn More', }); openWindow(HardwareAffiliateLinks.keystone); }} > - {this.context.t('buyNow')} + {this.context.t('learnMoreKeystone')}