mirror of
https://github.com/overleaf/overleaf.git
synced 2024-12-02 08:09:08 -05:00
38 lines
996 B
TypeScript
38 lines
996 B
TypeScript
|
import { useRecaptcha } from '@/shared/hooks/use-recaptcha'
|
||
|
import * as ReactGoogleRecaptcha from 'react-google-recaptcha'
|
||
|
|
||
|
const ReCaptcha = () => {
|
||
|
const { ref: recaptchaRef, getReCaptchaToken } = useRecaptcha()
|
||
|
|
||
|
const handleClick = async () => {
|
||
|
await getReCaptchaToken()
|
||
|
}
|
||
|
|
||
|
return (
|
||
|
<>
|
||
|
<ReactGoogleRecaptcha.ReCAPTCHA
|
||
|
ref={recaptchaRef}
|
||
|
size="invisible"
|
||
|
sitekey="123456"
|
||
|
badge="inline"
|
||
|
/>
|
||
|
<button onClick={handleClick}>Click</button>
|
||
|
</>
|
||
|
)
|
||
|
}
|
||
|
|
||
|
describe('useRecaptcha', function () {
|
||
|
it('should reset the captcha', function () {
|
||
|
cy.spy(ReactGoogleRecaptcha.ReCAPTCHA.prototype, 'reset').as('resetSpy')
|
||
|
cy.spy(ReactGoogleRecaptcha.ReCAPTCHA.prototype, 'executeAsync').as(
|
||
|
'executeAsyncSpy'
|
||
|
)
|
||
|
|
||
|
cy.mount(<ReCaptcha />)
|
||
|
|
||
|
cy.findByRole('button', { name: /click/i }).click()
|
||
|
cy.get('@resetSpy').should('have.been.calledOnce')
|
||
|
cy.get('@executeAsyncSpy').should('have.been.calledOnce')
|
||
|
})
|
||
|
})
|