Changeset View
Changeset View
Standalone View
Standalone View
web/cashtab/src/components/Common/__tests__/QRCode.test.js
import React from 'react'; | import React from 'react'; | ||||
import { render, fireEvent, act } from '@testing-library/react'; | import { render, fireEvent, act } from '@testing-library/react'; | ||||
import { QRCode } from '../QRCode'; | import { QRCode } from '../QRCode'; | ||||
import { ThemeProvider } from 'styled-components'; | import { ThemeProvider } from 'styled-components'; | ||||
import { theme } from '@assets/styles/theme'; | import { theme } from '@assets/styles/theme'; | ||||
describe('<QRCode />', () => { | describe('<QRCode />', () => { | ||||
jest.useFakeTimers(); | jest.useFakeTimers(); | ||||
it('QRCode copying cash address', async () => { | it('QRCode copying ecash address', async () => { | ||||
const OnClick = jest.fn(); | const OnClick = jest.fn(); | ||||
const { container } = render( | const { container } = render( | ||||
<ThemeProvider theme={theme}> | <ThemeProvider theme={theme}> | ||||
<QRCode | <QRCode | ||||
pixelRatio={25} | pixelRatio={25} | ||||
onClick={OnClick} | onClick={OnClick} | ||||
address="bitcoincash:qqyumjtrftl5yfdwuglhq6l9af2ner39jq6z6ja5zp" | address="ecash:qqyumjtrftl5yfdwuglhq6l9af2ner39jqr0wexwyk" | ||||
legacy={true} | legacy={true} | ||||
/> | /> | ||||
</ThemeProvider>, | </ThemeProvider>, | ||||
); | ); | ||||
const qrCodeElement = container.querySelector('#borderedQRCode'); | const qrCodeElement = container.querySelector('#borderedQRCode'); | ||||
fireEvent.click(qrCodeElement); | fireEvent.click(qrCodeElement); | ||||
act(() => { | act(() => { | ||||
jest.runAllTimers(); | jest.runAllTimers(); | ||||
}); | }); | ||||
expect(OnClick).toHaveBeenCalled(); | expect(OnClick).toHaveBeenCalled(); | ||||
expect(setTimeout).toHaveBeenCalled(); | expect(setTimeout).toHaveBeenCalled(); | ||||
}); | }); | ||||
it('QRCode copying SLP address', () => { | it('QRCode copying eToken address', () => { | ||||
const OnClick = jest.fn(); | const OnClick = jest.fn(); | ||||
const { container } = render( | const { container } = render( | ||||
<ThemeProvider theme={theme}> | <ThemeProvider theme={theme}> | ||||
<QRCode | <QRCode | ||||
pixelRatio={25} | pixelRatio={25} | ||||
onClick={OnClick} | onClick={OnClick} | ||||
address="simpleledger:qqyumjtrftl5yfdwuglhq6l9af2ner39jq6z6ja5zp" | address="etoken:qqyumjtrftl5yfdwuglhq6l9af2ner39jqd38msfqp" | ||||
legacy={true} | legacy={true} | ||||
/> | /> | ||||
</ThemeProvider>, | </ThemeProvider>, | ||||
); | ); | ||||
const qrCodeElement = container.querySelector('#borderedQRCode'); | const qrCodeElement = container.querySelector('#borderedQRCode'); | ||||
fireEvent.click(qrCodeElement); | fireEvent.click(qrCodeElement); | ||||
expect(OnClick).toHaveBeenCalled(); | expect(OnClick).toHaveBeenCalled(); | ||||
}); | }); | ||||
Show All 14 Lines |